2.2 touch 命令
touch 是 Linux/Unix 系统中用于 创建空文件 和 修改文件时间戳 的命令。
touch 命令会在没有文件时创建此空文件,如果有此文件时会修改此文件的访问时间和修改时间。
示例
weimingze@mzstudio:~$ touch a.py
weimingze@mzstudio:~$ ls -l a.py hello.py
-rw-rw-r-- 1 weimingze weimingze 0 May 16 14:10 a.py
-rw-rw-r-- 1 weimingze weimingze 23 May 16 13:02 hello.py
weimingze@mzstudio:~$ touch hello.py
weimingze@mzstudio:~$ ls -l a.py hello.py
-rw-rw-r-- 1 weimingze weimingze 0 May 16 14:10 a.py
-rw-rw-r-- 1 weimingze weimingze 23 May 16 14:11 hello.py
可见 使用 touch a.py 命令,在没有 a.py 这个文件的时候会创建这个文件。
使用 touch hello.py 对 hello.py 这个文件的修改时间进行的修改。
touch 的常用选项
选项
说明
-a仅更新访问时间(atime)
-m仅更新修改时间(mtime)
-c不创建新文件(仅当文件存在时才更新时间戳)
-d指定时间(而不是当前时间)
-t使用自定义时间格式(
[[CC]YY]MMDDhhmm[.ss])-r参照另一个文件的时间(复制时间戳)
特殊文件名的处理
当我们要创建一个含有空格等的特殊文件名是,需要将文件名或整个路径名用英文的双引号(")括起来。
如我要创建一个 hello world.py 文件时,这个文件名中有空格,如果我们运行 touch hello world.py 这个命令,就创建了 hello 和 world.py 两个文件。
正确的做法是:
touch "hello world.py"
还有另外一种做法是将空格进行转义(类似于Python中字符的转义),就是用反斜杠加一个空格('\ ') 代替文件名中的一个空格(' ')。
如上述创建也可以使用如下命令完成:
touch hello\ world.py
练习:
- 在当前主目录下创建一个文件
a.txt查看他的修改时间。过一分钟后再修改他的修改时间为当前时间。