Linux 常用命令 文件目录管理之touch

常用命令:
文件目录管理


touch

1.命令
touch -- 创建文件,改变文件的访问时间和修改时间。

2.使用样例
touch test --创建文件,名为test;如果test文件存在,会将 test文件的上次访问和修改时间设置为当前日期和时间

andy@ubuntu:~/lhc$ touch test
andy@ubuntu:~/lhc$ ls
test

touch test1 test2 --同时创建多个文件,名为test1,test2;如果test1,test2文件存在,会将test1,test2文件的上次访问和修改时间设置为当前日期和时间

andy@ubuntu:~/lhc$ touch test1 test2
andy@ubuntu:~/lhc$ ls
00:01:20  10:10:20  linux  test1  test.sh
00:01:32  20:01:32  test   test2  Tmux

stat test --如何查看文件的访问时间,修改时间,例如查看文件test的状态

andy@ubuntu:~/lhc$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 395355      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 10:10:37.227806791 +0800
Modify: 2016-11-19 10:10:37.227806791 +0800
Change: 2016-11-19 10:10:37.227806791 +0800
 Birth: -

touch -a test --改变test文件的访问时间为当前时间,Access时间由2016-11-19 10:10:37 切换到2016-11-19 10:19:46

andy@ubuntu:~/lhc$ touch -a test
andy@ubuntu:~/lhc$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 395355      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 10:19:46.302453173 +0800
Modify: 2016-11-19 10:10:37.227806791 +0800
Change: 2016-11-19 10:19:46.302453173 +0800
 Birth: -

touch -c test --如果test文件不存在,则不需要创建

andy@ubuntu:~/lhc/linux$ ls
filedirectorymanagement
andy@ubuntu:~/lhc/linux$ touch -c test
andy@ubuntu:~/lhc/linux$ ls

touch -f test --强制改变test文件的访问时间和修改时间为当前时间

andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d      Inode: 395218      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 16:43:54.096672946 +0800
Modify: 2016-11-19 16:43:54.096672946 +0800
Change: 2016-11-19 16:43:54.096672946 +0800
 Birth: -
andy@ubuntu:~/lhc/linux$ touch -f test
andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d      Inode: 395218      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 16:44:14.085710437 +0800
Modify: 2016-11-19 16:44:14.085710437 +0800
Change: 2016-11-19 16:44:14.085710437 +0800
 Birth: -

touch -m test --改变test文件的修改时间为当前时间

andy@ubuntu:~/lhc$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 395355      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 10:19:46.302453173 +0800
Modify: 2016-11-19 10:10:37.227806791 +0800
Change: 2016-11-19 10:19:46.302453173 +0800
 Birth: -
andy@ubuntu:~/lhc$ touch -m test
andy@ubuntu:~/lhc$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 395355      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 10:19:46.302453173 +0800
Modify: 2016-11-19 10:23:02.914256419 +0800
Change: 2016-11-19 10:23:02.914256419 +0800
 Birth: -

touch -m -d “2016-09-30 00:01:20” test --改变test文件的修改时间为2016-09-30 00:01:20

andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 1998-03-03 03:03:55.000000000 +0800
Modify: 1998-03-03 03:03:55.000000000 +0800
Change: 2016-11-19 16:06:02.519291464 +0800
 Birth: -
andy@ubuntu:~/lhc/linux$ touch -m -d "2016-09-30 00:10:20" test 
andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 1998-03-03 03:03:55.000000000 +0800
Modify: 2016-09-30 00:10:20.000000000 +0800
Change: 2016-11-19 16:15:00.407627037 +0800
 Birth: -

touch -r test5 test 将test文件访问和更改时间设置成与test5一样

andy@ubuntu:~/lhc/linux$ stat test test5
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 15:44:36.807687722 +0800
Modify: 2016-11-19 15:44:36.807687722 +0800
Change: 2016-11-19 15:44:36.807687722 +0800
 Birth: -
  File: 'test5'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398800      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 15:45:35.964931366 +0800
Modify: 2016-11-19 15:45:35.964931366 +0800
Change: 2016-11-19 15:45:35.964931366 +0800
 Birth: -
andy@ubuntu:~/lhc/linux$ touch -r test5 test
andy@ubuntu:~/lhc/linux$ stat test test5
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 15:45:35.964931366 +0800
Modify: 2016-11-19 15:45:35.964931366 +0800
Change: 2016-11-19 15:46:07.655262054 +0800
 Birth: -
  File: 'test5'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398800      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 15:45:35.964931366 +0800
Modify: 2016-11-19 15:45:35.964931366 +0800
Change: 2016-11-19 15:45:35.964931366 +0800

touch -t 199803030303.33 test 将test文件时间戳(访问时间与修改时间)设在为1998年3月3日3:03:33

andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 2016-11-19 15:45:35.964931366 +0800
Modify: 2016-11-19 15:45:35.964931366 +0800
Change: 2016-11-19 15:46:07.655262054 +0800
 Birth: -
andy@ubuntu:~/lhc/linux$ touch -t 199803030303.55 test
andy@ubuntu:~/lhc/linux$ stat test
  File: 'test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 398442      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    andy)   Gid: ( 1000/    andy)
Access: 1998-03-03 03:03:55.000000000 +0800
Modify: 1998-03-03 03:03:55.000000000 +0800
Change: 2016-11-19 15:58:32.223721870 +0800
 Birth: -

3.语法
touch [ -a ] [ -c ] [ -m ] [ -f ] [ -r RefFile ] [ Time | -t Time ] { File ... | Directory ... }
4.参数说明
-a 修改文件的访问时间
-c 如果文件不存在,则不要进行创建
-m 修改文件的修改时间
-d 指定要修改成的时间
-f 强制将文件的上次访问和修改时间设置为当前日期和时间
-r RefFile 使用由 RefFile 变量指定的文件的相应时间,而不用当前时间。
Time 以 MMDDhhmm[YY] 的格式指定新时间戳记的日期和时间,其中:
MM
指定一年的哪一月(从 01 到 12)。
DD
指定一月的哪一天(从 01 到 31)。
hh
指定一天中的哪一小时(从 00 到 23)。
mm
指定一小时的哪一分钟(从 00 到 59)。
YY
指定年份的后两位数字。如果 YY 变量没有被指定,缺省值为当前年份。
-t Time 使用指定时间而不是当前时间。Time 变量以十进制形式 [[CC]YY]MMDDhhmm[.SS] 指定,其中:
CC
指定年份的前两位数字。
YY
指定年份的后两位数字。
MM
指定一年的哪一月(从 01 到 12)。
DD
指定一月的哪一天(从 01 到 31)。
hh
指定一天中的哪一小时(从 00 到 23)。
mm
指定一小时的哪一分钟(从 00 到 59)。
SS
指定一分钟的哪一秒(从 00 到 59)。

你可能感兴趣的:(Linux 常用命令 文件目录管理之touch)