linux下touch和stat命令用法

stat

文本编辑器

我们知道touch是创建文件,其实touch是用来修改文件的时间戳,同时 ,文件是有三个时间
访问时间记录最近一次文件被访问时间,只要一个文件被打开,就意味着背后有一个相应的IO,打开是一个写IO(写访问时间到磁盘属性中)

touch命令:

[root@docker-node1 ~]# touch linuxea
[root@docker-node1 ~]# file linuxea
linuxea: empty
[root@docker-node1 ~]#
touch一个文件后,file其实是无法判断这个文件类型的,在touch一个不存在的文件时,默认是创建一个空文件,很多时候touch就被哪来用作创建空文件命令,这种默认是可以修改的,文件如果有则改时间戳,如果没有也不会创建文件

[root@docker-node1 ~]# touch -c linuxea1
[root@docker-node1 ~]# ll linuxea1
ls: cannot access linuxea1: No such file or directory
[root@docker-node1 ~]#
因此,如果仅仅只是修改时间戳,则可以使用-c选项

stat命令:显示文件系统和文件的源或者说是属性信息

[root@docker-node1 ~]# stat linuxea
  File: ‘linuxea’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 71359973    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-07-12 14:23:31.396999492 -0400
Modify: 2016-07-12 14:23:31.396999492 -0400
Change: 2016-07-12 14:23:31.396999492 -0400
 Birth: -
size:大小
blocks:占据的磁盘块
io block:一次io传递大小
regular empty file:文件类型
Device:存放的设备
Inode: 71359973 inode号
Links: 1 :链接次数
Access: (0644/-rw-r--r--) :访问权限
Uid: ( 0/ root):UID 属主
Gid: ( 0/ root):GID 属组
三个时间戳
Access: 2016-07-12 14:23:31.396999492 -0400 访问时间
Modify: 2016-07-12 14:23:31.396999492 -0400 修改
Change: 2016-07-12 14:23:31.396999492 -0400 状态改变时间

stat查看修改时间戳:源时间

[root@docker-node1 ~]# stat in.sh
  File: ‘in.sh’
  Size: 134             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 68352533    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-07-05 08:51:01.280561305 -0400
Modify: 2016-06-30 14:29:48.428395106 -0400
Change: 2016-06-30 14:29:52.828395524 -0400
 Birth: -
[root@docker-node1 ~]#
touch一次后,修改为当下时间:

[root@docker-node1 ~]# touch in.sh
[root@docker-node1 ~]# stat in.sh
  File: ‘in.sh’
  Size: 134             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 68352533    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-07-12 14:39:33.524091028 -0400
Modify: 2016-07-12 14:39:33.524091028 -0400
Change: 2016-07-12 14:39:33.524091028 -0400
 Birth: -
[root@docker-node1 ~]#
touch也可以指定时间:-t
格式为:年月日小时分钟
修改为2020年12月20号20时.20秒

[root@docker-node1 ~]# touch -t 202012202020.20 in.sh
[root@docker-node1 ~]# stat in.sh
  File: ‘in.sh’
  Size: 134             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 68352533    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-12-20 20:20:20.000000000 -0500
Modify: 2020-12-20 20:20:20.000000000 -0500
Change: 2016-07-12 14:45:23.777124351 -0400
 Birth: -
[root@docker-node1 ~]#
如上所示:由此可见,stat查看只能修改访问时间和修改时间,状态改变时间和系统当前时间一样
[root@docker-node1 ~]# date
Tue Jul 12 14:45:25 EDT 2016
[root@docker-node1 ~]#

如果只想修改访问时间添加-a -t即可

[root@docker-node1 ~]# touch -a -t 203012202020.20 in.sh
[root@docker-node1 ~]# stat in.sh
  File: ‘in.sh’
  Size: 134             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 68352533    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2030-12-20 20:20:20.000000000 -0500
Modify: 2020-12-20 20:20:20.000000000 -0500
Change: 2016-07-12 14:47:46.772137955 -0400
 Birth: -
[root@docker-node1 ~]#
如果只想修改修改时间,-m -t即可

[root@docker-node1 ~]# touch -m -t 204012202020.20 in.sh
[root@docker-node1 ~]# stat in.sh
  File: ‘in.sh’
  Size: 134             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 68352533    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2030-12-20 20:20:20.000000000 -0500
Modify: 2040-12-20 20:20:20.000000000 -0500
Change: 2016-07-12 14:51:58.534161908 -0400
 Birth: -
