本章將和大家分享Linux常用的檔案操作命令。廢話不多說,下面我們直接進入主題。
一、目錄切換(cd命令)
在Linux系統中,cd 是一個用於切換當前工作目錄的命令,它是 "change directory" 的縮寫。基本用法如下所示:
1、不帶引數
示例:cd 或 cd~
如果cd命令後沒有跟任何引數,它會將當前使用者的工作目錄切回到其主目錄(通常是/home/使用者名稱,但根據系統的不同,主目錄的路徑可能會有所不同)。
2、切換到其它使用者的主目錄
示例:cd ~username
切換到username使用者的主目錄,前提是你有許可權這麼做。
3、使用波浪線(~)表示主目錄
示例:cd ~/Documents
這會直接進入到當前使用者主目錄下的 Documents 目錄。
4、切換到特定目錄
示例:cd directory_name
這裡,directory_name 是你想要進入的目錄名,該目錄必須是當前目錄的子目錄。
5、指定目錄(絕對路徑)
示例:cd /root/myfolder/directory_name
從根目錄(/)開始的完整路徑,允許你直接透過提供完整的路徑來切換目錄,無論該目錄在檔案系統的什麼位置。
6、指定目錄(相對路徑)
示例:cd ../parent_directory
從當前工作目錄開始的路徑。
7、返回上一級目錄
示例:cd ..
使用 .. 表示當前目錄的上一級目錄。
8、切換到上一次所在的目錄
示例:cd -
cd -命令會將當前工作目錄切換到上一次所在的目錄。這在你需要在兩個目錄之間頻繁切換時特別有用。
9、直接進入多級目錄
示例:cd dir1/dir2/dir3
如果目錄結構允許,可以直接透過這種方式跳轉多級目錄。
10、中斷當前正在執行的命令或程式
示例:Ctrl C
Ctrl + C 命令用於中斷當前正在執行的命令列程式或程序。
11、列印工作目錄
示例:pwd
pwd是“Print Working Directory”的縮寫,意為“列印工作目錄”。這個命令的功能是顯示當前使用者所在的目錄路徑。
12、溫馨提示
- 當輸入長目錄路徑時,可以使用 Tab 鍵自動補全路徑,提高效率。
- 在複雜的目錄結構中,結合使用 ls 和 pwd 命令可以幫助更好地理解當前位置和決定下一步的導航方向。
- 對於頻繁訪問的目錄,可以考慮設定別名(alias)來簡化命令。
二、Linux檔案和目錄簡單操作
1、檢視檔案
ls 命令用於列出當前目錄下的檔案和資料夾(也稱為目錄)。它可以顯示當前目錄下的檔案和資料夾,也可以顯示指定目錄下的內容。
基本語法
- ls:不帶任何選項時,ls 會列出當前目錄中的檔案和目錄名稱,按字母順序排序。
常用選項
- -l(長格式):以長格式顯示檔案和目錄的詳細資訊,包括許可權、所有者、大小、修改日期等。
- -a(全顯):顯示包括以點(.)開頭的隱藏檔案在內的所有檔案和目錄。
- -h(人性化大小):在顯示檔案大小時,使用 KB、MB、GB 等易於閱讀的單位。
- -R(遞迴):遞迴列出目錄及其子目錄下的所有內容。
- -t(按時間排序):按照修改時間的先後順序列出檔案和目錄,最新的排在最前面。
- -S(按大小排序):按照檔案大小排序,從大到小。
組合使用示例
- ls -l:會以長格式(long format)列出目錄的內容,顯示更詳細的檔案或目錄資訊。
- ll:ls -l 在 Linux 系統中可以簡寫為 ll ,但是需要注意的是有些場景是不適用的,例如:進入到 Docker 容器內部的時候就不支援 ll 簡寫,只能使用 ls -l 命令。
- ls -a:這個選項會列出所有檔案和目錄,包括以.開頭的隱藏檔案和.(當前目錄)及..(父目錄)。
- ls -A:這個選項也會列出所有檔案和目錄,但它不會列出.(當前目錄)和..(父目錄)。
- ls -al:列出包括隱藏檔案在內的所有檔案和目錄的詳細資訊。
- ls -lh:以人性化大小單位顯示當前目錄下檔案和目錄的詳細資訊。
- ls -lt:按修改時間倒序列出當前目錄下的檔案和目錄。
- ls -R:遞迴列出當前目錄及其子目錄下的所有檔案和目錄。
- ls -lah:以長格式列出包括隱藏檔案在內的所有檔案和目錄,並使用人性化大小單位。
- ls -r:將檔案以相反次序顯示(原定依英文字母次序)
- ls -t:將檔案依建立時間之先後次序列出
- ls -F:選項用於在列出的每個檔案或目錄名後附加一個指示符,以區分不同型別的條目。這些指示符有助於使用者快速識別目錄、可執行檔案、符號連結等。
- 顯示指定目錄下的內容示例:ls -l root/myfolder/
2、建立檔案
mkdir 是用於建立目錄(資料夾)的命令。例如:mkdir 目錄路徑/目錄名。
touch 用於建立普通檔案。例如:touch 檔案路徑/檔名。其中檔案路徑可以是相對路徑也可以是絕對路徑。
3、刪除檔案
刪除普通檔案:rm + 檔案路徑/檔名。示例:rm test.txt
刪除空目錄:rmdir + 目錄路徑/目錄名。示例:rmdir mytest
刪除空目錄也可以使用:rm -r +目錄路徑/目錄名(-r 是rm的引數)。示例:rm -r ./mytest
刪除非空目錄:rm -rf +目錄路徑/目錄名。示例:rm -rf ./myfolder/mytest/(PS:輸入目錄路徑時此處的 ./ 建議保留,以免不小心誤刪除別的檔案。)(-f 是rm的引數,表示忽略確認提示。)
4、複製檔案或目錄(cp命令)
cp命令是Linux系統中檔案操作的重要工具,透過不同的選項,它可以靈活地用於各種檔案和目錄的複製任務。
命令格式
- cp [選項] 原始檔 目標檔案 或 cp [選項] -t 目錄 原始檔...
常用選項
- -a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於-dpR引數組合。
- -d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄。
- -f:強行復制檔案或目錄,不論目標檔案或目錄是否已存在,且不給出提示。
- -i:在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋。
- -p:除複製檔案的內容外,還把修改時間和訪問許可權等屬性也複製到新檔案中。
- -r 或 -R:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理。
- -s:對原始檔建立符號連線,而非複製檔案。
- -u:僅當原始檔比目標檔案新,或者目標檔案不存在時,才複製檔案。
- -v:詳細顯示命令執行的操作。
- -l:不復制檔案,只是生成連結檔案,類似於快捷方式。
- -b:覆蓋已存在的檔案目標前將目標檔案備份。
- -S:在備份檔案時,用指定的字尾“SUFFIX”代替檔案的預設字尾。
示例
- 複製單個檔案:cp source.txt destination.txt
- 複製目錄及其所有內容:cp -r source_dir destination_dir
- 保留檔案屬性複製:cp -p file1.txt file2.txt
- 遞迴複製目錄並保留屬性:cp -ar source_dir destination_dir
- 建立符號連結而非複製檔案:cp -s source.txt link.txt
- 複製多個檔案到指定目錄:cp file1.txt file2.txt -t target_dir
- 複製某個目錄下所有的檔案到其它目錄:cp rumenz/* /tmp
- 指定備份字尾:cp -b --suffix=.bak source.txt destination.txt 或 cp -b -S.bak source.txt destination.txt
注意事項
- 當一次複製多個檔案時,目標檔案引數必須是一個已經存在的目錄,否則將出現錯誤。
- 使用cp命令複製目錄時,必須使用-r或-R引數。
- 在使用cp命令時,要特別注意檔案覆蓋的問題,特別是當目標檔案已存在時。
5、移動或重新命名檔案和目錄(mv命令)
mv 命令在 Linux 系統中用於移動或重新命名檔案和目錄。它是非常基礎且常用的命令之一,對於管理檔案和目錄結構至關重要。
基本語法
- mv [選項] 原始檔或目錄 目標檔案或目錄
常用選項
- -i:在覆蓋檔案之前提示使用者確認。
- -u:當原始檔比目標檔案新,或者目標檔案不存在時,才進行移動或重新命名。
- -v:顯示詳細的處理過程資訊。
- -n:不要覆蓋任何已存在的檔案或目錄。
- -f:強制覆蓋目標檔案或目錄,不進行任何提示。
- -b:在覆蓋前為檔案建立備份,備份檔案通常會在原檔名後加上波浪線(~)或者根據--suffix指定的字尾。
- -t:指定目標目錄,當移動多個檔案到一個目錄時很有用。
示例
1)移動檔案
將檔案 example.txt 從當前目錄移動到 /tmp 目錄:
示例:mv example.txt /tmp
2)重新命名檔案
將檔案 oldname.txt 重新命名為 newname.txt:
示例:mv oldname.txt newname.txt
注意,這裡沒有指定目標目錄,因為重新命名操作是在同一目錄下進行的。
3)移動多個檔案
將多個檔案(file1.txt、file2.txt)移動到 /tmp 目錄:
示例:mv file1.txt file2.txt /tmp 或 mv file1.txt file2.txt -t /tmp
或者,你也可以使用萬用字元來匹配多個檔案:
示例:mv file*.txt /tmp
4)移動目錄
將目錄 mydir 移動到 /home/username/newdir(假設 /home/username/newdir 已經存在):
示例:mv mydir /home/username/newdir
注意,如果目標路徑不存在且命令試圖將一個目錄移動到這個路徑,它通常會失敗(除非使用了 -t 選項,這在某些版本的 mv 中可用,但並非所有系統都支援)。
5)使用 -i 選項進行覆蓋前的確認
在覆蓋檔案之前,提示使用者確認:
示例:mv -i source.txt target.txt
如果 target.txt 已經存在,系統會詢問你是否要覆蓋它。
6)移動並建立備份
示例:mv -b -S.bak source.txt destination.txt (其中 -S.bak 表示設定備份檔案的字尾為“.bak”,預設字尾為“~”)
注意事項
- 使用 mv 命令時要小心,因為一旦檔案或目錄被移動或重新命名,原始的引用或路徑就可能失效。
- 如果目標目錄不存在且沒有使用 -t 選項(如果可用),mv 命令可能會將源目錄重新命名為目標名稱,而不是將其內容移動到新位置。
- 在處理重要檔案時,建議先備份,以防萬一發生意外。
- 當移動操作涉及到刪除原始檔或目錄時,請謹慎操作,一旦執行,沒有回收站可以恢復。
三、Linux壓縮/解壓檔案操作
1、zip
壓縮檔案
將testA.txt和testB.txt壓縮成一個zip包:zip test.zip testA.txt testB.txt
將所有.jpg的檔案壓縮成一個zip包:zip test.zip *.jpg
壓縮目錄
將資料夾test壓縮成一個zip包:zip -r test.zip ./test
解壓縮
將test.zip中的所有檔案解壓出來:unzip test.zip
將當前目錄下面的mydata.zip解壓到mydatabak目錄裡面:unzip mydata.zip -d ./mydatabak
2、rar
rar安裝
CentOS預設沒有安裝 rar 軟體,需要我們手動安裝。
1)首先,我們需要先安裝一下 gcc 編譯器
命令:yum install gcc
可以發現它預設已經安裝好了。
2)接著,下載 Linux 版本的 rar 軟體安裝包
命令:wget https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz
如果wget的地址失效,可到rar官網下載:https://www.rarlab.com/download.htm
3)然後,將下載好的 rarlinux-x64-6.0.2.tar.gz 這個壓縮包解壓出來
命令:tar -zxvf rarlinux-x64-6.0.2.tar.gz
4)最後,進入解壓出來的 rar 資料夾,並使用 make 命令進行編譯
可以發現它很小,很快就編譯好了。
5)檢查是否安裝成功
命令:rar
如果安裝成功,則執行此命令時會顯示出RAR的幫助資訊。
至此我們的 rar 軟體就算安裝好了。
總結:
yum install gcc //安裝gcc編譯器 wget https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz //下載安裝包 tar -zxvf rarlinux-x64-6.0.2.tar.gz //解壓 cd rar //進入到剛解壓出來的rar資料夾 make //編譯 rar //檢查是否安裝成功
壓縮檔案
命令1:rar a test.rar test1.txt test2.txt
這條命令是將test1.txt和test2.txt壓縮成一個rar包
命令2:rar a test.rar ./*.txt
這條命令是將當前目錄下所有.txt的檔案壓縮成一個rar包
壓縮目錄
命令:rar a test.rar test
這條命令是將資料夾test壓縮成一個rar包
解壓縮
命令1:unrar e test.rar
這條命令是將test.rar中的所有檔案解壓到當前目錄
命令2:unrar e test.rar -w ./mydir
這條命令是將test.rar解壓到指定目錄
3、tar
引數說明
- --help:檢視幫助資訊
- -z:透過 gzip 過濾歸檔(gz壓縮)
- -c:建立一個新歸檔(壓縮)
- C:大寫的C,改變至目錄DIR(指定目錄)
- -x:從歸檔中解出檔案(解壓)
- -v:詳細地列出處理的檔案
- -f:指定歸檔檔案或 ARCHIVE 裝置
- -a:使用歸檔字尾名來決定壓縮程式
- -t:列出歸檔內容
壓縮檔案或目錄
示例1:tar -cf test.tar test1.txt test2.txt (壓縮指定檔案)
示例2:tar -cf mydir.tar ./mydir (壓縮目錄)
詳細列出壓縮包的所有檔案
示例:tar -tvf test.tar
解壓縮
示例1:tar -xf test.tar (解壓到當前目錄)
示例2:tar -xf test.tar -C ./mydir (解壓到指定目錄)
4、tar.gz
壓縮檔案或目錄
語法:tar -zcf 壓縮包名稱 需要壓縮的檔案或目錄
示例1:tar -zcf test.tar.gz test1.txt test2.txt (壓縮指定檔案)
示例2:tar -zcf mydir.tar.gz ./mydir (壓縮目錄)
解壓縮
示例1:tar -zxf test.tar.gz (解壓到當前目錄)
示例2:tar -zxf test.tar.gz -C ./mydir (解壓到指定目錄)
5、xz
xz只能壓縮檔案,不能壓縮目錄(資料夾),可對 .tar 或 .zip 等壓縮檔案進行二次壓縮。
壓縮檔案
語法:xz -z 要壓縮的檔案
如果要保留被壓縮的檔案加上引數 -k ,如果要設定壓縮率加上引數 -0 到 -9調節壓縮率,如果不設定,預設壓縮等級是6。
示例:xz -z -k -9 test.zip
壓縮成功後就會多出一個 test.zip.xz 的壓縮檔案。
解壓縮
語法:xz -d 要解壓的檔案
使用 -k 引數可保留被解壓縮的檔案。
示例1:xz -d test.zip.xz
示例2:xz -d -k test.zip.xz (保留被解壓縮的檔案)
6、tar.xz
.tar.xz檔案是首先使用tar命令將多個檔案或目錄打包成一個.tar檔案,然後再使用xz壓縮演算法對這個.tar檔案進行壓縮得到的檔案。
壓縮檔案
示例:xz -z -k test.tar
壓縮成功後就會多出一個 test.tar.xz 的壓縮檔案。
解壓縮
示例1:xz -d test.tar.xz
示例2:xz -d -k test.tar.xz (保留被解壓縮的檔案)
7、bz2(不常用)
解壓1:bzip2 -d FileName.bz2 解壓2:bunzip2 FileName.bz2 壓縮: bzip2 -z FileName .tar.bz2 解壓:tar jxvf FileName.tar.bz2 壓縮:tar jcvf FileName.tar.bz2 DirName
8、bz(不常用)
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
9、Z(不常用)
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
此文由博主精心撰寫轉載請保留此原文連結:https://www.cnblogs.com/xyh9039/p/18278973
版權宣告:如有雷同純屬巧合,如有侵權請及時聯絡本人修改,謝謝!!!