Linux指令入門-檔案管理
體驗簡介
場景將提供一臺配置了Aliyun Linux 2作業系統的ECS例項(雲伺服器)。通過本教程的操作,您可以學習Linux系統中常用的檔案管理命令。
阿里雲處體驗
開通資源
-
在實驗主頁面,頁面左側,單擊 雲產品資源 下拉列表,檢視本次實驗所需資源。
-
單擊螢幕右側 建立資源 ,免費建立當前實驗所需雲產品資源。
說明:
資源建立過程需要1~3分鐘。完成實驗資源的建立後,您可以在 雲產品資源 列表檢視已建立的資源資訊,例如:IP地址、子使用者名稱稱和子使用者密碼等。
磁碟管理命令
- 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 {} \;
返回結果如下所示。