[筆記]何爲Linux及其文件系統(五)

1、lshtml

-a 所有的文件,連同隱藏的文件(開頭爲.的文件)bash

-d 僅列出目錄自己,而不是列出目錄內的文件數據數據結構

-l 長數據串列出,包含文件的屬性和權限等數據socket

-F 根據文件、目錄等資訊,給予附加數據結構,例如:*:表明可運行檔;/:表明目錄;=:表明socket文件;|:表明FIFO文件ui

-h 將文件容量以用戶較易讀的方式列出,例如GB、KB等命令行

-S 以文件大小順序列出(默認以檔名排序)htm

-t 以時間順序列出(默認以檔名排序)blog

-r 將排序結果以反向輸出排序

-R 連同子目錄內容一併列出遞歸

--full-time 以完整時間模式(包含年、月、日、時、分)輸出

--time={atime,ctime} 輸出access時間或改變權限屬性的時間。而非內容變動時間(mtime,modification time)

--color=auto 讓系統自動根據配置來判斷是否給予顏色

 


2、cp

cp若是沒有加任何屬性,複製的就是原始文件,而非源文件的屬性(注意和-d的區別)

-a 想當於-pdr

-p 連同文件的屬性一併複製過去,而非使用默認屬性(備份經常使用)

-d 若來源檔位鏈接檔的屬性(link file),則複製鏈接檔屬性而非文件自己

-r 遞歸連續複製,用於目錄的複製

-i 互動模式,若目標檔destination已經存在,在覆蓋的時候詢問動做的進行

-f 強制,若目標文件已經存在且沒法開啓,則移除後再嘗試

-l 進行硬式鏈接(hard link)的鏈接檔建立,而非複製文件自己

-s 複製成爲符號鏈接檔(symbolic link),亦稱快捷方式

-u 若destination比source舊才升級destination,經常使用於備份。由於只有在目標文件和源文件由差別時纔會複製。

 

注意:

①不一樣身份運行cpui有不一樣的結果產生,尤爲是-a

 ②-l和-s創建鏈接檔的區別:-l是實體鏈接,-s是符號鏈接。例如

 bashrc_slink是一個捷徑,該捷徑鏈接到bashrc去,因此你能夠看到該檔名右側有一個->的符號(ls -l)

 bashrc_hlink是與 bashrc的屬性和權限徹底同樣,與還沒有進行鏈接以前的差別是第二欄的link數由1變成2

 


3、rm

-f 忽略不存在的文件,不會出現警告信息

-i 互動模式,在刪除前詢問使用者是否執行

 -r 遞歸刪除,用於目錄的刪除(-rf)

 

注意:

①假如要刪除目錄/temp/etc

rm -r /temp/etc

由於身份是root,默認已經加入-i,因此須要一直按y才能刪除成功

加入不想繼續按y,能夠按ctrl——c來結束rm的工做

這是一種保護的動做,假如肯定要刪除掉此目錄而不詢問,則能夠

\rm -r /temp/etc

在命令行前面加上\能夠忽略alias的指定選項(i、f、r)

②假如要刪除一個帶-開頭的文件

touch ./-aaa-  #先建立一個空文件

rm -aaa-  #首先這樣會致使系統誤判

rm ./-aaa-  #正確刪除方式

 


4、mv

mv用於移動文件或目錄,或者改名

-f 若是目標文件已經存在,直接覆蓋,不會詢問

-i 互動模式,在覆蓋前詢問使用者是否執行

 -u 若目標文件已經存在,且source比較新,纔會升級update

mv bashrc mvtest將文件bashrc移動到mvtest文檔

mv mvtest mvtest2修改目錄mvtest的名稱(改名操做)

mv bashrc1 bashrc2 mvtest2若是有多個來源和目錄,則最後一個參數必定是目錄

 

注意:

其實對於改名,還有一個命令rename

rename專門進行多個檔名的同時改名,並不是針對單一檔名

 


5、cat

-n 列印出行號,連同空白行也會有行號,與-b的選項不一樣

-b 列出行號,僅針對非空白行作行號顯示,空白行不標行號

-A 至關於-vET

-v 列出一些看不出來的特殊字符

-E 將結尾的斷行字符$顯示出來

-T 將[tab]按鍵以^|顯示出來

 

例如:

cat /etc/issue正常顯示

cat -n /etc/issue加印行號

cat -b /etc/issue不想加印空白行號

 


 6、touch

-a 僅修改access time訪問時間

-c 僅修改文件ctime當前時間,若該文件不存在則建立新文件

-m 僅修改mtime建立時間

-t 後面能夠接欲修訂的時間而不用目前的時間,格式爲[YYMMDDhhmm]

-d 後面能夠接欲修訂的日期而不用目前的時間

 

注意:

經常使用來新建一個空的文件並觀察時間

在默認狀態下,若是touch後面接了文件名,則該文件的三個時間(atime、ctime、mtime)都會升級爲當前時間

若該文件不存在,則會主動建立一個新的空的文件

 

例如,對於某個文件,

(1)可使用命令:ll file; ll --time=atime file;ll --time=ctime file

查看文件的mtime、atime、ctime

(2)touch -d "2 days ago" file將日期修改成兩天前

此時再用(1)的命令查看發現,atime和mtime變成了兩天前,而ctime沒有改變

(3)touch -t 0709150202  file將日期修改成2007/09/15 2.02

此時再用(1)的命令查看發現,atime和mtime改變了,而ctime則是記錄目前的時間

 

 經常使用的幾個命令如上,下面咱們將瞭解一下命令與文件的搜尋which、whereis、locate、find的區別

相關文章
相關標籤/搜索