touch创建文件
常用:无参
不接任何参数时,touch 会同时更新文件的访问和修改时间;如果文件不存在,则创建空文件。
进阶:
-a仅修改访问时间
tm@server1:~$ ls -lu test.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:21 test.txt
tm@server1:~$ touch -a test.txt
tm@server1:~$ ls -lu test.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:24 test.txt
ls -lu 或 ls -l --time=atime查看访问时间
2. -m仅修改修改时间
tm@server1:~$ ls -l
total 0
-rw-rw-r-- 1 tm tm 0 Mar 26 17:16 test.txt
tm@server1:~$ touch -m test.txt
tm@server1:~$ ls -l
total 0
-rw-rw-r-- 1 tm tm 0 Mar 26 17:18 test.txt
tm@server1:~$
-c不创建文件(不存在就不创建,存在就修改)
tm@server1:~$ touch -c 123.txt
tm@server1:~$ ls
test.txt
tm@server1:~$ touch -c test.txt
tm@server1:~$ ls -l
total 0
-rw-rw-r-- 1 tm tm 0 Mar 26 17:21 test.txt
tm@server1:~$
-t使用指定的时间戳(格式:[[CC]YY]MMDDhhmm[.ss])
tm@server1:~$ touch -t 202603261200.00 file
tm@server1:~$ ls -l
total 0
-rw-rw-r-- 1 tm tm 0 Mar 26 12:00 file
-rw-rw-r-- 1 tm tm 0 Mar 26 17:21 test.txt
批量创建空文件
tm@server1:~$ touch file{1..10}.txt
tm@server1:~$ ls
file file1.txt file3.txt file5.txt file7.txt file9.txt
file10.txt file2.txt file4.txt file6.txt file8.txt test.txt
tm@server1:~$ touch $(seq -f "log%g.txt" 1 5)
tm@server1:~$ ls
file file2.txt file5.txt file8.txt log2.txt log5.txt
file10.txt file3.txt file6.txt file9.txt log3.txt test.txt
file1.txt file4.txt file7.txt log1.txt log4.txt
tm@server1:~$ seq -f "log%g.txt" 1 5
log1.txt
log2.txt
log3.txt
log4.txt
log5.txt
find批量更新
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:43 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:42 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:42 log1.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log2.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log3.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log4.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log5.txt
tm@server1:~$ find . -name "*.txt" -exec touch {} \;
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:43 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:42 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:44 log1.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:44 log2.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:44 log3.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:44 log4.txt
-rw-rw-r-- 1 tm tm 0 Mar 26 17:44 log5.txt
更新目录时间戳
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:40 a
tm@server1:~$ touch a
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:43 a
-h修改链接文件本身时间戳,而非链接的目标文件
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:40 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:40 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log1.txt
tm@server1:~$ touch -hm log1.txt b
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:40 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:42 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:42 log1.txt
-r参考复制其他文件时间戳
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:40 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:40 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:34 log1.txt
tm@server1:~$ touch -hm log1.txt b
tm@server1:~$ ls -l
total 4
drwxrwxr-x 2 tm tm 4096 Mar 26 17:40 a
lrwxrwxrwx 1 tm tm 1 Mar 26 17:42 b -> a
-rw-rw-r-- 1 tm tm 0 Mar 26 17:42 log1.txt
--time可调整纳秒尺度时间戳