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

相关推荐

  • 第二周作业

    第二周

    Linux干货 2017-12-11
  • bash脚本之进阶

    bash脚本 1、终端打印 1、单双引号(echo) 双引号: ①在双引号里面打不出! ②双引号,可以在文本中使用“;”,“;”在bash中被用作命令定界符。 单引号: 变量替换在单引号中无效。 2、printf:不会自动添加换行符,要手动添加 如下: 结果: 3、补充: echo 要使用转义系列需要加e,!号除外 2、变量和环境变量 脚本语言通常…

    Linux干货 2016-11-28
  • CentOS7下的网络配置管理

    一、让配置永久有效的办法:修改配置文件 与网卡相关(课配置网卡的IP,掩码,网关,DNS)     /etc/sysconfig/network-scripts/ifcfg-INTERFACE 字段解释: TYPE        &nbsp…

    Linux干货 2016-03-28
  • openvpn安装配置过程

    前言     之前为了方便远程办公时访问公司的内部系统,如:svn、OA、wiki、禅道等等;通通在防火墙上做了端口映射。然后有个内部系统被黑了,各种弱口令没办法。果断关闭端口映射,看来还是得搭建个VPN服务器,vpn设备感觉大材小用。马上就想到了开源的openvpn,下面就来介绍openvpn的安装配置过程。 ope…

    Linux干货 2015-05-11
  • SQL优化大全

    1. 优化SQL步骤 1. 通过 show status和应用特点了解各种 SQL的执行频率        通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extende d-status 命令获得。 SHOW STATUS 可以根据需要显示 session 级别的统计结果和 g…

    Linux干货 2015-04-13
  • 马哥教育21期网络班—第9周课程+练习—-成长进行时–不退步

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash  declare -i other=0 declare -i nologin=0   &nbs…

    Linux干货 2016-09-05