linux命令系列 stat & touch
1. stat - display file or file system status
stat命令主要用于显示文件或文件系统的状态,详细信息
事实上,stat命令显示的是文件的I节点信息。Linux文件系统以块为单位存储信息,为了找到某个文件所在存储空间的位置,用I节点对每个文件进行索引
所谓的I节点,是文件系统管理的一个数据结构,是一个64字节长的表,包含了描述文件所必要的全部信息,其中包含了文件的大小,类型,存取权限,文件的所有者
[root@vnode33 ~]# touch a
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular empty file
Device: fd00h/64768d Inode: 18742283 Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::45.776000000 +
Modify: -- ::45.776000000 +
Change: -- ::45.776000000 +
Birth: -
为文件a添加一些内容再次使用stat:
[root@vnode33 ~]# echo > a
[root@vnode33 ~]# stat a
File: 'a'
Size: 4 Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::45.776000000 +
Modify: -- ::24.531000000 +
Change: -- ::24.531000000 +
Birth: -
注:access 表示最后一次访问(仅仅是访问,没有改动)文件的时间
modify 表示最后一次修改文件的时间
change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等
stat命令常用的选项:
-L, --dereference # 显示符号链接
follow links -f, --file-system # 不显示文件本身的信息,显示文件所在文件系统的信息
display file system status instead of file status -t, --terse # 简洁模式,只显示摘要信息
print the information in terse form
2. touch - change file timestamps
我们可能知道在linux下运行touch命令可以创建一个空文件,其实你要知道touch命令的主要功能并不是为了创建一个空文件哦。
什么是touch命令?
linux系统下每个文件都附有时间戳(timestamp),这个时间戳包括访问时间和修改时间。而touch命令主要就是用来修改文件的访问时间和修改时间。
最简单的使用touch命令。只需要键入touch filename:
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::45.776000000 +
Modify: -- ::24.531000000 +
Change: -- ::24.531000000 +
Birth: -
[root@vnode33 ~]# touch a
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::17.929000000 +
Modify: -- ::17.929000000 +
Change: -- ::17.929000000 +
Birth: -
对文件a使用touch命令之后,三个时间戳都修改了
如果我们要只改变访问时间,我们需要使用-a选项:
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::17.929000000 +
Modify: -- ::17.929000000 +
Change: -- ::17.929000000 +
Birth: -
[root@vnode33 ~]# touch -a a
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: 2018-11-30 09:55:35.989000000 +0800
Modify: -- ::17.929000000 +
Change: 2018-11-30 09:55:35.989000000 +0800
Birth: -
如果我们只希望修改“Modify”时间戳,可以使用-m选项:
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::35.989000000 +
Modify: -- ::17.929000000 +
Change: -- ::35.989000000 +
Birth: -
[root@vnode33 ~]# touch -m a
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::35.989000000 +
Modify: 2018-11-30 09:57:45.098000000 +0800
Change: 2018-11-30 09:57:45.098000000 +0800
Birth: -
使用-t选项改为自定义时间戳:
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
[root@vnode33 ~]# touch -t a
[root@vnode33 ~]# stat a
File: 'a'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: 2010-10-10 10:10:00.000000000 +0800
Modify: 2010-10-10 10:10:00.000000000 +0800
Change: 2018-11-30 10:00:37.039000000 +0800
Birth: -
linux命令系列 stat & touch的更多相关文章
- (5)ps详解 (每周一个linux命令系列)
(5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...
- (4)top详解 (每周一个linux命令系列)
(4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...
- (3)lscpu详解 (每周一个linux命令系列)
(3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...
- (2)free详解 (每周一个linux命令系列)
(2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...
- Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识
Linux命令系列之top--里面藏着很多鲜为人知的宝藏知识 简介 top命令是我们经常用来查看系统信息的一个指令,它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程.线程和系统参数的信 ...
- Linux命令系列之ls——原来最简单的ls这么复杂
Linux命令系列之ls--原来最简单的ls这么复杂 ls命令应该是我们最常用的命令之一了,但是我们可能容易忽略那些看起来最简单的东西. 简介 ls命令的使用格式如下 ls [选项] [具体的文件] ...
- 全网最详细的Linux命令系列-touch命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 命令格式: touch [选项]... 文件... 命令参数: -a 或--tim ...
- Linux命令详解-touch
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a 或- ...
- linux命令系列-ln(软硬链接)
linux命令 ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接. 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: .不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实 ...
随机推荐
- cloudstack agent host Alert 告警处理
今天nagios告警: 172.17.9.76有Alert,看agent的日志有如下: (Agent-Handler-3:null) Connected to the server Lost conn ...
- Xilinx实习一年总结
从去年7月4号来到上海xilinx.转眼间已经一年.这一年学了非常多知识,也长了非常多见识. 去年七月一到公司,马上投入到摄像头-DDR-HDMI图像通路的研发中.就是在ZEDboard板卡上.通过外 ...
- Lambda 表达式语法
本主题介绍 lambda 表达式的语法. 它演示提供 lambda 表达式的结构元素的示例,这些元素与示例. Lambda 表达式语法 下面用于定义显示语法,ISO C++11 从标准,lambda ...
- 1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
终端是个允许我们运行命令行的程序,运行命令前,先打开它.在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(comma ...
- Quartz.NET+Topshelf 创建Windows服务
由于项目开发中经常会有定时任务执行的需求,所以会第一时间就想到 windows 服务 的方式,但是做过开发的同学都知道windows服务不利于调试,安装也麻烦: 并且有开源的作业框架Quartz.NE ...
- js 固定表头及固定列的js
//给table 外层加一个div然后将divid传入方法,arr是一个数组里面填写需要固定的列数function fixedCol(arr,divId){ var colArr = arr || [ ...
- linux 系统运行级别一般为 0-6,请分别写出每个级别的含义
每个运行级别的含义 0 关机模式(不要把启动级别 运行级别设置为0) 1 单用户模式 2 无NFS多用户模式 3 文本模式(命令行模式,完整的多用户模式) 4 未使用的 5 ...
- mac最常用快捷键
本人使用的是18款512g的macbookpro<后续简称mbp>,已升级最新mojave系统. 以下是我平时记录.也是使用最多的快捷键,惠存. 1.切换拼音和字母 control ...
- 记一次Apache Carbondata PR的经历
前言 前段时间有幸接触到Apache Carbondata,试用过程中发现了一个小小的问题,并且又很快的定位到了问题.然后在社区群里反映了下,负责人问愿不愿意提个JIRA,PR,然后我在没有任何开源 ...
- 【10.14】Bug Bounty Write-up总结
我很喜欢今天的看到的write-up,因为作者是针对他对一个网站整体进行漏洞挖掘的过程写的,内容包括几个不同的漏洞,从中能够学习到怎样系统性的挖掘漏洞. write-up地址:[Bug bounty ...