您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux下touch命令怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
touch 命令基本用法
提起 touch 命令,大家想到的肯定是它的兩個用法:
改變時間戳
創建新文件
這兩種用法大家在工作中早已用膩了,良許就不再贅述了。
防止創建文件
如果在 touch 后面直接跟上一個文件名,該文件如果不存在的話,將創建一個相應名字的文件。那么如果我們只想改變文件的時間戳,如果文件不存在時不進行文件創建該怎么做?這里需要加上 -c 選項。
[alvin@VM_0_16_centos test]$ touch -c alvin [alvin@VM_0_16_centos test]$ ll alvin ls: cannot access alvin: No such file or directory
僅改變文件訪問時間
我們知道,如果不帶任何選項執行 touch 命令時,文件的訪問時間及修改時間都是同時被改變成當前系統時間。如下所示:
[alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2019-02-20 14:20:21.154819675 +0800 Modify: 2019-02-20 14:20:21.154819675 +0800 Change: 2019-02-20 14:20:21.191819649 +0800 Birth: - [alvin@VM_0_16_centos test]$ touch file # 在這里使用 touch 命令 [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2019-02-20 21:51:24.848774158 +0800 # 文件的訪問時間/修改時間均已改成當前系統時間 Modify: 2019-02-20 21:51:24.848774158 +0800 Change: 2019-02-20 21:51:24.848774158 +0800 Birth: -
這里使用到 stat 命令,可以查看文件更詳細的信息。
如果我們只想改變文件的訪問時間,只需加上 -a 選項即可, a 即是單詞 access 的縮寫。
[alvin@VM_0_16_centos test]$ touch -a file [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2019-02-20 21:56:40.858021859 +0800 # 只有訪問時間的時間戳被改變了 Modify: 2019-02-20 21:51:24.848774158 +0800 # 修改時間保持不變 Change: 2019-02-20 21:56:40.858021859 +0800 Birth: -
僅改變修改時間
如果我們只想改變文件的修改時間,只需加上 -m 選項即可, m 即是單詞 modify 的縮寫。
[alvin@VM_0_16_centos test]$ touch -m file [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2019-02-20 21:56:40.858021859 +0800 Modify: 2019-02-20 22:07:39.138701655 +0800 Change: 2019-02-20 22:07:39.138701655 +0800 Birth: -
更改為自定義時間戳
不管是不帶選項,還是帶上 -a 或 -m 選項,都會將文件相應的時間改為當前系統時間戳。那如果我們想改為自定義的時間戳呢?要怎么處理?否則怎么算得上時光穿梭?
我們有兩種方法來更改為自定義時間戳。
1. 加上 -t 選項
比如我們將文件的時間戳改為一個將來時間:
[alvin@VM_0_16_centos test]$ touch -t 202001012020.20 file [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2020-01-01 20:20:20.000000000 +0800 Modify: 2020-01-01 20:20:20.000000000 +0800 Change: 2019-02-20 22:13:01.526965566 +0800 Birth: -
在這里, -t 后面所帶的時間戳的格式為:
[[CC]YY]MMDDhhmm [.SS]
具體來講,是這樣的:
CC - 年份的前兩位 YY - 年份的后兩位 MM - 月份 [01-12] DD - 日期 [01-31] hh - 時 [00-23] mm - 分 [00-59] SS - 秒 [00-61]
2. 加上 -d 選項
我們再用新方法將文件的時間戳改成一個過去的時間(2008年奧運會開幕式):
[alvin@VM_0_16_centos test]$ touch -d '08-August-2008' file [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2008-08-08 00:00:00.000000000 +0800 Modify: 2008-08-08 00:00:00.000000000 +0800 Change: 2019-02-20 22:25:47.808490725 +0800 Birth: -
在這里,時間的格式為:日-月-年 。但是,這里的時間可以相當靈活,比如也支持 yesterday 、 1 year ago 等等模糊時間:
[alvin@VM_0_16_centos test]$ touch -d 'yesterday 08-August-2008' file [alvin@VM_0_16_centos test]$ stat file File: ‘file’ Size: 10 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 371115 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ alvin) Gid: ( 1000/ alvin) Access: 2008-08-07 00:00:00.000000000 +0800 Modify: 2008-08-07 00:00:00.000000000 +0800 Change: 2019-02-20 22:31:57.564725604 +0800 Birth: -
除了更改時間,它還可以改時區。
更改時區,只需在 -d 后面跟上對應的時區就可以。
感謝各位的閱讀!關于“Linux下touch命令怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。