Linux常用命令示例詳解(一)-檔案管理
1、touch 命令
- 使用說明:
Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。
- 使用語法:
touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]
- 前注說明
通過如下命令,檢視指定檔案/目錄的詳細時間:
stat file
結果如下:
說明:
時間 Access 最後一次讀取訪問的時間
時間 Modify 最後一次修改時間 指修改檔案內容
時間 Change 最後一次修改檔案屬性如許可權、屬性等的時間
- 引數說明:
- a 改變檔案的讀取時間記錄。
- m 改變檔案的修改時間記錄。
- c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
- f 不使用,是為了與其他 unix 系統的相容性而保留。
- r 使用參考檔的時間記錄,與 --file 的效果一樣。
- d 設定時間與日期,可以使用各種不同的格式。
- t 設定檔案的時間記錄,格式與 date 指令相同。
- --no-create 不會建立新檔案。
- --help 列出指令格式。
- --version 列出版本訊息。
- 具體示例詳解
建立不存在的檔案
執行命令 touch file (file檔案具體的檔名)
touch file
此時注意,或該檔案已經存在,則不會建立新的檔案,僅會更新該檔案的時間屬性(檔案內容不會丟)
示例結果
-a 改變檔案的讀取時間記錄。
示例結果
-m 改變檔案的修改時間記錄。
與上述類似
示例結果
-c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
說明:即如果執行 touch -c fileabc 如果fileabc檔案不存在並不會建立新檔案
而以上的命令是會建立新檔案的,可以自己試下!
此時以上的命令 touch -a file touch -m file touch -c file 都是將時間更新成當前系統時間,但如果想更新成指定時間呢
更新檔案指定時間
示例結果
-f 此引數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。
與其它引數聯合使用!
-r 使用參考檔的時間記錄,與 --file 的效果一樣。
示例命令
stat file file2
touch touch -r file file2
stat file file2
把file2檔案的時間屬性修改成與檔案file相同
示例結果
-d 設定時間與日期,可以使用各種不同的格式。
示例結果
-t 設定檔案的時間記錄,格式與 date 指令相同。
touch 命令以 [[CC]YY]MMDDhhmm[.ss] 的格式指定新時間戳的日期和時間,相關資訊如下:
CC 指定年份的前兩位數字。
YY 指定年份的後兩位數字。
MM 指定一年的哪一月, 1-12。
DD 指定一年的哪一天, 1-31。
hh 指定一天中的哪一個小時, 0-23。
mm 指定一小時的哪一分鐘, 0-59。
示例 指定修改檔案Access最後一次讀取檔案時間
示例結果
--no-create 不會建立新檔案。
示例結果 不會建立新檔案
--help 列出指令格式。
touch --help
示例結果
--version 列出版本訊息。
touch --version
示例結果
2、file 命令
- 使用說明
file命令用來識別檔案型別,也可用來辨別一些檔案的編碼格式。它是通過檢視檔案的頭部資訊來獲取檔案型別,而不是像Windows通過副檔名來確定檔案型別的
- 使用語法
file [-bcLvz][-f <名稱檔案>][-m <魔法數字檔案>...][檔案或目錄...]
- 引數說明:
- -b 列出辨識結果時,不顯示檔名稱。
- -c 詳細顯示指令執行過程,便於排錯或分析程式執行的情形。
- -f<名稱檔案> 指定名稱檔案,其內容有一個或多個檔名稱時,讓file依序辨識這些檔案,格式為每列一個檔名稱。
- -L 直接顯示符號連線所指向的檔案的類別。
- -m<魔法數字檔案> 指定魔法數字檔案。
- -v 顯示版本資訊。
- -z 嘗試去解讀壓縮檔案的內容。
- [檔案或目錄...] 要確定型別的檔案列表,多個檔案之間使用空格分開,可以使用shell萬用字元匹配多個檔案。
示例結果
[[email protected] ~]# file install.log
install.log: UTF-8 Unicode text
[[email protected] ~]# file -b install.log <== 不顯示檔名稱
UTF-8 Unicode text
[[email protected] ~]# file -i install.log <== 顯示MIME類別。
install.log: text/plain; charset=utf-8
[[email protected] ~]# file -b -i install.log
text/plain; charset=utf-8
[[email protected] ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
[[email protected] ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'
[[email protected] ~]# file -L /var/mail
/var/mail: directory
[[email protected] ~]# file /var/spool/mail
/var/spool/mail: directory
[[email protected] ~]# file -L /var/spool/mail
/var/spool/mail: directory
後續準備中,待續... ...