Linux 常用指令集(二)
目錄管理
目錄符號
. 代表當前目錄
.. 代表上層目錄
~ 代表自家目錄
* 代表所有檔案
變換目錄
$ cd 回到自家目錄
$ cd ~ 回到自家目錄
$ cd .. 回到上層目錄
$ cd / 回到根目錄
$ cd pyword 到當前目錄中的pyword目錄
$ cd ../notes 相對路徑
$ cd /Users/Bob 絕對路徑
$ cd ~Bob 回到Bob這位使用者目錄
顯示當前目錄路徑
$ pwd
建立新目錄
$ mkdir [目錄名稱]
刪除空目錄
$ rmdir [目錄名稱]
檔案管理
列出檔案
$ ls [參數] # 預設會列出所有非隱藏檔案和目錄
參數:
-a 列出所有檔案和目錄,包含隱藏檔
-l 顯示檔案和目錄詳細資訊
-F 顯示檔案類型
-R 遞迴列出所有檔案和目錄
-d */ 只列出所有目錄
範例:
$ ls -al # 列出所有檔案和目錄,並顯示詳細資訊
刪除檔案
$ rm [參數] [檔案或目錄名稱]
參數:
-r 遞迴刪除所有子目錄和檔案
-f 強制刪除,不會有任何提示
範例:
$ rm config.bak # 刪除 config.bak 檔案
$ rm -rf notes # 強制刪除 notes 目錄以及所有子目錄和檔案
複製檔案
$ cp [參數] [來源檔案或目錄] [目的檔案或目錄]
參數:
-r 複製目錄中所有檔案
-n 不要覆蓋已存在的檔案
-i 詢問是否覆蓋已存在的檔案
範例:
cp -r sour/ dest/ # 複製 sour 目錄中所有檔案到 dest 目錄中
搜尋檔案
$ find [目錄] [選項]
選項1:
-name 指定檔名搜尋
-iname 指定檔名搜尋,但忽略大小寫
格式:
$ find [目錄] [選項] [檔名正規表達式]
範例:
$ find . -name '*.txt' # 搜尋當前目錄下所有txt檔
選項2:
-type 指定檔案類型
參數:
d 目錄
f 檔案
格式:
$ find [目錄] [選項] [參數]
範例:
$ find . -type d # 搜尋當前目錄下所有資料夾
$ find . -type d -name '*git*' # 搜尋當前目錄下所有包含git名稱的目錄
選項3:
-exec 將搜尋結果進行相關操作(如:刪除檔案)
範例:刪除當前目錄下所有txt
檔
$ find . -name '*.txt' -exec rm -f {} \; #使用 -exec 執行 rm 指令,會將 find 結果代入 {}
$ find . -name '*.txt' | xargs rm -rf #使用 xargs 達到相同的結果,find 的結果會傳遞給 xargs 指令
查看檔案內容
一般情況:
$ vim [檔案名稱]
指令:
i 進入編輯模式
esc 離開編輯模式
:wq 儲存檔案,並離開 vim 模式
:q! 強制離開 vim 模式
shift+g 到達內容尾端
查看即時Log
內容:
tail -f [檔案名稱]
Soft Link
建立 Soft Link
在需要建立 Soft Link 的目錄位置,輸入以下指令。
$ ln -s [路徑] [Soft Link 名稱]
範例:在當前的目錄下建立連結至/Users/Bob/Picture/
的 pic Soft Link,
之後執行cd pic
可直接到達/Users/Bob/Picture/
目錄下。
ln -s /Users/Bob/Picture/ pic
解除 Soft Link
$ unlink [Soft Link 名稱]