檔案及目錄
變換目錄(change directory): cd
變換目錄
$ cd [絕對/相對路徑]
變換到某個使用者的家目錄
$ cd 波浪符[使用者名]
顯示所在目錄(print working directory): pwd
顯示確實路徑,而非連結路徑
$ pwd -P
建立目錄(make directory): mkdir
遞回建立多層目錄,即使原本都不存在
$ mkdir -p layer1/layer2/layer3
建立目錄,且同時設定權限(不使用預設權限)
$ mkdir -m 777 [目錄名稱]
刪除空目錄(remove directory): rmdir
遞回刪除多層"空"目錄
$ rmdir -p layer1/layer2/layer3
執行檔路徑: $PATH
加入新的路徑(例如:/root)到執行檔路徑中
$ PATH="${PATH}:/root"
檢視檔案及目錄(list): ls
常用[-a]:列出所有檔案包含隱藏檔
常用[-d]:僅列出目錄本身,不列出目錄內檔案
常用[-l]:列出長串的完整屬性,包含權限等
$ ls [-aAdfFhilnrRSt] 檔名或目錄名稱..
$ ls [--color={never,auto,always}] 檔名或目錄名稱..
$ ls [--full-time] 檔名或目錄名稱..
$ ls -l 等同於 $ ll
複製檔案及目錄(copy): cp
常用[-a]:完整複製
常用[-i]:目標已存在時,會詢問是否覆蓋
常用[-p]:連同檔案的屬性(權限、用戶、時間)一起複製過去,而非使用預設屬性(備份常用)
常用[-r]:遞迴持續複製整個目錄
$ cp [-adfilprsu] 來源檔 目標檔
刪除檔案及目錄(remove): rm
常用[-f]:指的是force,不存在的檔案就忽略,不會詢問
常用[-i]:刪除前會詢問
常用[-r]:遞回刪除整個目錄(危險!)
$ rm [-fir] 目標檔
移動檔案及目錄(move): mv
常用[-f]:指的是force,存在同樣的檔案就覆蓋,不會詢問
常用[-i]:目標存在時,會詢問
常用[-u]:來源較新時就覆蓋
(利用mv指令也可以做到更名的動作)
$ mv [-fiu] 來源檔 目標檔
取得路徑的檔名、目錄名: basename、dirname
取得路徑的檔名 testfile
$ basename /etc/testdir/testfile
取得路徑的目錄名 /etc/testdir
$ dirname /etc/testdir/testfile
檔案內容查閱
直接檢視檔案內容(Concatenate): cat
常用[-b]:列印行號(不包含空白行)
常用[-n]:列印行號(包含空白行)
$ cat [-AbEnTv] 檔案名
反向檢視檔案內容: tac
$ tac 檔案名
添加行號列印: nl
效果類似$ cat -b
$ nl 檔案名
可翻頁檢視: more、less
只能往後翻頁
$ more 檔案名
能夠前後翻頁,更加彈性
$ less 檔案名
擷取資料前幾行: head
$ head [-n number] 檔案名
擷取前n行
$ head -n 10 first10.txt
擷取不包含後面n行
$ head -n -10 exceptLast10.txt
擷取後面幾行: tail
$ tail [-n number] 檔案名
擷取後n行
$ tail -n 10 last10.txt
擷取第n行之後的所有
$ tail -n +10 exceptFirst10.txt
擷取第11行到第20行(利用管線|)
$ head -n 20 file.txt | tail -n 10
檢視非文字檔: od
$ od [-t TYPE] 檔案名
按照ASCII輸出
$ od -t oCc 檔案名
直接查詢文字的ASCII編碼
$ echo word | od -t oCc
修改檔案時間、開新檔案: touch
修改檔案時間
$ touch [-acdmt] 檔案名
開新(空白)檔案
$ touch 檔案名
文章參考資料
- 鳥哥的linux私房菜 – Linux檔案與目錄管理6.1-6.3