1. 程式人生 > 實用技巧 >Linux - 檔案和目錄常用命令

Linux - 檔案和目錄常用命令

檔案和目錄常用命令

目標

  • 檢視目錄內容
    • ls
  • 切換目錄
    • cd
  • 建立和刪除操作
    • touch
    • rm
    • mkdir
  • 拷貝和移動檔案
    • cp
    • mv
  • 檢視檔案內容
    • cat
    • more
    • grep
  • 其他
    • echo
    • 重定向>>>
    • 管道|

01. 檢視目錄內容

1.1 終端實用技巧

1> 自動補全

  • 在敲出檔案目錄命令的前幾個字母之後,按下tab
    • 如果輸入的沒有歧義,系統會自動補全
    • 如果還存在其他檔案目錄命令,再按一下tab鍵,系統會提示可能存在的命令

2> 曾經使用過的命令

  • 游標鍵可以在曾經使用過的命令之間來回切換
  • 如果想要退出選擇,並且不想執行當前選中的命令,可以按ctrl + c

1.2ls命令說明

  • ls是英文單詞list的簡寫,其功能為列出目錄的內容,是使用者最常用的命令之一,類似於DOS下的dir命令

Linux 下檔案和目錄的特點

  • Linux檔案或者目錄名稱最長可以有256個字元
  • .開頭的檔案為隱藏檔案,需要用 -a 引數才能顯示
  • .代表當前目錄
  • ..代表上一級目錄

1.3 ls 常用選項

引數含義
-a 顯示指定目錄下所有子目錄與檔案,包括隱藏檔案
-l 以列表方式顯示檔案的詳細資訊
-h 配合 -l 以人性化的方式顯示檔案大小

計算機中檔案大小的表示方式(科普)

單位英文含義
位元組 B(Byte) 在計算機中作為一個數字單元,一般為 8 位二進位制數
K(Kibibyte) 1 KB = 1024 B,千位元組 (1024 = 2 ** 10)
M(Mebibyte) 1 MB = 1024 KB,百萬位元組
千兆 G(Gigabyte) 1 GB = 1024 MB,十億位元組,千兆位元組
T(Terabyte) 1 TB = 1024 GB,萬億位元組,太位元組
P(Petabyte) 1 PB = 1024 TB,千萬億位元組,拍位元組
E(Exabyte) 1 EB = 1024 PB,百億億位元組,艾位元組
Z(Zettabyte) 1 ZB = 1024 EB,十萬億億位元組,澤位元組
Y(Yottabyte) 1 YB = 1024 ZB,一億億億位元組,堯位元組

1.4 ls 萬用字元的使用

萬用字元含義
* 代表任意個數個字元
? 代表任意一個字元,至少 1 個
[] 表示可以匹配字元組中的任一一個
[abc] 匹配 a、b、c 中的任意一個
[a-f] 匹配從 a 到 f 範圍內的的任意一個字元

02. 切換目錄

2.1cd

  • cd是英文單詞change directory的簡寫,其功能為更改當前的工作目錄,也是使用者最常用的命令之一

注意:Linux 所有的目錄和檔名都是大小寫敏感的

命令含義
cd 切換到當前使用者的主目錄(/home/使用者目錄)
cd ~ 切換到當前使用者的主目錄(/home/使用者目錄)
cd . 保持在當前目錄不變
cd .. 切換到上級目錄
cd - 可以在最近兩次工作目錄之間來回切換

2.2 相對路徑和絕對路徑

  • 相對路徑在輸入路徑時,最前面不是/或者~,表示相對當前目錄所在的目錄位置
  • 絕對路徑在輸入路徑時,最前面是/或者~,表示從根目錄/家目錄開始的具體目錄位置

03. 建立和刪除操作

3.1touch

  • 建立檔案或修改檔案時間
    • 如果檔案不存在,可以建立一個空白檔案
    • 如果檔案已經存在,可以修改檔案的末次修改日期

3.2mkdir

  • 建立一個新的目錄
選項含義
-p 可以遞迴建立目錄

新建目錄的名稱不能與當前目錄中已有的目錄或檔案同名

3.3rm

  • 刪除檔案或目錄

使用rm命令要小心,因為檔案刪除後不能恢復

選項含義
-f 強制刪除,忽略不存在的檔案,無需提示
-r 遞迴地刪除目錄下的內容,刪除資料夾時必須加此引數

04. 拷貝和移動檔案

序號命令對應英文作用
01 tree [目錄名] tree 以樹狀圖列出檔案目錄結構
02 cp 原始檔 目標檔案 copy 複製檔案或者目錄
03 mv 原始檔 目標檔案 move 移動檔案或者目錄/檔案或者目錄重新命名

4.1tree

  • tree命令可以以樹狀圖列出檔案目錄結構
選項含義
-d 只顯示目錄

4.2cp

  • cp命令的功能是將給出的檔案或目錄複製到另一個檔案或目錄中,相當於DOS下的copy命令
選項含義
-i 覆蓋檔案前提示
-r 若給出的原始檔是目錄檔案,則 cp 將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名

4.3mv

  • mv命令可以用來移動檔案或目錄,也可以給檔案或目錄重新命名
選項含義
-i 覆蓋檔案前提示

05. 檢視檔案內容

序號命令對應英文作用
01 cat 檔名 concatenate 檢視檔案內容、建立檔案、檔案合併、追加檔案內容等功能
02 more 檔名 more 分屏顯示檔案內容
03 grep 搜尋文字 檔名 grep 搜尋文字檔案內容

5.1cat

  • cat命令可以用來檢視檔案內容、建立檔案、檔案合併、追加檔案內容等功能
  • cat會一次顯示所有的內容,適合檢視內容較少的文字檔案
選項含義
-b 對非空輸出行編號
-n 對輸出的所有行編號

Linux 中還有一個nl的命令和cat -b的效果等價

5.2more

  • more命令可以用於分屏顯示檔案內容,每次只顯示一頁內容
  • 適合於檢視內容較多的文字檔案

使用more的操作鍵:

操作鍵功能
空格鍵 顯示手冊頁的下一屏
Enter 鍵 一次滾動手冊頁的一行
b 回滾一屏
f 前滾一屏
q 退出
/word 搜尋word字串

5.3grep

  • Linux 系統中grep命令是一種強大的文字搜尋工具
  • grep允許對文字檔案進行模式查詢,所謂模式查詢,又被稱為正則表示式,在就業班會詳細講解
選項含義
-n 顯示匹配行及行號
-v 顯示不包含匹配文字的所有行(相當於求反)
-i 忽略大小寫
  • 常用的兩種模式查詢
引數含義
^a 行首,搜尋以a開頭的行
ke$ 行尾,搜尋以ke結束的行

06. 其他

6.1echo 文字內容

  • echo會在終端中顯示引數指定的文字,通常會和重定向聯合使用

6.2 重定向>>>

  • Linux 允許將命令執行結果重定向到一個檔案
  • 將本應顯示在終端上的內容輸出/追加到指定檔案中

其中

  • >表示輸出,會覆蓋檔案原有的內容
  • >>表示追加,會將內容追加到已有檔案的末尾

6.3 管道|

  • Linux 允許將一個命令的輸出可以通過管道做為另一個命令的輸入
  • 可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這裡|的左右分為兩端,左端塞東西(寫),右端取東西(讀)

常用的管道命令有:

  • more:分屏顯示內容
  • grep:在命令執行結果的基礎上查詢指定的文字

——本文源自《黑馬程式設計師》