Linux 目錄結構及檔案基本操作
新建
新建空白檔案
$ touch <檔名>
在命令列輸入以上命令可以建立一個空白的檔案。
可以看到,在原本的空資料夾中多了一個名為test的檔案。
新建目錄
$ mkdir [-option] <資料夾>
如果要建立多級目錄,如果不加引數的話,會建立目錄失敗。這個時候可以 -p
引數,建立多級目錄時,如果父級目錄不存在,就會先建立父級目錄。
可以看到,多級目錄已經建立成功了。
複製
使用 cp
(copy)命令可以複製一個檔案到指定目錄
$ cp [-option] <檔名> <目錄地址>
可以看到,son1目錄下已經有了test檔案了,說明test檔案已經複製到了son1目錄下。cp
命令不僅僅可以複製檔案也可以複製目錄,不過如果複製的目錄不為空,會複製不成功,這個時候可以使用-r
或者-R
引數,遞迴複製目錄。
刪除
使用 rm
(remove)命令來刪除一個檔案或者資料夾。
$ rm [-option] <檔名|目錄>
有時候, 我們在刪除一些只讀檔案時,會有“是否刪除”的提示,我們可以使用 -f
引數來強制刪除。
前面建立多級目錄時沒有父級目錄存在需要使用引數。刪除的時候也是一樣,如果這個目錄下不為空,想要刪除的話需要使用 -r
或者 -R
來遞迴刪除。
如果遇到許可權不足可以使用 -f
來強制刪除。rm -rf <目錄>
移動、重新命名
使用 mv
(move or rename files)命令移動檔案(剪下)。命令格式是
$ mv <源目錄檔案> <目的目錄>
重新命名檔案,也是使用mv
命令
像上面的命令是將本目錄下的file1
檔案重新命名為myfile
。
批量重新命名檔案
使用這個命令可以批量建立檔案。
簡單解釋一下上面的命令,rename
是先使用第二個引數的萬用字元匹配所有字尾為 .txt
的檔案,然後使用第一個引數提供的正規表示式將匹配的這些檔案的 .txt
字尾替換為 .c
檢視檔案
使用 cat
,tac
和 nl
命令檢視檔案
前兩個命令都是用來列印檔案內容到標準輸出(終端),其中 cat
為正序顯示,tac
為倒序顯示。
標準輸入輸出:當我們執行一個 shell 命令列時通常會自動開啟三個標準檔案,即標準輸入檔案(stdin),預設對應終端的鍵盤、標準輸出檔案(stdout)和標準錯誤輸出檔案(stderr),後兩個檔案都對應被重定向到終端的螢幕,以便我們能直接看到輸出內容。程式將從標準輸入檔案中得到輸入資料,將正常輸出資料輸出到標準輸出檔案,而將錯誤資訊送到標準錯誤檔案中。
可以使用-n
來顯示行號
nl
命令,新增行號並列印,這是個比 cat -n
更專業的行號列印命令。
這裡簡單列舉它的常用的幾個引數:
-b : 指定新增行號的方式,主要有兩種:
-b a:表示無論是否為空行,同樣列出行號("cat -n"就是這種方式)
-b t:只列出非空行的編號並列出(預設為這種方式)
-n : 設定行號的樣式,主要有三種:
-n ln:在行號欄位最左端顯示
-n rn:在行號欄位最右邊顯示,且不加 0
-n rz:在行號欄位最右邊顯示,且加 0
-w : 行號欄位佔用的位數(預設為 6 位)
使用 more
和 less
命令分頁檢視檔案
如果說上面的 cat
是用來快速檢視一個檔案的內容的,那麼這個 more
和 less
就是天生用來”閱讀”一個檔案的內容的,比如說 man 手冊內部就是使用的 less
來顯示內容。其中 more
命令比較簡單,只能向一個方向滾動,而 less
為基於 more
和 vi
(一個強大的編輯器,我們有單獨的課程來讓你學習)開發,功能更強大。less
的使用基本和 more
一致,具體使用請檢視 man 手冊,這裡只介紹 more
命令的使用。
$ more <檔名>
$ less <檔名>
開啟後預設只顯示一屏內容,終端底部顯示當前閱讀的進度。可以使用 Enter
鍵向下滾動一行,使用 Space
鍵向下滾動一屏,按下 h
顯示幫助,q
退出。
使用 head
和 tail
命令檢視檔案
這兩個命令,那些性子比較急的人應該會喜歡,因為它們一個是隻檢視檔案的頭幾行(預設為 10 行,不足 10 行則顯示全部)和尾幾行。還是拿 passwd 檔案舉例,比如當我們想要檢視最近新增加的使用者,那麼我們可以檢視這個 /etc/passwd
檔案,不過我們前面也看到了,這個檔案裡面一大堆亂糟糟的東西,看起來實在費神啊。
$ head -n <行數> <檔名>
$ tail -n <行數> <檔名>
附加:如果想檢視檔案型別可以使用file <檔名>
來檢視。
本作品採用《CC 協議》,轉載必須註明作者和本文連結