Linux基础指令(2)

4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

 元数据定义:
     数据(Metadata),又称中介数据、中继数据,为描述 数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
 可用命令stat查看文件的元数据
 stat:
 功能说明:显示inode内容。
 语  法:stat FILE
-bash-4.1# stat a.c File: a.cSize: 41              Blocks: 8          IO Block: 4096  regular fileDevice: fh/15d  Inode: 1808648     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-09 23:38:06.000000000Modify: 2016-11-09 23:38:05.000000000Change: 2016-11-09 23:38:05.000000000
修改文件时间戳信息
命令:touch
   touch命令一般用来修改文件的时间,或者新建一个不存在的文件.
语法如下: 
touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)
参数说明:
-a 修改文件 file 的存取时间.
-c 不创建文件 file.
-m 修改文件 file 的修改时间
-r ref_file 将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
-t time 使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.
 例子:
 touch a.txt 更新a.txt的存取和修改时间
-bash-4.1# touch a.txt-bash-4.1# stat a.txt  File: a.txt  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fh/15d  Inode: 1847885     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-10 00:08:44.000000000Modify: 2016-11-10 00:08:44.000000000Change: 2016-11-10 00:08:44.000000000
 touch -c a.txt   不创建文件
-bash-4.1# touch -c b.txt-bash-4.1# lsa.c    a.txt
 touch -r b.txt a.txt 更新a.txt的时间戳和b.txt相同
-bash-4.1# stat b.txt   File: b.txt  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fh/15d  Inode: 1849094     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-10 00:13:02.000000000Modify: 2016-11-10 00:13:02.000000000Change: 2016-11-10 00:13:02.000000000-bash-4.1# stat a.txt   File: a.txt  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fh/15d  Inode: 1847885     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-10 00:10:29.000000000Modify: 2016-11-10 00:10:29.000000000Change: 2016-11-10 00:10:29.000000000-bash-4.1# touch -r b.txt a.txt -bash-4.1# stat b.txt   File: b.txt  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fh/15d  Inode: 1849094     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-10 00:13:02.000000000Modify: 2016-11-10 00:13:02.000000000Change: 2016-11-10 00:13:02.000000000
touch -t 162011011134.03 b.txt 设定文件的时间
-bash-4.1# touch -t 201611011134.03 b.txt -bash-4.1# stat b.txt   File: b.txt  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fh/15d  Inode: 1849094     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-11-01 11:34:03.000000000Modify: 2016-11-01 11:34:03.000000000Change: 2016-11-10 00:24:56.000000000

5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

 命令别名:获取所有别名的定义 alias
-bash-4.1# alias ll='ls -l'-bash-4.1# aliasalias ll='ls -l'
-bash-4.1# stat b.txt|grep 2016Access: 2016-11-01 11:34:03.000000000Modify: 2016-11-01 11:34:03.000000000Change: 2016-11-10 00:24:56.000000000

6.显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字的文件或目录

ls -d /var/l*[0-9]*[[:lower:]]

7.显示/etc目录下,以任意数字开头,且以非数字结尾的文件或目录

ls -d /etc/[0-9]*[^0-9]

8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

ls -d /etc/[^a-z][a-z]*

9.在/tmp目录下创建以tfile开头,后面跟当前日期和时间的文件,文件名形:tfile-2016-05-27-09-32-22

   mkdir /tmp/tfile-$(date "+%Y-%M-%d-%H-%M")

10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

  cp /etc/p*[^0-9] /tmp/mytest1

11.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中

cp /etc/*.d /tmp/mytest2

12.复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中

cp /etc/[l,m,n]*.conf /tmp/mytest3

原创文章,作者:N24-超,如若转载,请注明出处:http://www.178linux.com/58748

(0)
N24-超N24-超
上一篇 2016-11-09
下一篇 2016-11-10

相关推荐

  • 08.08 笔记总结

    1. 使用sed显示特定行  sed -n '20p' /etc/passwd  // 显示/etc/passwd中第20行 命令相当于  cat /etc/passwd | head -20 | tail -1 2. sed -ibak '/^UUID.*/d' /etc/fstab &…

    Linux干货 2016-08-12
  • Redis集群明细文档

    Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式)。目前根据文档已经看到Redis正在开发集群功能,其中一部分已经开发完成,但是具体什么时候可以用上,还不得而知。文档来源:http://redis.io/topics/cluster-spec 一、介绍   该文档是…

    Linux干货 2015-04-04
  • 马哥教育网络班22期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 1. 建立或处理连接:接收请求或拒绝请求; 2. 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; 3. 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; 4. 访问资源:获取请求报文中请求的资源; 5. 构建响应报文…

    Linux干货 2016-11-28
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who user1    tty1         2016-12-27&nb…

    Linux干货 2016-12-28
  • N25-第四周

    一、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@localhost ~]# cp -r /etc/skel /home/tuser1      [root@localhost ~]# chmo…

    Linux干货 2017-01-09
  • cat命令了解

    1 查看文件在LINUX下一切皆文件,光看见文件名和目录名对我们来说,还远远不够。今天,就来介绍一下可以打开文件的命令cat。当然,二进制的可执行文件,不能用cat。在CentOS7下,以/etc/profile文件为例,如下: 首先,怎么打开这个文件呢?直接执行:cat /etc/passwd. 这么多行,能不能看见行号呢?cat -n /etc/pass…

    Linux干货 2017-04-03