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