【Linux】一步一步学Linux——touch命令(33)
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 擴展
- 06. 附錄
01. 命令概述
touch命令有兩個功能:一是創(chuàng)建新的空文件,二是改變已有文件的時間戳屬性。
touch命令會根據當前的系統時間更新指定文件的訪問時間和修改時間。如果文件不存在,將會創(chuàng)建新的空文件,除非指定了”-c”或”-h”選項。
注意:在修改文件的時間屬性的時候,用戶必須是文件的屬主,或擁有寫文件的訪問權限。
02. 命令格式
用法:touch [選項]... 文件...03. 常用選項
不存在的文件將會被創(chuàng)建為空文件,除非使用-c 或-h 選項。如果文件名為"-"則特殊處理,更改與標準輸出相關的文件的訪問時間。長選項必須使用的參數對于短選項時也是必需使用的。-a 只更改訪問時間-c, --no-create 不創(chuàng)建任何文件-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 選項的效果--help 顯示此幫助信息并退出--version 顯示版本信息并退出請注意,-d 和-t 選項可接受不同的時間/日期格式。04. 參考示例
4.1 創(chuàng)建新文件
[deng@localhost test]$ touch file [deng@localhost test]$ ls -l file -rw-rw-r-- 1 deng deng 0 7月 13 23:54 file [deng@localhost test]$4.2 創(chuàng)建多個文件,文件之間以空格分隔
[deng@localhost test]$ touch 20190713.log 20190712.log [deng@localhost test]$ ls 20190712.log 20190713.log b c d dir dir1 file systemd [deng@localhost test]$4.3 更改文件的最近訪問和最近更改時間
//查看文件的屬性信息 [deng@localhost test]$ stat file文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:54:09.042723645 +0800 最近更改:2019-07-13 23:54:09.042723645 +0800 最近改動:2019-07-13 23:54:09.042723645 +0800 創(chuàng)建時間:- //修改對應的時間戳 [deng@localhost test]$ touch file [deng@localhost test]$ stat file文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:56:10.302949855 +0800 最近更改:2019-07-13 23:56:10.302949855 +0800 最近改動:2019-07-13 23:56:10.302949855 +0800 創(chuàng)建時間:- [deng@localhost test]$4.4 只更改最近更改時間
[deng@localhost test]$ stat file 文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:56:10.302949855 +0800 最近更改:2019-07-13 23:56:10.302949855 +0800 最近改動:2019-07-13 23:56:10.302949855 +0800 創(chuàng)建時間:- [deng@localhost test]$ touch -a file [deng@localhost test]$ stat file 文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:57:25.086046773 +0800 最近更改:2019-07-13 23:56:10.302949855 +0800 最近改動:2019-07-13 23:57:25.086046773 +0800 創(chuàng)建時間:- [deng@localhost test]$4.5 只更改修改時間
[deng@localhost test]$ stat file 文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:57:25.086046773 +0800 最近更改:2019-07-13 23:56:10.302949855 +0800 最近改動:2019-07-13 23:57:25.086046773 +0800 創(chuàng)建時間:- [deng@localhost test]$ touch -m file [deng@localhost test]$ stat file文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:57:25.086046773 +0800 最近更改:2019-07-13 23:58:41.835146234 +0800 最近改動:2019-07-13 23:58:41.835146234 +0800 創(chuàng)建時間:- [deng@localhost test]$4.6 更改文件時間戳
[deng@localhost test]$ touch -t 201907132359.30 file [deng@localhost test]$ stat file 文件:"file"大小:0 塊:0 IO 塊:4096 普通空文件 設備:803h/2051d Inode:204100131 硬鏈接:1 權限:(0664/-rw-rw-r--) Uid:( 1000/ deng) Gid:( 1000/ deng) 最近訪問:2019-07-13 23:59:30.000000000 +0800 最近更改:2019-07-13 23:59:30.000000000 +0800 最近改動:2019-07-13 23:59:44.027226834 +0800 創(chuàng)建時間:- [deng@localhost test]$4.7 使用指定文件的時間屬性替代當前時間
[deng@localhost test]$ ls -l b c -rw-rw-r-- 1 deng deng 0 7月 13 23:28 b -rw-rw-r-- 1 deng deng 0 7月 13 23:28 c [deng@localhost test]$ ls -l b file -rw-rw-r-- 1 deng deng 0 7月 13 23:28 b -rw-rw-r-- 1 deng deng 0 7月 13 23:59 file//將文件file的時間戳改為與b文件的時間戳相同 [deng@localhost test]$ touch -r b file [deng@localhost test]$ ls -l b file -rw-rw-r-- 1 deng deng 0 7月 13 23:28 b -rw-rw-r-- 1 deng deng 0 7月 13 23:28 file [deng@localhost test]$05. 擴展
命令 stat 用于查看文件的相關信息,包含以下三個時間。
最近訪問:表示文件訪問時間,當文件被讀取時會更新這個時間,但是使用 more、less、tail 和 ls 等命令查看時,訪問時間不會變。
最近更改:表示文件的修改時間,這指的是文件內容的修改
最近改動:表示文件屬性改變時間,比如通過 chmod 命令更改文件屬性時,會更新最近改動時間。
touch 命令以 [[CC]YY]MMDDhhmm[.SS] 格式指定新時間戳的日期和時間,相關變量詳細信息如下所示:
CC 指定年份的前兩位數字(即:世紀數)
YY 指定年份的后兩位數字(即:某世紀中的年數)
MM 指定一年的哪一個月,1 ~ 12
DD 指定一年的哪一個天,1 ~ 31
hh 指定一天中的哪一小時,0 ~ 23
mm 指定一小時中的哪一分鐘,0 ~ 59
SS 指定一分鐘中的哪一秒鐘,0 ~ 59
06. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——touch命令(33)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——r
- 下一篇: 【Linux】一步一步学Linux——b