標籤:des class blog c tar http
一、目錄操作命令
ls命令
— 功能說明:顯示檔案和目錄列表。
— 命令格式:ls [參數] [<檔案或目錄> …]
— 常用參數:
-a : 不隱藏任何以“.”字元開始的條目。
-b : 用八進位形式顯示非列印字元。
-R : 遞迴列出所有子目錄。
-d : 當遇到目錄時,列出目錄本身而非目錄內的檔案,並且不跟隨符號連結。
-F : 在條目後加上檔案類型的指示符號(*, /, =, @, |,其中的一個)。
-l : 使用較長格式列出資訊。
-L : 當顯示符號連結的檔案資訊時,顯示符號連結所指示的對象而並非符號連結本身的資訊。
-x : 逐行列出項目而不是逐欄列出。
-1 : 每行只列出一個檔案。
-r : 依相反次序排列。
-S : 根據檔案大小排序。
-X : 根據副檔名排序。
-c : 根據狀態改變時間(ctime)排序。
-t : 根據最後修改時間(mtime)排序。
-u : 根據最後訪問時間(atime)排序。
— 使用樣本:
ls
ls -a
ls -F
ls -l
ls -R
ls -Sl
ls -rl
ls -cl
ls -tl
ls -ul
ls some/dir/file
ls some/dir/
ls -d some/dir/
tree命令
— 功能說明:顯示檔案和分類樹。
— 命令格式:tree [參數] [<目錄>]
— 常用參數:
-a : 不隱藏任何以“.”字元開始的條目。
-d : 只顯示目錄不顯示檔案。
-f : 每個檔案都顯示路徑。
-F : 在條目後加上檔案類型的指示符號(*,/,=,@,|,其中的一個)。
-r : 依相反次序排列。
-t : 根據最後修改時間(mtime)排序。
-L n : 只顯示n層目錄(n為數字)。
–dirsfirst : 目錄顯示在前檔案顯示在後。
— 使用樣本:
tree
tree -d
tree -F
tree -L 3
tree /some/dir/
pwd命令
— 功能說明:顯示當前工作目錄。
— 命令格式:pwd [參數]
— 常用參數:
-P : 若目錄是一個符號連結,將顯示實體路徑而非符號連結。
— 使用樣本:
pwd
pwd -P
cd命令
— 功能說明:切換目錄。
— 命令格式:cd [參數] [<目錄>]
— 常用參數:
-P : 若目錄是一個符號連結,將顯示實體路徑而非符號連結。
— 使用樣本:
cd /some/dir/
cd -P Examples
cd
cd ~
cd ..
cd ../..
cd -
mkdir命令
— 功能說明:建立目錄。
— 命令格式:mkdir [參數] <目錄>
— 常用參數:
-p : 建立分類樹,需要時建立上層目錄,如目錄已存在也不視作錯誤。
— 使用樣本:
mkdir somedir/、
mkdir -p some/path/dir/
rmdir命令
— 功能說明:刪除空目錄。
— 命令格式: rmdir [參數] <目錄>
— 常用參數:
-p : 刪除目錄,然後嘗試刪除指定路徑中的所有上層目錄。例如:rmdir -p a/b/c 的效果等於rmdir a/b/c a/b a。
— 使用樣本:
rmdir somedir/
rmdir -p some/path/dir/
二、檔案操作命令
touch命令
— 功能說明:產生新的空檔案或更改現有檔案的時間戳記。
— 命令格式:touch [參數] <檔案> …
— 常用參數:
-a : 只更改訪問時間。
-m : 只更改修改時間。
-t <STAMP> : 使用[[CC]YY]MMDDhhmm[.ss]格式的時間而非目前時間。
-r <參考檔案或目錄> : 使用指定檔案的時間屬性而非目前時間。
— 使用樣本:
touch newfile
touch file
touch -a file
touch -m file
touch -t 200701311200 file
— GNU/Linux的檔案有3種類型的時間戳記:
mtime: 最後修改時間(ls –lt)
ctime: 狀態改變時間(ls –lc)
atime: 最後訪問時間(ls –lu)
注意:
1.ctime並非檔案建立時間。
2.覆蓋一個檔案會改變所有三類時間:mtime、ctime和atime。
3.改變檔案的存取權限或擁有者會改變檔案的ctime和atime。
4.讀檔案會改變檔案的atime。
cp命令
— 功能說明:複製檔案或目錄。
— 命令格式:cp [參數] <源> <目標>
— 常用參數:
-a : 等價於 –dpR。
-d : 當複製符號連結的源檔案時,目標檔案也將建立符號連結且指向源檔案所連結的原始檔案。
-f : 強制複製,不管目標是否存在。
-i : 互動式複製,覆蓋檔案前需要確認。
-p : 在複製檔案過程中保留檔案屬性,包括屬主、組、許可權與時間戳記。
-R,-r : 遞迴地複製目錄及目錄內的所有項目。
-l : 對源檔案建立永久連結,而非複製檔案,也可以使用ln命令進行。
-s : 對源檔案建立符號連結,而非複製檔案,也可以使用ln -s命令進行。
-u : 只有當源檔案的修改時間(ctime)比目標檔案更新時或目標尚不存在時才進行複製。
— 使用樣本:
cp file1 file2
cp some/dir/file1 someother/dir/
cp some/dir/file1 someother/dir/file2
cp some/dir/file .
cp some/dir/files someother/dir/
cp some/dir/file1 some/dir/file2 some/dir/file3 someother/dir/
cp -r some/dir/ someother/dir/
cp -au some/dir/ someother/dir/
mv命令
— 功能說明:移動檔案或目錄、檔案或目錄改名。
— 命令格式:mv [參數] <源> <目標>
— 常用參數:
-f : 強制移動,不管目標是否存在。
-i : 互動式移動,覆蓋檔案前需要確認。
-u : 只有當源檔案的修改時間(ctime)比目標檔案更新時或目標尚不存在時才進行移動。
— 使用樣本:
mv /some/dir/file1 /someother/dir/
mv /some/dir/file1 /someother/dir/file2
mv /some/dir/files /someother/dir/
mv file newname_file
mv dir newname_dir
rm命令
— 功能說明:刪除檔案或目錄。
— 命令格式:rm [參數] <檔案> …
— 常用參數:
-f : 略過不存在的檔案,不顯示任何資訊。
-i : 進行任何刪除操作前必須先確認。
-r,-R : 遞迴刪除該目錄下的所有目錄層。
— 使用樣本:
rm /some/dir/file1
rm -i /some/dir/file1
rm -f /some/dir/file1
rm -rf /some/dir/
注意
1.預設時,rm不會刪除目錄。使用-recursive(-r或–R)選項可刪除每個給定的目錄,以及其下所有的內容。
2.要刪除第一個字元為“-”的檔案(例如“-foo”),請使用以下其中一種方法:
rm — -foo
rm ./-f
ln命令
— 功能說明:建立連結檔案。
— 命令格式:ln [參數] <被連結的檔案> <連結檔案名稱>
— 常用參數:
-s : 建立符號連結,而非永久連結。
-f : 強行建立連結,不論其是否存在。
-i : 覆蓋原有檔案之前先詢問使用者。
— 使用樣本:
ln somefile hardlinkfile
ln -s somefile softlinkfile
ln -s somedir softlinkfile
symlinks命令
— 功能說明:檢查目錄中的符號連結,並顯示符號連結類型。
— 命令格式:symlinks [參數] <目錄> [<目錄>…]
— 連結類型:
absolute : 使用絕對路徑的符號連結。
dangling : 原始檔案已經不存在的符號連結。
lengthy : 符號連結的路徑中包含了多餘的“../”。
messy : 符號連結的路徑中包含了多餘的“/”。
other_fs : 原始檔案位於其他檔案系統中。
relative : 使用相對路徑的符號連結。
— 常用參數:
-c : 將 absolute/messy類型的符號連結轉換為relative類型。
-d : 刪除dangling類型的符號連結。
-r : 檢查目錄下所有子目錄中的符號連結。
-s : 縮短lengthy類型的符號連結。
-v : 顯示所有類型的符號連結。
— 使用樣本:
symlinks -v -r .
symlinks -v /usr/bin
symlinks -c somedir
symlinks -s -d somedir
三、檔案打包壓縮命令
gzip命令
— 功能說明:.gz檔案的壓縮和解壓縮程式。
— 命令格式:gzip [參數] <檔案> …
— 常用參數:
-a: 使用ASCII文字模式。
-c: 把壓縮後的檔案輸出到標準輸出裝置,不改動原始檔案。
-d: 解開壓縮檔。
-f: 強行壓縮檔,不理會檔案名稱或永久連結是否存在以及該檔案是否為符號連結。
-l: 列出壓縮檔的相關資訊。
-L: 顯示版本與著作權資訊。
-n: 壓縮檔時,不儲存原來的檔案名稱及時間戳記。
-N : 壓縮檔時,儲存原來的檔案名稱及時間戳記,這是預設的。
-q : 不顯示警告資訊。
-r : 遞迴處理,將指定目錄下的所有檔案及子目錄一同處理。
-t : 測試壓縮檔是否正確無誤。
-v : 顯示指令執行過程。
-V : 顯示gzip版本資訊。
— <壓縮率> : 壓縮率是一個介於1~9的數值,預設值為“6”,數值越大壓縮率越高。
–best : 此參數的效果和指定“-9”參數相同。
–fast : 此參數的效果和指定“-1”參數相同。
— 使用樣本:
gzip filename
gzip -v file1 file2
gzip -c file1 file2 > foo.gz
gzip -l *.gz
gzip -d filename.gz
bzip2命令
— 功能說明:.bz2檔案的壓縮和解壓縮程式。
— 命令格式:bzip2 [參數] <檔案> …
— 常用參數:
-c : 把壓縮後的檔案輸出到標準輸出裝置,不改動原始檔案。
-d : 解開壓縮檔。
-f : 強行壓縮檔。
-k : 保留原始檔案,預設在壓縮或解壓縮後會刪除原始的檔案。
-s : 降低程式執行時記憶體的使用量,但會加長執行時間。
-t : 測試壓縮檔是否正確無誤。
-v : 顯示指令執行過程。
-V : 顯示bzip2版本資訊。
— <壓縮等級> : 壓縮等級是一個介於1~9的數值,指定壓縮時的區塊大小。
–repetitive-best : 若檔案中有重複出現的資料時,可利用此參數提高壓縮效果。
–repetitive-fast : 若檔案中有重複出現的資料時,可利用此參數加快執行速度。
— 使用樣本:
bzip2 filename
bzip2 -vk file1 file2
bzip2 -c file1 file2 > foo.bz2
bzip2 -t *.bz2
bzip2 -d filename.bz2
— 提示:bzip2以區塊的方式來壓縮檔,每個區塊視為獨立的單位。因此,當某一區塊損壞時,便可利用bzip2recover命令試著將檔案中的區塊分隔開來,以便
解縮正常的區塊。通常只適用於壓縮檔很大的情況。
tar命令
— 功能說明:檔案打包和解包。
— 命令格式:tar [參數] <目錄> …
— 常用參數:
-f name : 使用name指定封存檔案名或裝置名稱。
-v : 列出處理的詳細資料。
-c : 用於建立一個新的封存檔案。
-x : 從歸檔檔案中恢複備份檔案。
-t : 用於列出一個封存檔案中的檔案名稱。
-z : 用GNU的gzip壓縮檔或解壓。
-Z : 用compress壓縮檔或解壓。
-j : 用bzip2壓縮檔或解壓。
— 使用樣本:
tar -cvf myball.tar somedirname
tar -tf myball.tar
tar -xvf myball.tar
tar -zcvf myball.tar.gz somedirname
tar -ztf myball.tar.gz
tar -zxvf myball.tar.gz
tar -jcvf myball.tar.bz2 somedirname
tar -jtf myball.tar.bz2
tar -jxvf myball.tar.bz2
(cd /source/directory && tar cpf – . ) | (cd /dest/directory && tar xvfp -)
— 提示:
壓縮檔(compressed file)和歸檔檔案(archive file)的異同
— 相同:都是檔案和目錄的一個集合。
— 不同:
歸檔檔案所佔用的磁碟空間是其中所有檔案和目錄的總和。
一般情況下,壓縮檔所佔用的磁碟空間比其中所有檔案和目錄的總和要少。
歸檔檔案不是壓縮檔,但是壓縮檔可以是歸檔檔案。