1. 程式人生 > >Linux常用命令示例詳解(一)-檔案管理

Linux常用命令示例詳解(一)-檔案管理

1、touch 命令

  • 使用說明:

Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。

  • 使用語法:
touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]
  • 前注說明

通過如下命令,檢視指定檔案/目錄的詳細時間:

stat file

結果如下:

說明:

時間 Access 最後一次讀取訪問的時間

時間 Modify 最後一次修改時間 指修改檔案內容

時間 Change 最後一次修改檔案屬性如許可權、屬性等的時間

  • 引數說明
  1. a 改變檔案的讀取時間記錄。
  2. m 改變檔案的修改時間記錄。
  3. c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
  4. f 不使用,是為了與其他 unix 系統的相容性而保留。
  5. r 使用參考檔的時間記錄,與 --file 的效果一樣。
  6. d 設定時間與日期,可以使用各種不同的格式。
  7. t 設定檔案的時間記錄,格式與 date 指令相同。
  8. --no-create 不會建立新檔案。
  9. --help 列出指令格式。
  10. --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

 

 

 

 

後續準備中,待續... ...