1. 程式人生 > >linux目錄和檔案操作命令

linux目錄和檔案操作命令

說明:此Linux文件是觀看黑馬程式設計師的視訊筆記,在B站可以觀看,此筆記僅用來學習使用,如有侵權請聯絡博主

目錄

2.1 cd

3.3 rm

4.2 cp

4.3 mv

06. 其他

01. 檢視目錄內容

1.1 終端實用技巧

1> 自動補全

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

2> 曾經使用過的命令

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

1.2 ls 命令說明

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

Linux 下檔案和目錄的特點

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

ls常用引數選項:

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

配合 -l 以人性化的方式顯示檔案大小

檢視當前檔案路徑:pwd

pwd print wrok directory 檢視當前所在資料夾路徑

實際操作命令如下:

1.3 萬用字元的使用

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

02. 切換目錄

2.1 cd

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

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

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

2.2 相對路徑和絕對路徑

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

03. 建立和刪除操作

3.1 touch

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

3.2 mkdir

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

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

3.3 rm

  • 刪除檔案或目錄

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

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

04. 拷貝和移動檔案

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

4.1 tree

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

4.2 cp

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

4.3 mv

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

05. 檢視檔案內容

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

5.1 cat

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

5.2 more

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

使用 more 的操作鍵:

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

5.3 grep

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

06. 其他

6.1 echo 文字內容

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

6.2 重定向 > 和 >>

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

其中

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

6.3 管道 |

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

常用的管道命令有:

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

7.連結檔案:ln

Linux連結檔案類似於Windows下的快捷方式。

連結檔案分為軟連結和硬連結。

軟連結:軟連結不佔用磁碟空間,原始檔刪除則軟連結失效。

硬連結:硬連結只能連結普通檔案,不能連結目錄。

使用格式:

ln 原始檔 連結檔案
ln -s 原始檔 連結檔案

如果沒有-s選項代表建立一個硬連結檔案,兩個檔案佔用相同大小的硬碟空間,即使刪除了原始檔,連結檔案還是存在,所以-s選項是更常見的形式。

注意:如果軟連結檔案和原始檔不在同一個目錄,原始檔要使用絕對路徑,不能使用相對路徑。

8 查詢檔案:find

find命令功能非常強大,通常用來在特定的目錄下搜尋符合條件的檔案,也可以用來搜尋特定使用者屬主的檔案。

常用用法:

命令 含義
find ./ -name test.sh 查詢當前目錄下所有名為test.sh的檔案
find ./ -name '*.sh' 查詢當前目錄下所有後綴為.sh的檔案
find ./ -name "[A-Z]*" 查詢當前目錄下所有以大寫字母開頭的檔案
find /tmp -size 2M 查詢在/tmp 目錄下等於2M的檔案
find /tmp -size +2M 查詢在/tmp 目錄下大於2M的檔案
find /tmp -size -2M 查詢在/tmp 目錄下小於2M的檔案
find ./ -size +4k -size -5M 查詢當前目錄下大於4k,小於5M的檔案
find ./ -perm 0777 查詢當前目錄下許可權為 777 的檔案或目錄

9.檔案歸檔

計算機中的資料經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列檔案歸檔到一個大檔案中(就是window下將一些比較多的檔案放到一個資料夾下),也可以把檔案檔案解開以恢復資料。

tar使用格式 tar [引數] 打包檔名 檔案

tar命令很特殊,其引數前面可以使用“-”,也可以不使用。

常用引數:

引數 含義
-c 生成檔案檔案,建立打包檔案
-v 列出歸檔解檔的詳細過程,顯示進度
-f 指定檔案檔名稱,f後面一定是.tar檔案,所以必須放選項最後
-t 列出檔案中包含的檔案
-x 解開檔案檔案

注意:除了f需要放在引數的最後,其它引數的順序任意。

10 檔案壓縮解壓

10.1 檔案壓縮解壓:gzip

tar與gzip命令結合使用實現檔案打包、壓縮。 tar只負責打包檔案,但不壓縮,用gzip壓縮tar打包後的檔案(檔案必須打包後才能使用gzip命令),其副檔名一般用xxxx.tar.gz。gzip一般配合tar操作實現打包壓縮,tar打包,gzip壓縮。

gzip使用格式如下:

gzip  [選項]  被壓縮檔案

常用選項:

選項 含義
-d 解壓
-r 壓縮所有子目錄

tar這個命令並沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項(-z)可以呼叫gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程。

壓縮用法:tar cvzf 壓縮包包名 檔案1 檔案2 ...

-z :指定壓縮包的格式為:file.tar.gz

解壓用法: tar zxvf 壓縮包包名

-z:指定壓縮包的格式為:file.tar.gz

 

10.2 檔案壓縮解壓:bzip2

tar與bzip2命令結合使用實現檔案打包、壓縮(用法和gzip一樣)。

tar只負責打包檔案,但不壓縮,用bzip2壓縮tar打包後的檔案,其副檔名一般用xxxx.tar.gz2。

在tar命令中增加一個選項(-j)可以呼叫bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。

壓縮用法:tar -jcvf 壓縮包包名 檔案...(tar jcvf bk.tar.bz2 *.c)

解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)

10.3 檔案壓縮解壓:zip、unzip

通過zip壓縮檔案的目標檔案不需要指定副檔名,預設副檔名為zip。

壓縮檔案:zip [-r] 目標檔案(沒有副檔名) 原始檔

解壓檔案:unzip -d 解壓後目錄檔案 壓縮檔案

11 檢視命令位置:which