1. 程式人生 > 其它 >Linux指令入門-檔案管理

Linux指令入門-檔案管理

體驗簡介

場景將提供一臺配置了Aliyun Linux 2作業系統的ECS例項(雲伺服器)。通過本教程的操作,您可以學習Linux系統中常用的檔案管理命令。

阿里雲處體驗

開通資源

  1. 在實驗主頁面,頁面左側,單擊 雲產品資源 下拉列表,檢視本次實驗所需資源。

  2. 單擊螢幕右側 建立資源 ,免費建立當前實驗所需雲產品資源。

說明:

資源建立過程需要1~3分鐘。完成實驗資源的建立後,您可以在 雲產品資源 列表檢視已建立的資源資訊,例如:IP地址、子使用者名稱稱和子使用者密碼等。

磁碟管理命令

  1. cat命令。

cat命令描述:該命令用於連線檔案並列印到標準輸出裝置上。

cat命令語法:

cat [引數] [檔名]

引數說明:
-n

由1開始對所有輸出的行數進行編號。

-b

由1開始對所有輸出的行數進行編號,對於空白行不編號。

-s

當遇到有連續兩行以上的空白行,就替換為一行的空白行。

-E

在每行結束處顯示$。

-T

將 TAB 字元顯示為^I。

cat命令使用示例:

a. 執行如下命令,將一個自增序列寫入test1.txt檔案中。

for i in $(seq 1 10); do echo $i >> test1.txt ; done


b. 執行如下命令,檢視檔案test1.txt內容。

cat test1.txt

返回結果如下所示。


c. 執行如下命令,將test1.txt的檔案內容加上行號後輸入到test2.txt檔案。

cat -n test1.txt > test2.txt

d. 執行如下命令,檢視檔案test2.txt內容。

cat test2.txt

返回結果如下所示。


e. 執行如下命令,將test1.txt檔案內容清空。

cat /dev/null > test1.txt

f. 執行如下命令,檢視檔案test1.txt內容。

cat test1.txt

返回結果如下所示,您可以看到test1.txt檔案沒有任何內容。


2. cmp命令。

cmp命令描述:該命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,該指令不會顯示任何資訊。否則會標示出第一個不同之處的字元和列數編號。當不指定任何檔名稱,或檔名為"-",則cmp指令會從標準輸入裝置讀取資料。

cmp命令語法:

cmp [-clsv][-i <字元數目>][--help][第一個檔案][第二個檔案]

引數說明:

-c

除了標明差異處的十進位制字碼之外,一併顯示該字元所對應字元。

-i <字元數目>

指定一個數目。

-l

標示出所有不一樣的地方。

-s

不顯示錯誤資訊。

-v

顯示版本資訊。

--help

線上幫助。

cmp命令使用示例:

a. 執行如下命令,將一個自增序列1-5寫入test1.txt檔案中。

for i in $(seq 1 5); do echo $i >> test1.txt ; done


b. 執行如下命令,比較test1.txt檔案和test2.txt檔案是否相同。

cmp test1.txt test2.txt

返回結果如下所示,您可以看到test1.txt檔案和test2.txt檔案第一行就有不同之處。

3. diff命令。

diff命令描述:該命令用於比較檔案的差異。diff命令以逐行的方式,比較文字檔案的異同處。如果指定要比較目錄,則diff會比較目錄中相同檔名的檔案,但不會比較其中子目錄。

diff命令語法:

diff [引數] [檔案或目錄1] [檔案或目錄2]

引數說明:

-<行數>

指定要顯示多少行的文字。此引數必須與-c或-u引數一併使用。

-c

顯示全部內文,並標出不同之處。

-u

以合併的方式來顯示檔案內容的不同。

-a

diff預設只會逐行比較文字檔案。

-b

不檢查空格字元的不同。

-d

使用不同的演演算法,以較小的單位來做比較。

-i

不檢查大小寫的不同。

-y

以並列的方式顯示檔案的異同之處。

-W<寬度>

在使用-y引數時,指定欄寬。

diff命令使用示例:

執行如下命令,比較test1.txt檔案和test2.txt檔案,以並排格式輸出。

diff test1.txt test2.txt -y -W 50


返回結果如下所示,您可以看到test1.txt檔案和test2.txt檔案的不同之處。

4. file命令。

file命令描述:該命令用於辨識檔案型別。

file命令語法:

file [引數] [檔案]

-b

列出辨識結果時,不顯示檔名稱。

-c

詳細顯示指令執行過程,便於排錯或分析程式執行的情形。

-f<名稱檔案>

指定名稱檔案,其內容有一個或多個檔名稱時,讓file依序辨識這些檔案,格式為每列一個檔名稱。

-L

直接顯示符號連線所指向的檔案的類別。

-v

顯示版本資訊。

-z

解讀壓縮檔案的內容。

file命令使用示例:

a. 執行如下命令,顯示test1.txt檔案型別。

file test1.txt


返回結果如下所示,您可以看到test1.txt檔案型別是ASCII text。

b. 執行如下命令,顯示test2.txt檔案型別並不顯示檔名稱。

file -b test2.txt

5.find命令。

find命令描述:該命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。

find命令語法:

find [引數] [檔案]

引數說明:
-mount

只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案。

-amin n

在過去n分鐘內被讀取過檔案。

-type c

檔案型別是c的檔案。

-cmin n

在過去n分鐘內被修改過。

-name name

查詢檔名稱為name的檔案。

find命令使用示例:

a. 執行如下命令,將當前目錄及其子目錄下所有檔案字尾為.txt的檔案列出來。

find . -name "*.txt"

返回結果如下所示。


b. 執行如下命令,查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑。

find / -type f -size 0 -exec ls -l {} \;


返回結果如下所示。