一. 目錄文檔操作指令
1. pwd 顯示目前所在目錄
如果加上-P 的選項,則取得正確的目錄名稱,而不是以鏈接文件的路徑來顯示。 例如CentOS下,剛剛好/var/mail是/var/spool/mail的連結檔
2. cd 變更工作路徑
可以使用絕對路徑和相對路徑。
另外還有如下幾種特別的路徑代表方式:
1) . 代表此層目錄
2) .. 代表上一層目錄
3) - 代表前一個工作目錄
4) ~ 代表『目前用戶身份』所在的家目錄
5) ~account 代表 account 這個用戶的家目錄(account是個賬號名稱)
3. ls 列出目錄下的目錄和檔案
選項與參數:
-a :全部檔案,包括隱藏檔案一起列出
-A :全部檔案,包括隱藏檔,但不包括 . 與 .. 這兩個目錄
-d :僅列出目錄
-f :直接列出結果,而不進行排序 (默認會以檔名排序!)
-F :根據檔案、目錄等信息,給予附加數據結構,例如: *:代表可執行文件; /:代表目弽; =:代表 socket 檔案; |:代表 FIFO 檔案;
-h :將檔案容量以人類較易讀的方式(例如 GB, KB 等等)列出;
-i :列出 inode 號碼;
-l :列表輸出
-n :列出 UID 與 GID 而非使用者與群組的名稱
-r :將排序結果反向輸出,例如:原本檔名由小到大,反向則為由大到小;
-R :連同子目錄內容一起列出來;
-S :以檔案容量大小排序;
-t :依時間排序。
--color=never :不要依據檔案特性給予顏色顯示;
--color=always :顯示顏色
--color=auto :讓系統自行依據設定來判斷是否給予顏色
--full-time :以完整時間模式 (包括年、月、日、時、分) 輸出
--time={atime,ctime} :輸出 access 時間或改變權限屬性時間,而非內容變更時間。
4. mkdir 建立新目錄
選項和參數:
-m :配置文件夾權限,權限用三位0到7之間的數字組成。
-p :直接建立多層目錄,如: mkdir -p test1/test2/test3
5. rmdir 刪除空目錄
選項和參數:
-p: 直接刪除多層空目錄,如: rmdir -p test1/test2/test3
6. cp 復制檔案或目錄
用法
1) cp 選項 源文件 目標文件
2) cp 選項 source1 source2 source3 .... directory
選項與參數:
-a :相當於 -pdr 的意思;
-d :若源文件為鏈接文件,則復制鏈接文件而非檔案本身,默認復制鏈接文件時會將鏈接到的源文件復制過來;
-f :為強制復制,若目標檔案已經存在無法復制,則移除後再嘗試一次;
-i :若目標文件已經存在,在覆蓋時會先詢問動作的進, CentOS7默認詢問
-l :進行硬式連結(hard link)的連結檔建立,而非復制檔案本身;
-p :連同檔案的屬性一起復制過去,而非使用默認屬性(備份常用);
-r :遞歸復制,用於目錄復制;
-s :復制成為符號鏈接文件 (symbolic link快捷方式);
-u :若 destination 比 source 舊才更新 destination。
7. rm (移除檔案或目錄)
可刪除非空目錄,刪除時可使用通配符,例如b*代表b打頭的所有文件.
刪除-打頭的檔案,因為-會被誤解為選項,如rm -aaa,
可以改為rm ./-aaa,或者rm -- -aaa
選項與參數:
-f :就是 force 的意思,忽略不存在的檔案,不會出現警告訊息;
-i :互動模式,在刪除前會詢問使用者是否動作。
-r :遞歸刪除
8. mv (移動檔案與目錄,或更名)
用法
1) mv 選項 source destination
2) mv 選項 source1 source2 source3 .... directory
-f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋;
-i :互動模式,詢問是否覆蓋
-u :若目標檔案已經存在,且 source 比較新,才會更新 (update)
9. basename 取得路徑的文件名
10. dirname 取得路徑的目錄名
11. cat 由第一行開始顯示檔案內容
選項與參數:
-A :相當於 -vET 的整合選項,可列出一些特殊字符而不是空白而已;
-b :列出行號,空白行不標行號!
-n :列出行號,連同空白行也會有行號
-E :將結尾的斷行字符 $ 顯示出來;
-T :將 [tab] 按鍵以 ^I 顯示;
-v :列出一些看不出來的特殊字符
12. tac 從最後一行開始倒著顯示
13. nl 顯示的時候,輸出行號
選項與參數:
-b :指定行號指定的方式,主要有兩種:
-b a :表示空行也同樣列出行號(類似 cat -n);
-b t :表示空行不列出行號(默認);
-n :列出行號的表示方法,主要有三種:
-n ln :行號在屏幕的最左方顯示;
-n rn :行號在自己字段的最右方顯示,且不加 0 ;
-n rz :行號在自己字段的最右方顯示,且加 0 ;
-w :行號字段占用的位數。
14. more 用於浏覽大文件,一頁一頁的顯示檔案內容
在用該命令開始浏覽時可用下面的按鍵進行互動:
1) 空格鍵 (space):代表向下翻一頁;
2) Enter :代表向下翻一行;
3) /字符串 :代表向下搜尋『字符串』這個關鍵詞, CentOS7下不好用
4) :f :立刻顯示出文件名以及目前顯示的行數;
5) q :代表立刻離開 more ,丌再顯示該檔案內容。
6) b 或 [ctrl]-b :代表往回翻頁,不過只對檔案有用,對管線無用。
15. less 與 more 類似,但是功能更強大好用!
在用該命令開始浏覽時可用下面的按鍵進行互動:
1) 空格鍵 :向下翻一頁;
2) [pagedown]:向下翻一頁;
3) [pageup] :向上翻一頁;
4) /字符串 :向下搜尋『字符串』的功能;
5) ?字符串 :向上搜尋『字符串』的功能;
6) n :重復前一個搜尋 (與 / 或 ? 有關!)
7) N :反向重復前一個搜尋 (與 / 或 ? 有關!)
8) q :離開 less 這個程序;
16. head 只看頭幾行
選項與參數:
-n :後面接數字,代表顯示幾行的意思
17. tail 只看尾巴幾行
選項與參數:
-n :後面接數字,代表顯示幾行的意忠
-f :表示持續偵測檔案,當檔案有數據寫入時就立刻顯示到屏幕上,直到按下[ctrl]-c結束tail的偵測
18. od 以二進制的方式讀取檔案內容!
選項與參數:
-t :後面可以接各種『類型 (TYPE)』的輸出,例如:
a :利用默認的字符輸出;
c :使用 ASCII 字符輸出
d[size] :利用十進制(decimal)輸出數據,每個整數占用 size bytes ;
f[size] :利用浮點數(floating)輸出數據,每個數占用 size bytes ;
o[size] :利用八進制(octal)輸出數據,每個整數占用 size bytes ;
x[size] :利用十六進制(hexadecimal)輸出數據,每個整數占用 size bytes ;
19. touch 修改檔案時間
選項與參數:
-a :僅修訂 access time;
-c :僅修改檔案的時間,若該檔案不存在則不建立新檔案;
-d :後面可以接修訂的日期而不用目前的日期,也可以使用 --date="日期或時間"
-m :僅修改 mtime ;
-t :後面可以接修訂的時間而不用目前的時間,格式為[YYMMDDhhmm]
二、目錄和文檔的搜尋
1. which 尋找指令文件位置,只找PATH參數定義的位置。
which [-a] command
選項或參數:
-a :列出所有指令,默認只列第一個被找到的指令位置。
2. whereis 用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s),利用數據庫搜
whereis [-bmsu] 檔案或目錄名
選項與參數:
-b :只找 binary 格式的檔案
-m :只找在說明文件 manual 路徑下的檔案
-s :只找 source 來源檔案
3. locate 根據檔案的部分名稱(路徑部分包含也算)來搜尋,利用數據庫搜,一般可能一天更新一次數據庫,如果等不及可以直接用updatedb來更新數據庫。
locate [-ir] keyword
選項與參數:
-i :忽略大小寫的差異;
-r :後面可接正規表示法的顯示方式
4. find 在文件系統中查找文件
find [PATH] [option] [action]
選項與參數:
1) 與時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
-mtime n :在第n天前(僅n本身)被更過內容的檔案;
-mtime +n :列出在n天前(不含 n 天本身)被更改過內容的檔案檔名;
-mtime -n :列出在 n 天內(含 n 天本身)被更改過內容的檔案檔名。
-newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名
2) 與使用者或組名有關的參數:
-uid n :n 為數字,這個數字是用戶的UID
-gid n :n 為數字,這個數字是組名的 GID
-user name :name 為使用者賬號名稱
-group name:name 為組名
-nouser :尋找檔案的擁有者不存在於 /etc/passwd 中的人!
-nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案!
自行安裝軟件時可能存在沒有檔案擁有者的檔案。
3)與檔案權限及名稱有關的參數:
-name filename:搜尋文件名為 filename 的檔案;
-size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 癿規格有: c: 代表 byte, k: 代表 1024bytes。
-type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f), 裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s), 及 FIFO (p) 等屬性。
-perm mode :搜尋檔案權限『剛好等於』 mode 的檔案,這個 mode 為類似 chmod 的屬性值
-perm -mode :搜尋檔案權限『必須要全部囊括 mode 的權限』的檔案,比如, 我們要搜尋 -rwxr--r-- ,即0744 的檔案,使用 -perm -0744, 當一個檔案的權限為 -rwsr-xr-x ,亦即 4755 時,也會被列出來, 因為 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
-perm +mode :搜尋檔案權限『包含任一 mode 的權限』的檔案,
4) 額外可進行的動作:
-exec command :command 為其他指令,用來處理搜尋到的結果。
-print :將結果打印到屏幕上,這個動作是預設動作!