Linux 文件操作命令大全:從入門到精通的實用指南
在 Linux 系統中,文件操作是日常工作的核心內容之一。無論是開發者、運維工程師還是 Linux 愛好者,掌握常用的文件操作命令都能極大提升工作效率。本文將詳細介紹 Linux 系統中最常用的文件操作命令,每個命令都附帶具體代碼示例,幫助你快速上手。
文件創建命令
touch 命令
touch
命令是創建空文件的最常用方式,同時也可以用于修改文件的時間戳。
基本語法:touch [文件名]
示例 1:創建單個空文件
touch example.txt
執行后,當前目錄下會生成一個名為example.txt
的空文件。
示例 2:同時創建多個文件
touch file1.txt file2.md file3.sh
這條命令會一次性創建三個不同后綴的空文件。
示例 3:修改文件時間戳(不改變文件內容)
touch -m example.txt # 僅修改修改時間touch -a example.txt # 僅修改訪問時間
文件查看命令
cat 命令
cat
命令用于查看文件內容,適合查看內容較少的文件。
基本語法:cat [文件名]
示例 1:查看文件內容
cat example.txt
執行后會在終端直接顯示example.txt
的全部內容。
示例 2:查看文件并顯示行號
cat -n example.txt
加上-n
參數后,會在每行內容前顯示行號。
more 命令
more
命令適合查看內容較多的文件,支持分頁顯示。
基本語法:more [文件名]
示例:
more long_document.txt
執行后會分頁顯示文件內容,按空格鍵翻頁,按q
鍵退出查看。
less 命令
less
命令是more
的增強版,支持向上滾動查看內容。
基本語法:less [文件名]
示例:
less large_file.log
使用方向鍵上下滾動,按/
鍵可以搜索內容,按q
鍵退出。
head 和 tail 命令
head
用于查看文件開頭部分內容,tail
用于查看文件末尾內容,默認都是 10 行。
示例 1:查看文件前 5 行
head -n 5 example.txt
示例 2:查看文件最后 3 行
tail -n 3 example.txt
示例 3:實時監控文件新增內容(常用于日志查看)
tail -f app.log
加上-f
參數后,會持續顯示文件新增的內容,按Ctrl+C
退出。
文件復制命令
cp 命令
cp
命令用于復制文件或目錄,是 Linux 中最常用的命令之一。
基本語法:cp [源文件] [目標位置]
示例 1:復制文件到當前目錄
cp /home/user/documents/report.pdf ./
將/home/user/documents/
目錄下的report.pdf
復制到當前目錄(./
表示當前目錄)。
示例 2:復制文件到指定目錄并改名
cp example.txt /tmp/sample.txt
將example.txt
復制到/tmp
目錄下,并改名為sample.txt
。
示例 3:復制目錄(需要加-r
參數表示遞歸復制)
cp -r project/ backup/
將project
目錄及其所有內容復制到backup
目錄中。
文件移動與重命名命令
mv 命令
mv
命令既可以移動文件,也可以重命名文件,用法非常靈活。
基本語法:mv [源文件] [目標位置]
示例 1:重命名文件
mv oldname.txt newname.txt
將oldname.txt
改名為newname.txt
。
示例 2:移動文件到指定目錄
mv document.txt /home/user/docs/
將document.txt
移動到/home/user/docs/
目錄下。
示例 3:移動多個文件到指定目錄
mv *.jpg /home/user/images/
將當前目錄下所有.jpg
格式的圖片文件移動到/home/user/images/
目錄(*
是通配符,表示所有)。
文件刪除命令
rm 命令
rm
命令用于刪除文件或目錄,使用時需要特別小心,因為刪除的文件通常難以恢復。
基本語法:rm [文件或目錄]
示例 1:刪除單個文件
rm temp.txt
刪除temp.txt
文件,系統會詢問是否刪除,輸入y
確認。
示例 2:強制刪除文件(不提示)
rm -f unnecessary.log
加上-f
參數后,刪除文件時不會有任何提示,直接刪除。
示例 3:刪除目錄(需要加-r
參數表示遞歸刪除)
rm -r old_folder/
刪除old_folder
目錄及其包含的所有文件和子目錄。
示例 4:強制刪除目錄(不提示)
rm -rf obsolete_data/
-rf
組合參數表示強制遞歸刪除,這是非常危險的命令,使用時一定要確認路徑正確。
目錄操作命令
mkdir 命令
mkdir
用于創建新目錄。
基本語法:mkdir [目錄名]
示例 1:創建單個目錄
mkdir photos
在當前目錄下創建photos
目錄。
示例 2:創建多級目錄(需要-p
參數)
mkdir -p documents/work/reports
一次性創建documents
、documents/work
和documents/work/reports
三級目錄,如果沒有-p
參數,當父目錄不存在時會報錯。
rmdir 命令
rmdir
用于刪除空目錄(如果目錄非空,需要先刪除里面的文件)。
示例:
rmdir empty_folder/
刪除empty_folder
空目錄。
cd 和 pwd 命令
雖然這兩個命令不是直接操作文件的,但它們是文件操作的基礎:
-
pwd
:顯示當前所在目錄的絕對路徑 -
cd
:切換目錄
示例 1:顯示當前目錄
pwd
執行后可能顯示類似/home/user/projects
的結果。
示例 2:切換到指定目錄
cd /var/log/
切換到/var/log/
目錄。
示例 3:回到上一級目錄
cd ..
示例 4:回到用戶主目錄
cd ~
~
符號表示當前用戶的主目錄。
文件權限操作命令
chmod 命令
chmod
用于修改文件或目錄的權限,這是 Linux 系統中保證文件安全的重要命令。
基本語法:chmod [權限設置] [文件或目錄]
權限可以用數字表示(r=4, w=2, x=1):
-
讀權限(r):4
-
寫權限(w):2
-
執行權限(x):1
示例 1:設置文件所有者可讀可寫可執行,同組用戶可讀可執行,其他用戶只讀
chmod 754 script.sh
-
7(4+2+1):所有者有讀、寫、執行權限
-
5(4+1):同組用戶有讀和執行權限
-
4:其他用戶只有讀權限
示例 2:給所有用戶添加執行權限
chmod a+x program.py
a
表示所有用戶,+x
表示添加執行權限。
文本輸出與處理命令
echo 命令
echo
命令主要用于在終端輸出字符串,也可以將內容寫入文件。
基本語法:echo [字符串或變量]
示例 1:輸出普通字符串
echo "Hello, Linux!"
執行后終端會顯示Hello, Linux!
。
示例 2:將內容寫入文件(覆蓋原有內容)
echo "First line of content" > data.txt
這條命令會創建data.txt
文件(如果不存在),并將First line of content
寫入該文件,若文件已有內容則會被覆蓋。
示例 3:將內容追加到文件
echo "Second line of content" >> data.txt
使用>>
符號時,內容會被添加到文件末尾,不會影響原有內容,執行后data.txt
會有兩行內容。
示例 4:輸出變量值
NAME="Linux User"echo $NAME
先定義變量NAME
并賦值,然后通過echo $NAME
輸出變量的值,終端會顯示Linux User
。
grep 命令
grep
命令用于在文件中搜索符合模式的字符串,是文本處理中非常強大的工具。
基本語法:grep [選項] [模式] [文件]
示例 1:在文件中搜索指定字符串
grep "error" app.log
在app.log
文件中搜索包含error
的所有行,并將這些行顯示出來。
示例 2:忽略大小寫搜索
grep -i "warning" system.log
-i
參數表示忽略大小寫,會同時匹配warning
、WARNING
、Warning
等形式。
示例 3:顯示匹配行的行號
grep -n "success" result.txt
-n
參數會在匹配到的行前顯示對應的行號,方便定位內容位置。
示例 4:搜索多個文件
grep "config" *.ini
在當前目錄下所有.ini
格式的文件中搜索config
字符串。
示例 5:反向搜索(顯示不包含指定模式的行)
grep -v "debug" process.log
-v
參數表示反向匹配,會顯示所有不包含debug
的行。
wc 命令
wc
命令用于統計文件中的行數、單詞數和字符數。
基本語法:wc [選項] [文件]
常用選項:
-
-l
:僅統計行數 -
-w
:僅統計單詞數 -
-c
:僅統計字符數
示例 1:統計文件的行數、單詞數和字符數
wc document.txt
執行后會顯示三個數字,分別是document.txt
的行數、單詞數和字符數,最后是文件名。
示例 2:僅統計行數
wc -l article.txt
該命令會顯示article.txt
文件的總行數,常用于統計日志條目數量等場景。
示例 3:統計多個文件的單詞數
wc -w file1.txt file2.txt
會分別顯示file1.txt
和file2.txt
的單詞數,最后還會顯示兩個文件的總單詞數。
示例 4:統計當前目錄下的文件數量
ls | wc -l
通過管道|
將ls
命令的輸出(當前目錄下的文件和目錄列表)傳遞給wc -l
,從而統計出文件和目錄的總數。
總結
掌握這些基本的 Linux 文件操作命令,能讓你在 Linux 系統中更加得心應手。實際使用中,這些命令還有更多參數和組合用法,可以通過man [命令]
查看完整的幫助文檔(例如man cp
查看cp
命令的詳細說明)。
記住,Linux 命令的學習沒有捷徑,多練習、多使用才能熟練掌握。建議從簡單的命令開始,逐步嘗試復雜的組合用法,慢慢構建自己的 Linux 命令知識體系。