Linux系統下python學習筆記——Linux中檔案和目錄常用命令詳解
一、檢視目錄內容
ls命令說明:
英文單詞list的簡寫,功能為列出目錄的內容,是使用者最常用的命令字義
Linux下檔案和目錄的特點:
- Linux檔案或目錄名稱最長可以有256個字元
- 以 . 開頭的檔案為隱藏檔案,需要用-a引數才能顯示(all )
- . 代表當前目錄
- .. 代表上一級目錄
ls常用選項:
-a:顯示指定目錄下左右子目錄與檔案,包括隱藏檔案
-l(L):以列表方式顯示檔案的詳細資訊
-h:與-l搭配使用,人性化的顯示檔案的詳細資訊
注意:ls -a -h -l == ls -h -l -a == ls -hla == ls -lah (即無序性,縮略性)
如果目錄中的檔案數目非常多,利用萬用字元可以快速定位想要查詢的檔案
ls與萬用字元的聯合使用
* 代表任意個數個字元
? 代表任意一個字元
[ ] 代表可以匹配字元組中的任一個
[abc] 匹配a、b、c中的任意一個
[a-f] 匹配從a到f範圍內的任意一個字元
應用示例:
二、切換目錄
cd命令說明
Change directory,功能為更改當前的工作目錄,也是使用者最常用的命令之一
cd常用搭配
cd:切換到當前使用者的主目錄(/home/使用者目錄)
cd ~:切換到當前使用者的主目錄(/home/使用者目錄)
cd. :保持在當前目錄不變
cd.. :切換到上級目錄
cd -:可以在最近兩次工作目錄之間來回切換
注:~代表家目錄;/代表根目錄
三、建立和刪除操作
touch命令說明
- 如果檔案 不存在,可以建立一個空白檔案
- 如果檔案 存在,可以修改檔案的末次修改日期
mkdir命令說明
建立一個新的目錄
選項-p :可以遞迴建立目錄(連續建立多個目錄)
示例:
注意:新建目錄的名稱不能與當前目錄中已有的目錄或檔案重名
rm命令說明
刪除檔案或目錄
注意:使用rm命令刪除檔案後文件不能恢復
-r :遞迴的刪除目錄下的內容,刪除資料夾時必須加此引數
-f :強制刪除,忽略不存在的檔案,無需提示
四、拷貝和移動檔案
tree[目錄名]:對應英文tree,以樹狀圖列出檔案目錄結構
-d,只顯示目錄,不顯示檔案
cp 原始檔(包括位置資訊) 目標檔案(包括位置資訊):對應英文copy,複製檔案或者目錄
-i:覆蓋檔案前提示(若要複製的檔案存在,會詢問是否覆蓋)
-r:若給出的原始檔是目錄檔案,則cp將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名
mv 原始檔 目標檔案: 對應英文move, 移動檔案或目錄/檔案或目錄重新命名(當原檔案與目標檔案的位置相同時)
-i:覆蓋檔案前提示(如果目標地址處存在目標檔案則會出現覆蓋的情況,不安全)
五、檢視檔案內容
cat命令說明
cat 檔名,對應英文:concatenate(連接合並),檢視檔案內容、建立檔案、檔案合併、追加檔案內容等功能
cat會一次顯示所有的內容,適合檢視內容較少的文字檔案
-b 對非空輸出行編號
-n 對輸出的所有行編號
Linux中還有一個 nl 的命令和 cat -b 的效果相同
more命令說明
more 檔名,對應英文:more,分屏(當終端視窗無法一次顯示完全檔案內容時,一屏一螢幕(按空格)的顯示)顯示檔案內容
more可以用於分屏顯示檔案內容,每次只顯示一頁內容,適合檢視內容較多的文字檔案
操作鍵:(同man的操作鍵相同,見上一篇)
空格鍵:顯示手翻頁的下一屏
Enter鍵:一次滾動手翻頁的一行
b :回滾一屏
f :前滾一屏
q :退出
/word: 搜尋word字串
grep命令說明
grep 搜尋字元 檔名,對應英文grep,搜尋文字檔案內容(等同於快捷鍵ctrl+f)
Linux系統中grep命令是一種強大的文字搜尋工具
grep允許對文字檔案進行模式查詢(又被稱為正則表示式)
-n 顯示匹配行及行號
-v 顯示不包含匹配文字的所有行
-i 忽略大小寫
常用的兩種模式查詢
^a:行首,搜尋以a開頭的行
ke$:行尾,搜尋以he結束的行
六、其他
echo 文字內容
echo會在終端中顯示引數指定的文字,通常會和重定向聯合使用
例如:echo hello(回車)得到:hello
重定向>和>>
Linux允許將命令執行結果重定向到一個檔案
將本應該顯示在終端上的內容輸出/追加到指定檔案中
其中:
>表示輸出,會覆蓋檔案原有的內容
>>表示追加,會將內容追加到已有檔案的末尾
例如:echo hello > a(用hello覆蓋a檔案中的內容)
ls -lh > a(將當前位置中的檔案列表資訊放到a檔案中,原有檔案被覆蓋)
管道 |
Linux允許將一個命令的輸出 可以通過管道作為另一個命令的輸入
常用的管道命令有:
more:分屏顯示內容
grep:在命令執行結果的基礎上查詢指定的文字
例如:ls -lha ~ | more(將需要顯示的內容分屏顯示)
ls -lha ~ | grep Do(將包含Do字元的行列表顯示出來)