Linux-touch

3.文件管理

本章同步視頻:https://edu.51cto.com/sd/e4874


3.2.5 touch - change file timestamps

touch [OPTION]... FILE...

1.時間戳

atime:Access time,在讀取文件或執行文件時更改。

mtime:Modifiedtime,在寫入文件時隨文件內容的更改而更改。

ctime:Change time,在寫入文件、更改所有者、權限或鏈接設置時隨inode的內容更改而更改。mtime改變,ctime隨之改變。

(1)只有讀取或者執行文件後,atime改變,而mtime,ctime不改變。

(2)只想文件寫入內容後,mtime改變,ctime改變,而atime不改變。

(3)只修改inode信息(除文件內容)後,ctime改變,而atime,mtime不改變。

2.創建一個空文件

(1)創建一個空文件,查看其時間屬性

[root@localhost tmp]# touch aaa

[root@localhost tmp]# ll aaa                               

#mtime,修改內容時間/創建時間

-rw-r--r--. 1 root root 0 3月  12 21:13 aaa    

[root@localhost tmp]# ls -l --time=atime aaa      

#atime,讀取內容時間

-rw-r--r--. 1 root root 0 3月  12 21:13 aaa

[root@localhost tmp]# ls -l --time=ctime aaa      

#ctime,修改屬性時間

-rw-r--r--. 1 root root 0 3月  12 21:13 aaa

(2)修改屬性

[root@localhost tmp]# chmod 666 aaa

[root@localhost tmp]# ll aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:31 aaa

[root@localhost tmp]# ll --time=atime aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:31 aaa

[root@localhost tmp]# ll --time=ctime aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:33 aaa      #ctime改變

(3)查看內容

[root@localhost tmp]# cat aaa

aaaa

[root@localhost tmp]# ll aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:31 aaa

[root@localhost tmp]# ll --time=ctime aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:33 aaa

[root@localhost tmp]# ll --time=atime aaa

-rw-rw-rw-. 1 root root 5 3月  12 21:35 aaa       #atime改變

(5)修改文件內容

[root@localhost tmp]# vim aaa

[root@localhost tmp]# ll aaa

-rw-rw-rw-. 1 root root 10 3月  12 21:36 aaa      #mtime改變

[root@localhost tmp]# ll --time=ctime aaa

-rw-rw-rw-. 1 root root 10 3月  12 21:36 aaa      #ctime改變

[root@localhost tmp]# ll --time=atime aaa

-rw-rw-rw-. 1 root root 10 3月  12 21:35 aaa

3.使用touch修改時間戳

(1)創建文件

[root@localhost tmp]# touch aaa

[root@localhost tmp]# date

Thu Mar 12 22:41:51 CST 2020

[root@localhost tmp]# ll aaa

-rw-r--r--. 1 root root 0 Mar 12 22:41 aaa

[root@localhost tmp]# ll --time=atime aaa

-rw-r--r--. 1 root root 0 Mar 12 22:41 aaa

[root@localhost tmp]# ll --time=ctime aaa

-rw-r--r--. 1 root root 0 Mar 12 22:41 aaa

#注:創建文件後,三個time是一樣的。

(2)修改atime

[root@localhost tmp]# touch -a aaa

[root@localhost tmp]# stat aaa

  File: ‘aaa’

  Size: 0              Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 7595        Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2020-03-12 22:55:16.151176379 +0800

Modify: 2020-03-12 22:47:19.151147596 +0800

Change: 2020-03-12 22:55:16.151176379 +0800

 Birth: -

#注:修改atime後,atime和ctime會變

(3)修改mtime

[root@localhost tmp]# touch -m aaa

[root@localhost tmp]# stat aaa

  File: ‘aaa’

  Size: 0              Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 7595        Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2020-03-12 22:55:16.151176379 +0800

Modify: 2020-03-12 22:56:09.743179613 +0800

Change: 2020-03-12 22:56:09.743179613 +0800

 Birth: -

#注:修改mtime後,mtime和ctime會變

(4)修改所有時間戳

[root@localhost tmp]# touch -c aaa   #或者 touch  aaa

[root@localhost tmp]# stat aaa

  File: ‘aaa’

  Size: 0              Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 7595        Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2020-03-12 22:57:14.750183535 +0800

Modify: 2020-03-12 22:57:14.750183535 +0800

Change: 2020-03-12 22:57:14.750183535 +0800

 Birth: -

#注:1.重新touch同名文件後,三個time都會變。

         2.-c表示如果源文件不存在,則不創建文件。

         3.不管是修改atime,還是修改mtime,ctime都會變。

4.使用touch指定時間戳

(1)指定日期

[root@localhost tmp]# touch -m -d "2 days ago" aaa

[root@localhost tmp]# stat aaa

  File: ‘aaa’

  Size: 0              Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 7595        Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2020-03-12 22:57:14.750183535 +0800

Modify: 2020-03-10 23:10:32.056361925 +0800

Change: 2020-03-12 23:10:32.056231646 +0800

 Birth: -

#注:1.mtime被修改爲兩天前。

          2.ctime自動修改爲當前時間。

(2)指定時間

[root@localhost tmp]# touch -a -t 202005051010.10 aaa

[root@localhost tmp]# stat aaa

  File: ‘aaa’

  Size: 0              Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d Inode: 7595        Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2020-05-05 10:10:10.000000000 +0800

Modify: 2020-03-10 23:10:32.056361925 +0800

Change: 2020-03-12 23:13:18.713241702 +0800

 Birth: -

#注:1.atime被修改爲2020-05-05 10:10:10。

          2.ctime自動更新。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章