3.每日一个Linux命令

Wesley13
• 阅读 601

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

用法: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命令文件名。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
Wesley13 Wesley13
3年前
10、文件创建和修改时间戳命令
命令名称:touch命令所在路径:/bin/touch执行权限:全部功能:创建空文件(这个是附加的功能而已)     Touch的实际功能是修改文件的时间戳选项:c修改文件的时间戳,如果该文件不存在,也不会生成一个空文件      m只更新文件的修改时间,更新为当前时间      a只更新文件的访
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Stella981 Stella981
3年前
Python time模块 返回格式化时间
常用命令  strftimetime.strftime("%Y%m%d%H:%M:%S",formattime)第二个参数为可选参数,不填第二个参数则返回格式化后的当前时间日期201812112:00:00time.strftime('%H:%M:%S')返回当前时间的时分秒time.strftim
Stella981 Stella981
3年前
Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象。创建文件在unix类操作系统中有一个touch命令可以非常方便的创建文件,还能批量创建一些名称规律的文件。但实际上touch的主要介绍中却是"修改文件时间戳",创建文件只不过是它的辅助能力。如果没有touch命令