Linux命令之touch


touch [選項] … 文件 …

說明:將每個文件的訪問時間和修改時間改為當前時間。如果文件不存在則會創建空文件,除非使用-c或-h選項。如果文件名為”-”則特殊處理,更改與標准輸出相關的文件的訪問時間。

(1).選項

-a 只更改訪問時間
-c,--no-create 不創建任何文件
-d,--date=字符串 使用指定字符串表示時間而非當前時間
-f 忽略
-h,--no-dereference 只影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者時,此選項才有用)
-m 只更改修改時間
-r,--reference=文件 使用指定文件的時間屬性而非當前時間
-t STAMP 使用[[CC(世紀)]YY]MMDDhhmm[.ss]格式的時間而非當前時間
--time=WORD使用WORD指定的時間:access/atime/use都等於-a選項的效果,而modify/mtime等於-m選項的效果

補充:文件的三種時間

[xf@xuexi ~]$ ll /etc/passwd    //只能查看文件的修改時間
-rw-r--r--. 1 root root 2310 12月 16 13:52 /etc/passwd
[xf@xuexi ~]$ stat /etc/passwd    //查看文件屬性,其中包含文件時間屬性
  文件:"/etc/passwd"
  大小:2310      	塊:8          IO 塊:4096   普通文件
設備:802h/2050d	Inode:8988703     硬鏈接:1
權限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
環境:system_u:object_r:passwd_file_t:s0
最近訪問:2018-12-23 15:19:41.520000727 +0800
最近更改:2018-12-16 13:52:20.673021532 +0800
最近改動:2018-12-16 13:52:20.675021532 +0800
創建時間:-

訪問時間:atime  查看內容,例cat a.xtx

修改時間:mtime  修改內容,例vim a.txt

改變時間:ctime  修改文件屬性,例如chmod +x a.sh

注意:使用touch修改的時間只有訪問時間和修改時間,不涉及改變時間

(2).實例

用touch創建文件

[xf@xuexi ~]$ mkdir newDir
[xf@xuexi ~]$ cd newDir/
[xf@xuexi newDir]$ ll
總用量 0
[xf@xuexi newDir]$ touch touch_test_file  //在當前目錄下創建文件
[xf@xuexi newDir]$ ll
總用量 0
-rw-rw-r--. 1 xf xf 0 12月 23 20:17 touch_test_file
[xf@xuexi newDir]$ mkdir mydir
[xf@xuexi newDir]$ touch mydir/touch_test_file  //在指定目錄下創建文件
[xf@xuexi newDir]$ ls -l mydir/
總用量 0
-rw-rw-r--. 1 xf xf 0 12月 23 20:18 touch_test_file
[xf@xuexi newDir]$ touch a.txt  //可以指定文件格式
[xf@xuexi newDir]$ touch file1 file2  //一次可以創建多個文件
[xf@xuexi newDir]$ touch file{3..5}  //創建file3到file5的文件
[xf@xuexi newDir]$ ls
a.txt  file1  file2  file3  file4  file5  mydir  touch_test_file

使用-t選項更改文檔時間

[xf@xuexi newDir]$ stat touch_test_file 
  文件:"touch_test_file"
  大小:0         	塊:0          IO 塊:4096   普通空文件
設備:802h/2050d	Inode:9536585     硬鏈接:1
權限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf)
環境:unconfined_u:object_r:user_home_t:s0
最近訪問:2018-12-23 20:17:28.678222307 +0800
最近更改:2018-12-23 20:17:28.678222307 +0800
最近改動:2018-12-23 20:17:28.678222307 +0800
創建時間:-
[xf@xuexi newDir]$ touch -t 06061806 touch_test_file 
[xf@xuexi newDir]$ stat touch_test_file 
  文件:"touch_test_file"
  大小:0         	塊:0          IO 塊:4096   普通空文件
設備:802h/2050d	Inode:9536585     硬鏈接:1
權限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf)
環境:unconfined_u:object_r:user_home_t:s0
最近訪問:2018-06-06 18:06:00.000000000 +0800  //可以看到訪問時間和修改時間都進行了修改
最近更改:2018-06-06 18:06:00.000000000 +0800
最近改動:2018-12-23 20:23:28.804018774 +0800  //因為文件屬性包含時間屬性,所以更改時間變為當時時間
創建時間:-

 接着上面繼續,將一個文檔時間同步到另一個文檔

[xf@xuexi newDir]$ touch -r a.txt touch_test_file 
[xf@xuexi newDir]$ stat touch_test_file 
  文件:"touch_test_file"
  大小:0         	塊:0          IO 塊:4096   普通空文件
設備:802h/2050d	Inode:9536585     硬鏈接:1
權限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf)
環境:unconfined_u:object_r:user_home_t:s0
最近訪問:2018-12-23 20:18:37.360425684 +0800
最近更改:2018-12-23 20:18:37.360425684 +0800
最近改動:2018-12-23 20:27:32.307375916 +0800
創建時間:-

以當前時間為參照,將將對過去的時間更改為文檔時間

[xf@xuexi newDir]$ touch -d "10 days ago" touch_test_file 
[xf@xuexi newDir]$ stat touch_test_file 
  文件:"touch_test_file"
  大小:0         	塊:0          IO 塊:4096   普通空文件
設備:802h/2050d	Inode:9536585     硬鏈接:1
權限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf)
環境:unconfined_u:object_r:user_home_t:s0
最近訪問:2018-12-13 20:29:11.197681782 +0800
最近更改:2018-12-13 20:29:11.197681782 +0800
最近改動:2018-12-23 20:29:11.196988185 +0800
創建時間:-

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM