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的更多相关文章

  1. (5)ps详解 (每周一个linux命令系列)

    (5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...

  2. (4)top详解 (每周一个linux命令系列)

    (4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...

  3. (3)lscpu详解 (每周一个linux命令系列)

    (3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...

  4. (2)free详解 (每周一个linux命令系列)

    (2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...

  5. Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识

    Linux命令系列之top--里面藏着很多鲜为人知的宝藏知识 简介 top命令是我们经常用来查看系统信息的一个指令,它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程.线程和系统参数的信 ...

  6. Linux命令系列之ls——原来最简单的ls这么复杂

    Linux命令系列之ls--原来最简单的ls这么复杂 ls命令应该是我们最常用的命令之一了,但是我们可能容易忽略那些看起来最简单的东西. 简介 ls命令的使用格式如下 ls [选项] [具体的文件] ...

  7. 全网最详细的Linux命令系列-touch命令

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 命令格式: touch [选项]... 文件... 命令参数: -a 或--tim ...

  8. Linux命令详解-touch

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a 或- ...

  9. linux命令系列-ln(软硬链接)

    linux命令 ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接. 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: .不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实 ...

随机推荐

  1. SQL进阶语法的多表操作

    AS别名 多张表联合操作,如果表多,字段名长,不方便阅读.这里我们可以使用  as  关键字来对字段名设置别名. as也可以省略,看个人喜好,在这里我还是支持把 as 写上,这样我们在面对复杂的SQL ...

  2. 使用jquery获取url上的参数(笔记)

    使用jquery获取url上的参数(笔记) 一.做作业时经常要获取url上的参数 1.当url上有多个参数时 从互联网找到了一个方法 (function ($) { $.getUrlParam = f ...

  3. php基础知识考察点:正则表达式

    1.正则表达式的作用:分割,查找,匹配,替换 字符串 2.分隔符:正斜线(/),hash符(#)以及取反符号(~). 3.通用原子:\d \D \s \S \w \W 4.原子符 5. 模式修正符 6 ...

  4. day 82 Vue学习二之vue结合项目简单使用、this指向问题

    Vue学习二之vue结合项目简单使用.this指向问题   本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...

  5. RPC--HDFS节点间的沟通桥梁

    RPC(Remote Procedure Call, 远程过程调用)是一种通过网络从远程计算机上请求服务来得到计算服务或者数据服务,且不需要了解底层网络技术的协议和框架. RPC远程调用是构建在语言级 ...

  6. python基础学习1-计数器实例

    #!/usr/bin/env python # -*- coding:utf-8 -*- import time as t class MyTimer: def __init__(self):#重写初 ...

  7. lxml etree xpath

    from lxml import etree #####################基本用法: ##################### html = ''' <h1 class=&quo ...

  8. [并发并行]_[C/C++]_[C++标准库里的线程安全问题]

    场景 1.写普通的程序时, 经常会使用cout来做输出, 每个进程只有一个控制台, 如果多线程调用cout时会出状况吗? 2.之所以研究cout会不会在并发下调用有问题, 是因为曾经有一个bug的崩溃 ...

  9. 【HNOI2017】单旋

    题面 题解 trajan的spaly是O(1)的(逃 通过看题解手玩发现只要将最值的点放到树根,其他的父子关系不需要变. 于是想到动态连边和断边的数据结构:\(\mathrm{LCT}\),于是用\( ...

  10. sublime常用方法

    1.如何打开一个文件夹? project----->Add Folder to Project 2.如何同一个窗口下进行分屏操作? 使用快捷键:shift+Alt+2 3.如何使html代码进行 ...