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命令可以生成软链接和硬链接,也可叫做符号链接和实体链接. 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: .不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实 ...
随机推荐
- 初识Qt基于http协议网页浏览
1.新建一个Qt Gui应用,项目名称为http,基类选择为QMainWindow,类名设置为MainWindow. 2.在http.pro文件中的QT += core gui后添加\ networ ...
- 中国城市json
[{ "label": "北京Beijing010", "name": "北京", "pinyin" ...
- Spring源码分析(二十)准备环境
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. prepareRefresh函数主要是做些准备工作,例如对系统属性及环 ...
- 解决 an app id with identifier is not available. please enter a different string. xcode 7.3
百度上这帮人,真的服了,没有一个人能解决问题,最后在 stackoverflow 上找到解决方法 The Application ID Name should be same as applicati ...
- Liunx信息显示与文件搜索
. uname 显示系统相关信息,如内核版本号,硬件架构 -a # 显示系统所有相关信息 -m # 显示计算机硬件架构 -n # 显示主机名称 -r # 显示内核发行版本号 -s # 显示内核名称 - ...
- mac上ssh工具,包含简易的文件传输功能
最近需要在mac上连ssh,但是之前在mac上用的都是简易的SSH Shell,没有找到传输文件的功能. 这时候就非常想念win上的winscp,有个界面,传点东西还是很直观的. 几经搜寻,终于找到一 ...
- 5.Control flow statements-流程控制(Dart中文文档)
你可以使用如下流程控制符: if and else for loops while and do-while loops break and continue switch and case asse ...
- 【SAPUI5】ODataとは
はじめに SAPUI5でアプリケーションを作るにあたり.ODataは避けては通れないトピックです.結構広いテーマなので.5-7回くらいに分けて書きたいと思います.1回目はODataの概要について説明し ...
- Linux下查看Mysql数据库端口的方法
mysql 默认的端口是 3306,但是如果在安装的时候,修改了mysql的默认端口的话,可以采用以下方式查看 第一种方法: 直接查看数据库的配置文件 在/etc/mysql/my.cnf(Linux ...
- BZOJ1068_压缩_KEY
题目传送门 区间DP,设f[i][j][0/1]为i~j区间的压缩情况,1表示在插入了一个M. code: /********************************************* ...