Linux

Linux(Ubuntu)練習 – 鳥哥基礎篇6.1-6.3檔案與目錄配管理

檔案及目錄

變換目錄(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 檔案名

文章參考資料

  1. 鳥哥的linux私房菜 – Linux檔案與目錄管理6.1-6.3