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 22:14
下一篇 2016-11-10 20:07

相关推荐

  • 马哥教育网络班21期第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel/ /home/tuser1 # chmod -R go= /home/tuser1/ 2、编辑/etc/gr…

    Linux干货 2016-07-27
  • 作业:0805

    1.查出用户UID最大值的用户名、UID及shell类型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的权限,以数字方式显示 > st…

    Linux干货 2016-08-08
  • 图解 lvs 工作原理

    一.lvs 基本工作流程介绍  如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,…

    Linux干货 2016-10-30
  • 推荐-MySQL存储日志并使用Loganalyzer作为前端展示

    MySQL存储日志并使用Loganalyzer作为前端展示 MySQL存储日志并使用Loganalyzer作为前端展示 为什么要使用日志 本文目标 实验拓扑图 实验环境 实验步骤 syslog主机上rsyslog设置 Server1主机上rsyslog设置 Web服务器配置 总结 为什么要使用日志 在生产环境中我们可能需要一个较为完整的日志系统来查看运行中主…

    Linux干货 2016-03-30
  • n28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 答:install 复制文件并设置属性 -d, –directory:复制所有参数为目录名 -m, –mode=MODE:设置文件属性,相当于chmod # install -d -m u=rwx /e…

    Linux干货 2017-12-24
  • httpd2.4 应用

    练习:  (1)基于主机名实现三个虚拟主机     (2) 每虚拟主机使用独立的访问日志和错误日志 (3) 第三个虚拟主机的/admin要进行用户访问认证  (4) 在第二个虚拟主机上提供/status; (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径; (6) 尝试使用混合类型…

    Linux干货 2016-10-09