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基础知识

    Linux基础

    2018-03-18
  • linux基础学习之进程管理和任务计划

    内容:   进程相关概念(用户空间、内核空间,进程、线程)   进程及系统相关工具(ps、top、pgrep、pidof、kill)   调整nice值(nice、renice)   作业管理(jobs、fg、bg、kill,&)   计划任务(at、crontab) 一、进程相关概念 内核的功用:进…

    Linux干货 2016-09-07
  • Linus:利用二级指针删除单向链表

    感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图) Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。 下面是Linus的教学原文及翻译—— “…

    Linux干货 2016-07-10
  • N21天天第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS主机按以下顺序启动 1、POST加电自检 2、BIOS读取CMOS中的BIOS设置的参数来识别基础硬件,寻找到启动设备 3、MBR 1)读取启动设备MBR中前446字节的bootloader 2)读取MBR后的扇区用来识别grub以及内核kernel所在的区域 3)启动g…

    Linux干货 2016-09-26
  • 搭建简单的ftp和http

    搭建简单的ftp和http 我们主要尝试光盘和编译两种方式安装 ftp 首先我们先安装ftp ftp可以用来做文件传输,也可以搭建ftp作为我我们的网络yum源 首先我们要先把镜像连接到我们的Linux中 进入/etc/yum.repos.d/创建一个.repo结尾的文件,在里面配置自己的yum源 [base] baseurl=file:///misc/cd…

    2017-06-15
  • SSH协议详解

    OpenSSH 一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。 SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性…

    Linux干货 2016-12-16