3.每日一个Linux命令

Wesley13
• 阅读 305

描述:创建一个新的文件,当被创建的文件存在时,则改变文件的时间戳。

用法:touch [-acmdtr] 文件名

常用选项:

-a:修改文件的访问时间;

-c:仅用来修改文件的时间,如果目标文件不存在,不会创建新的文件。与--no-create效果一样;

-m:修改文件的修改时间;

-d:后面接日期,也可以使用--date="日期或时间”;

-t:后面接日期,格式为[YYMMDDhhmm]。

-r:把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

示例:

1.创建三个空文件 a b c

[root@share21 ~]# touch a b c

2.创建三个空文件 file001 file002 file003

[root@share21 ~]# touch file{001,002,003}

3.如果file004文件不存在,则不创建文件,仅用来修改时间

[root@share21 ~]# touch -c file004
[root@share21 ~]# ll
total 0
-rw-r--r--. 1 root root 0 May 18 11:05 file001
-rw-r--r--. 1 root root 0 May 18 11:05 file002
-rw-r--r--. 1 root root 0 May 18 11:05 file00

4.创建file004,且将file004的时间戳设置的和file001一样

[root@share21 ~]# touch file004
[root@share21 ~]# ll
total 0
-rw-r--r--. 1 root root 0 May 18 11:05 file001
-rw-r--r--. 1 root root 0 May 18 11:05 file002
-rw-r--r--. 1 root root 0 May 18 11:05 file003
-rw-r--r--. 1 root root 0 May 18 11:12 file004
[root@share21 ~]# touch -r file001 file004
[root@share21 ~]# ll
total 0
-rw-r--r--. 1 root root 0 May 18 11:05 file001
-rw-r--r--. 1 root root 0 May 18 11:05 file002
-rw-r--r--. 1 root root 0 May 18 11:05 file003
-rw-r--r--. 1 root root 0 May 18 11:05 file004
[root@share21 ~]# 

5.同时修改文件的修改时间和访问时间

[root@share21 ~]# touch -t 201211251230 file004
[root@share21 ~]# ll
total 0
-rw-r--r--. 1 root root 0 May 18 11:05 file001
-rw-r--r--. 1 root root 0 May 18 11:05 file002
-rw-r--r--. 1 root root 0 May 18 11:05 file003
-rw-r--r--. 1 root root 0 Nov 25  2012 file004

[root@share21 ~]# touch -d "2012-11-25 12:01" file004
[root@share21 ~]# stat file004
  File: ‘file004’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67655814    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2012-11-25 12:01:00.000000000 +0800
Modify: 2012-11-25 12:01:00.000000000 +0800
Change: 2016-05-18 11:28:01.466228047 +0800
 Birth: -

6.只修改文件的访问时间

[root@share21 ~]# touch -d -a "2012-11-25 12:01" file004

7.只修改文件的修改时间

[root@share21 ~]# touch -d -m "2012-11-25 12:01" file004

最后总结下常用的文件操作与时间的关系:

1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。

2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vim后保存文件。ls -l列出的时间就是这个时间。

3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令文件名。

点赞
收藏
评论区
推荐文章
技术小男生 技术小男生
4个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
1年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
Stella981 Stella981
1年前
SVN 命令行
1、查看文件状态svnstatus[目录路径or文件名]注:目录下的文件和子目录的状态,正常状态不显示?:不在svn的控制中;M:内容被修改;C:发生冲突;K:被锁定svnstatusv[目录路径or文件名]
Easter79 Easter79
1年前
SVN 命令行
1、查看文件状态svnstatus[目录路径or文件名]注:目录下的文件和子目录的状态,正常状态不显示?:不在svn的控制中;M:内容被修改;C:发生冲突;K:被锁定svnstatusv[目录路径or文件名]
Wesley13 Wesley13
1年前
PHP中的NOW()函数
是否有一个PHP函数以与MySQL函数NOW()相同的格式返回日期和时间?我知道如何使用date()做到这一点,但是我问是否有一个仅用于此的函数。例如,返回:2009120100:00:001楼使用此功能:functiongetDatetimeNow(){
Stella981 Stella981
1年前
Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象。创建文件在unix类操作系统中有一个touch命令可以非常方便的创建文件,还能批量创建一些名称规律的文件。但实际上touch的主要介绍中却是"修改文件时间戳",创建文件只不过是它的辅助能力。如果没有touch命令
3A网络 3A网络
4个月前
开发一个不需要重写成 Hive QL 的大数据 SQL 引擎
开发一个不需要重写成HiveQL的大数据SQL引擎学习大数据技术的核心原理,掌握一些高效的思考和思维方式,构建自己的技术知识体系。明白了原理,有时甚至不需要学习,顺着原理就可以推导出各种实现细节。各种知识表象看杂乱无章,若只是学习
helloworld_34035044 helloworld_34035044
6个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
3A网络 3A网络
4个月前
理解 virt、res、shr 之间的关系(linux 系统篇)
理解virt、res、shr之间的关系(linux系统篇)前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过t