[root@docker-node1 ~]#
只要你修改源数据,不管你修的是访问时间还是修改时间,状态改变时间都会变成当下修改那一刻的时间

nano,vim

linux编辑器从界面来讲有两种,行编辑器,一次操作几行,sed流编辑器,第二种全屏编辑器,如nano,vim,vi

nano FILE
nano常用操作
ctrl+G 帮助
ctrl+O 保存
ctrl+R 读
ctrl+Y 向上翻一页
ctrl+X 退出
ctrl+W 查找
ctrl+V 向下翻一页
ctrl+K 剪切
ctrl+U 取消

时间: 2025-01-27 03:08:23

linux下touch和stat命令用法的相关文章

linux下uniq和sort命令用法详解

  1.uniq命令 使用说明:这个命令读取输入文件,并比较相邻的行.在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的.该命令加工后的结果写到输出文件中.输入文件和输出文件必须不同.如果输入文件用"- "表示,则从标准输入读取. 该命令各选项含义如下: -c 显示输出中,在每行行首加上本行在文件中出现的次数.它可取代- u和- d选项. -d 只显示重复行. -u 只显示文件中不重复的各行. -n 前n个字段与每个字段前的空白一起被忽略.一个字段是

linux下uniq和sort命令用法

  1.uniq命令 使用说明:这个命令读取输入文件,并比较相邻的行.在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的.该命令加工后的结果写到输出文件中.输入文件和输出文件必须不同.如果输入文件用"- "表示,则从标准输入读取. 该命令各选项含义如下: -c 显示输出中,在每行行首加上本行在文件中出现的次数.它可取代- u和- d选项. -d 只显示重复行. -u 只显示文件中不重复的各行. -n 前n个字段与每个字段前的空白一起被忽略.一个字段是

Linux下vi替换字符命令操作实例

http://blog.csdn.net/zhouzhaoxiong1227/article/details/28657665 在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁.         本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作提供给了参考.           本文中被操作的文件为TestFile.txt,其中的内容如下:         zhou@linux:~/zhouzx/Test> c

Linux下的目录创建命令使用实践

[文章摘要]        本文以实际的C源程序为例子,介绍了Linux下的目录创建命令(mkdir)的使用方法,为相关开发工作的开展提供了有益的参考. [关键词]        C语言  Linux  目录创建  makefile  开发   一.mkdir命令简介         mkdir命令用来创建指定名称的目录,其命令格式为:mkdir [选项] 目录...        其中,[选项]可以是"-m"."-p"或"-v".此外,目录名是

利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能

解决|命令行 利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能 作者: Fenng 大家知道, 在 Windows 平台 命令行中的 SQL*Plus 有命令行历史回调的功能,在SQL*Plus工具下面,可以利用键盘的"向上向下"箭头键对命令行的进行回调.而在Linux上则没有该功能(虽然 Shell 可以做到这一点,但是 SQL*Plus 不可以). 而该功能对于CLI爱好者来说几乎是不可缺的,不知道为什么 Oracle 不把这个功能加进来.不得而知了.

Linux下vi编辑器的命令模式和编辑模式有什么区别?

问题描述 Linux下vi编辑器的命令模式和编辑模式有什么区别? 解决方案 编辑模式下可以输入和删除文本,与 windows 的常规编辑器的行为一样.命令模式下,可以方便地进行文本操作(包括批量的文本操作).比如说,删除命令d.dw 可以删除从当前光标开始的一个单词, dd 可以删除当前光标所在的行.解决方案二:基础问题还是先去学习学习

Linux/Unix下的任务管理器-top命令用法介绍

Windows下的任务管理器虽然不好用(个人更喜欢Process Explorer些),但也算方便,可以方便的查看进程,CPU,内存...也可以很容易的结束进程 没有图形化界面下的Linux,也有命令可以实现Windows的任务管理器功能,这个命令就是"top",用户可以使用top来对进程排序,结束进程等. top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,默认5秒刷新一下进程列表,所以类似于 Windows 的任务管理器. 系统整体当下的统计

Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法. 这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢? 发行版的包管理器为我们提供了很方便的命令接口,供我们查找我们指定命令所在的包 比如我们以最普通的uname命令来说明, 使用我们使用whereis或者which命令可以查找命令的绝对位置 通过rpm或者dpkg命令搜索命令所属的包信息 下载并安装对应的源码source包,即可得到源码 CentOS等r

Linux下的压缩解压缩命令详解

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中