1. 程式人生 > >PHP之Linux(二) 基本命令

PHP之Linux(二) 基本命令

* ps:本單元的邏輯——從外到裡,像俄羅斯套娃一樣地,一層層拔開 *

Linux的基本命令

ls命令 列舉當前目錄中檔案和子目錄

-a 顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
-l 除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出長列表形式
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時間之先後次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的檔名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有檔案,則以下之檔案亦皆依序列出

-i 顯示檔案節點號(關於inode的內容稍後再講)[^009]

引數-l用法 1

cd命令 命令用於切換當前工作目錄至 dirName(目錄引數)。

“~” 也表示為 (自己的)home 目錄 的意思;

“.” 則是表示目前所在的目錄,”..” 則表示目前目錄位置的上一層目錄;

“-“表示歷史,前一個目錄;

pwd命令 檢視”當前工作目錄“的完整路徑

1.命令格式:

    pwd [選項]

2.命令功能:

檢視”當前工作目錄“的完整路徑

3.常用引數:
一般情況下不帶任何引數
如果目錄是連結時:

格式:pwd -P  顯示出實際路徑,而非使用連線(link)路徑。 

4.常用例項:

  • 例項1:用 pwd 命令檢視預設工作目錄的完整路徑
[root@localhost ~]# pwd
/root
[root@localhost ~]#
  • 例項2:使用 pwd 命令檢視指定資料夾
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd 
/opt/soft
[root@localhost soft]#
  • 例項3:目錄連線連結時,pwd -P 顯示出實際路徑,而非使用連線(link)路徑;pwd顯示的是連線路徑
[[email protected] soft]# cd /etc/init.d 
[[email protected] init.d]# pwd
/etc/init.d
[[email protected] init.d]# pwd -P
/etc/rc.d/init.d
[[email protected] init.d]#

目錄操作命令

目錄新建是有大小的(一般預設4096),空檔案是沒有大小的。

mkdir 建立目錄

  • Linux mkdir命令用於建立名稱為 dirName 之子目錄。
  • -p 確保目錄名稱存在,不存在的就建一個。

例項: 在工作目錄下,建立一個名為 AAA 的子目錄 :

mkdir AAA

在工作目錄下的 BBB 目錄中,建立一個名為 Test 的子目錄。 若 BBB 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。)

mkdir -p BBB/Test

rmdir 命令

Linux rmdir命令刪除空的目錄。
語法

rmdir [-p] dirName

引數:
-p 是當子目錄被刪除後使它也成為空目錄的話,則順便一併刪除。
例項
將工作目錄下,名為 AAA 的子目錄刪除 :
rmdir AAA
在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除後,BBB 目錄成為空目錄,則 BBB 亦予刪除。
rmdir -p BBB/Test

檔案操作命令

touch 建立空檔案

Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。
ls -l 可以顯示檔案的時間記錄。

語法

touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]

引數說明

a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是為了與其他 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會建立新檔案。

echo 建立有內容的檔案

功能說明:顯示文字。

語   法

echo [-ne][字串]或 echo [--help][--version]

補充說明:echo會將輸入的字串送往標準輸出。輸出的字串間以空白字元隔開, 並在最後加上換行號。

參   數:-n 不要在最後自動換行
-e 若字串中出現以下字元,則特別加以處理,而不會將它當成一般
文字輸出:
   \a 發出警告聲;
   \b 刪除前一個字元;
   \c 最後不加上換行符號;
   \f 換行但游標仍舊停留在原來的位置;
   \n 換行且游標移至行首;
   \r 游標移至行首,但不換行;
   \t 插入tab;
   \v\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八進位制)所代表的ASCII字元;

cp 複製檔案

Linux cp命令主要用於複製檔案或目錄。

語法

cp [options] source dest

cp [options] source... directory

引數說明

-a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合。 
-d:複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式。 
-f:覆蓋已經存在的目標檔案而不給出提示。 
-i:與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。 
-p:除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。 
-r:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。 
-l:不復制檔案,只是生成連結檔案。

例項 使用指令”cp”將當前目錄”test/”下的所有檔案複製到新目錄”newtest”下,輸入如下命令:

$ cp –r test/ newtest   

mv 更改一個檔名稱或移入其它位置

Linux mv命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置。
語法

mv [options] source dest
mv [options] source... directory

引數說明:

-i: 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案;
-f: 在mv操作要覆蓋某已有的目標檔案時不給任何指示;

mv引數設定與執行結果

mv 檔名 檔名
將原始檔名改為目標檔名
mv 檔名 目錄名
將檔案移動到目標目錄
mv 目錄名 目錄名
目標目錄已存在,將源目錄移動到目標目錄;目標目錄不存在則改名
mv 目錄名 檔名
出錯

例項:
將檔案 aaa 更名為 bbb :

mv aaa bbb

將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名為logs。

mv info/ logs

再如將/usr/student下的所有檔案和目錄移到當前目錄下,命令列為:

$ mv /usr/student/*  . 

rm 刪除檔案或目錄

Linux rm命令用於刪除一個檔案或者目錄。
語法

rm [options] name...

引數

-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。

例項
刪除檔案可以直接使用rm命令,若刪除目錄則必須配合選項”-r”,例如:

 rm  test.txt
rm:是否刪除 一般檔案 "test.txt"? y  
 rm  homework  
rm: 無法刪除目錄"homework": 是一個目錄  
 rm  -r  homework  
rm:是否刪除 目錄 "homework"? y
刪除當前目錄下的所有檔案及目錄,命令列為:
rm  -r  *

檔案一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。

檔案檢視命令

cat 連線檔案並列印到標準輸出裝置

語法格式

cat [-AbeEnstTuv] [--help] [--version] fileName

引數說明:

-n 或 --number:由 1 開始對所有輸出的行數編號。
-b 或 --number-nonblank:和 -n 相似,只不過對於空白行不編號。
-s 或 --squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFDTAB 之外。
-E 或 --show-ends : 在每行結束處顯示 $。
-T 或 --show-tabs:TAB 字元顯示為 ^I-e : 等價於 -vE。
-A, --show-all:等價於 -vET。
-e:等價於"-vE"選項;
-t:等價於"-vT"選項;

例項:
把 textfile1 的文件內容加上行號後輸入 textfile2 這個文件裡:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文件內容加上行號(空白行不加)之後將內容附加到 textfile3 文件裡:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文件內容:

cat /dev/null > /etc/test.txt

cat 也可以用來製作映象檔案。例如要製作軟盤的映象檔案,將軟盤放好後輸入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 寫到軟盤,輸入:

cat IMG_FILE > /dev/fd0

注:

  • OUTFILE 指輸出的映象檔名。
  • IMG_FILE 指映象檔案。
  • 若從映象檔案寫回 device 時,device 容量需與相當。
  • 通常用製作開機磁片。

Head/Tail 顯示檔案頭/結尾

head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然就是看檔案的結尾,看看下面的範例1

displays the first 6 lines of a file
head -6 readme.txt

範例2

displays the last 25 lines of a file
tail -25 mail.txt

範例一是顯示檔案的前 6 行,範例二則是顯示檔案最後的 25 行。
而下面的範別,結合了 head 與 tail 的指令,顯示檔案的第 11 行到第 20 行:
範例3

head -20 file | tail -10

在 tail 的使用手冊頁中顯示了比 head 還多的可用引數,其中有一個很好用的引數 ” -f “,使用此引數時,tail 不會回傳結束訊號,除非我們去自行去中斷它;相反的,它會一直等待一段時間,一直到他發現資料自它最後一次被讀取後,又被加入新的一行時:
範例4

display ongoing updates to the given
log file
tail -f /usr/tmp/logs/daemon_log.txt

上述範例可以動態顯示該 log 檔案的動態更新。

more 分頁檢視

more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明檔案,請按 h 。
語法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

引數:

-num 一次顯示的行數
-d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶'-l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
-f 計算行數時,以實際上的行數,而非自動換行過後的行數(有些單行字數太長的會被擴充套件為兩行或兩行以上)
-p 不以捲動的方式顯示每一頁,而是先清除螢幕後再顯示內容
-c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
-s 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不同)
+/pattern 在每個文件顯示前搜尋該字串(pattern),然後從該字串之後開始顯示
+num 從第 num 行開始顯示
fileNames 欲顯示內容的文件,可為複數個數

例項
逐頁顯示 testfile 文件內容,如有連續兩行以上空白行則以一行空白行顯示。

more -s testfile

從第 20 行開始顯示 testfile 之文件內容。

more +20 testfile

常用操作命令

  • Enter 向下n行,需要定義。預設為1行
  • Ctrl+F 向下滾動一屏
  • 空格鍵 向下滾動一屏
  • Ctrl+B 返回上一屏
  • = 輸出當前行的行號
  • :f 輸出檔名和當前行的行號
  • V 呼叫vi編輯器
  • !命令 呼叫Shell,並執行命令
  • q 退出more

find 檢視檔案或資料夾

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

find   path   -option   [   -print ][ -exec   -ok   command ]   {} ;

引數說明 :
find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案
-amin n : 在過去 n 分鐘內被讀取過
-anewer file : 比檔案 file 更晚被讀取過的檔案
-atime n : 在過去 n 天過讀取過的檔案
-cmin n : 在過去 n 分鐘內被修改過
-cnewer file :比檔案 file 更新的檔案
-ctime n : 在過去 n 天過修改過的檔案
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫
-name name, -iname name : 檔名稱符合 name 的檔案。iname 會忽略大小寫
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 檔案型別是 c 的檔案。
d: 目錄
c: 字型裝置檔案
b: 區塊裝置檔案
p: 具名貯列
f: 一般檔案
l: 符號連結
s: socket
-pid n : process id 是 n 的檔案

你可以使用 ( ) 將運算式分隔,並使用下列運算。

exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2

例項
將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

 # find . -name "*.c"

將目前目錄其其下子目錄中所有一般檔案列出

 # find . -type f

將目前目錄及其子目錄下所有最近 20 天內更新過的檔案列出

 # find . -ctime -20

查詢/var/logs目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們:

 $ find /var/logs -type f -mtime +7 -ok rm { } ;

查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案:

 $ find . -type f -perm 644 -exec ls -l { } ;

為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑:

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

查詢/var/logs目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們:

 $ find /var/logs -type f -mtime +7 -ok rm { } ;

管道命令

| 管道操作符

grep命令 查詢檔案裡符合條件的字串。

grep指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為”-“,則grep指令會從標準輸入裝置讀取資料。
語法

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本檔案>][--help][範本樣式][檔案或目錄...]

引數:

-a或--text 不要忽略二進位制的資料。
-A<顯示列數>或--after-context=<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之後的內容。
-b或--byte-offset 在顯示符合範本樣式的那一列之前,標示出該列第一個字元的位編號。
-B<顯示列數>或--before-context=<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前的內容。
-c或--count 計算符合範本樣式的列數。
-C<顯示列數>或--context=<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
-d<進行動作>或--directories=<進行動作> 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。
-e<範本樣式>或--regexp=<範本樣式> 指定字串做為查詢檔案內容的範本樣式。
-E或--extended-regexp 將範本樣式為延伸的普通表示法來使用。
-f<範本檔案>或--file=<範本檔案> 指定範本檔案,其內容含有一個或多個範本樣式,讓grep查詢符合範本條件的檔案內容,格式為每列一個範本樣式。
-F或--fixed-regexp 將範本樣式視為固定字串的列表。
-G或--basic-regexp 將範本樣式視為普通的表示法來使用。
-h或--no-filename 在顯示符合範本樣式的那一列之前,不標示該列所屬的檔名稱。
-H或--with-filename 在顯示符合範本樣式的那一列之前,表示該列所屬的檔名稱。
-i或--ignore-case 忽略字元大小寫的差別。
-l或--file-with-matches 列出檔案內容符合指定的範本樣式的檔名稱。
-L或--files-without-match 列出檔案內容不符合指定的範本樣式的檔名稱。
-n或--line-number 在顯示符合範本樣式的那一列之前,標示出該列的列數編號。
-q或--quiet或--silent 不顯示任何資訊。
-r或--recursive 此引數的效果和指定"-d recurse"引數相同。
-s或--no-messages 不顯示錯誤資訊。
-v或--revert-match 反轉查詢。
-V或--version 顯示版本資訊。
-w或--word-regexp 只顯示全字符合的列。
-x或--line-regexp 只顯示全列符合的列。
-y 此引數的效果和指定"-i"引數相同。
--help 線上幫助。

例項
1、在當前目錄中,查詢字尾有”test”字樣的檔案中包含”test”字串的檔案,並打印出該字串的行。此時,可以使用如下命令:

grep test *file 

結果如下所示:

 $ grep test test* #查詢字尾有“test”的檔案包含“test”字串的檔案  
testfile1:This a Linux testfile! #列出testfile1 檔案中包含test字元的行  
testfile_2:This is a linux testfile! #列出testfile_2 檔案中包含test字元的行  
testfile_2:Linux test #列出testfile_2 檔案中包含test字元的行 

2、以遞迴的方式查詢符合條件的檔案。例如,查詢指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有檔案中包含字串”update”的檔案,並打印出該字串所在行的內容,使用的命令為:

grep -r update /etc/acpi 

輸出結果如下:

$ grep -r update /etc/acpi #以遞迴的方式查詢“etc/acpi”  

#下包含“update”的檔案

/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)  
Rather than  
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of  
IO.) Rather than  
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update 

3、反向查詢。前面各個例子是查詢並打印出符合條件的行,通過”-v”引數可以打印出不符合條件行的內容。
查詢檔名中包含test 的檔案中不包含test 的行,此時,使用的命令為:

grep -v test*

結果如下所示:
$ grep-v test* #查詢檔名中包含test 的檔案中不包含test 的行

testfile1:helLinux!  
testfile1:Linis a free Unix-type operating system.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux is a free unix-type opterating system.  

打包與解包

tar命令

Linux tar命令用於備份檔案。
tar是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案。
語法

tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <區塊數目>][-C <目的目錄>][-f <備份檔案>][-F <Script檔案>][-K <檔案>][-L <媒體容量>][-N <日期時間>][-T <範本檔案>][-V <卷冊名稱>][-X <範本檔案>][-<裝置編號><儲存密度>][--after-date=<日期時間>][--atime-preserve][--backuup=<備份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<範本樣式>][--force-local][--group=<群組名稱>][--help][--ignore-failed-read][--new-volume-script=<Script檔案>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<使用者名稱稱>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<區塊數目>][--recursive-unlink][--remove-files][--rsh-command=<執行指令>][--same-owner][--suffix=<備份字尾字串>][--totals][--use-compress-program=<執行指令>][--version][--volno-file=<編號檔案>][檔案或目錄...]

引數:

-A或--catenate 新增檔案到已存在的備份檔案。
-b<區塊數目>或--blocking-factor=<區塊數目> 設定每筆記錄的區塊數目,每個區塊大小為12Bytes。
-B或--read-full-records 讀取資料時重設區塊大小。
-c或--create 建立新的備份檔案。
-C<目的目錄>或--directory=<目的目錄> 切換到指定的目錄。
-d或--diff或--compare 對比備份檔案內和檔案系統上的檔案的差異。
-f<備份檔案>或--file=<備份檔案> 指定備份檔案。
-F<Script檔案>或--info-script=<Script檔案> 每次更換磁帶時,就執行指定的Script檔案。
-g或--listed-incremental 處理GNU格式的大量備份。
-G或--incremental 處理舊的GNU格式的大量備份。
-h或--dereference 不建立符號連線,直接複製該連線所指向的原始檔案。
-i或--ignore-zeros 忽略備份檔案中的0 Byte區塊,也就是EOF-k或--keep-old-files 解開備份檔案時,不覆蓋已有的檔案。
-K<檔案>或--starting-file=<檔案> 從指定的檔案開始還原。
-l或--one-file-system 複製的檔案或目錄存放的檔案系統,必須與tar指令執行時所處的檔案系統相同,否則不予複製。
-L<媒體容量>或-tape-length=<媒體容量> 設定存放每體的容量,單位以1024 Bytes計算。
-m或--modification-time 還原檔案時,不變更檔案的更改時間。
-M或--multi-volume 在建立,還原備份檔案或列出其中的內容時,採用多卷冊模式。
-N<日期格式>或--newer=<日期時間> 只將較指定日期更新的檔案儲存到備份檔案裡。
-o或--old-archive或--portability 將資料寫入備份檔案時使用V7格式。
-O或--stdout 把從備份檔案裡還原的檔案輸出到標準輸出裝置。
-p或--same-permissions 用原來的檔案許可權還原檔案。
-P或--absolute-names 檔名使用絕對名稱,不移除檔名稱前的"/"號。
-r或--append 新增檔案到已存在的備份檔案的結尾部分。
-R或--block-number 列出每個資訊在備份檔案中的區塊編號。
-s或--same-order 還原檔案的順序和備份檔案內的存放順序相同。
-S或--sparse 倘若一個檔案內含大量的連續0位元組,則將此檔案存成稀疏檔案。
-t或--list 列出備份檔案的內容。
-T<範本檔案>或--files-from=<範本檔案> 指定範本檔案,其內含有一個或多個範本樣式,讓tar解開或建立符合設定條件的檔案。
-u或--update 僅置換較備份檔案內的檔案更新的檔案。
-U或--unlink-first 解開壓縮檔案還原檔案之前,先解除檔案的連線。
-v或--verbose 顯示指令執行過程。
-V<卷冊名稱>或--label=<卷冊名稱> 建立使用指定的卷冊名稱的備份檔案。
-w或--interactive 遭遇問題時先詢問使用者。
-W或--verify 寫入備份檔案後,確認檔案正確無誤。
-x或--extract或--get 從備份檔案中還原檔案。
-X<範本檔案>或--exclude-from=<範本檔案> 指定範本檔案,其內含有一個或多個範本樣式,讓ar排除符合設定條件的檔案。
-z或--gzip或--ungzip 通過gzip指令處理備份檔案。
-Z或--compress或--uncompress 通過compress指令處理備份檔案。
-<裝置編號><儲存密度> 設定備份用的外圍裝置編號及存放資料的密度。
--after-date=<日期時間> 此引數的效果和指定"-N"引數相同。
--atime-preserve 不變更檔案的存取時間。
--backup=<備份方式>或--backup 移除檔案前先進行備份。
--checkpoint 讀取備份檔案時列出目錄名稱。
--concatenate 此引數的效果和指定"-A"引數相同。
--confirmation 此引數的效果和指定"-w"引數相同。
--delete 從備份檔案中刪除指定的檔案。
--exclude=<範本樣式> 排除符合範本樣式的問家。
--group=<群組名稱> 把加入裝置檔案中的檔案的所屬群組設成指定的群組。
--help 線上幫助。
--ignore-failed-read 忽略資料讀取錯誤,不中斷程式的執行。
--new-volume-script=<Script檔案> 此引數的效果和指定"-F"引數相同。
--newer-mtime 只儲存更改過的檔案。
--no-recursion 不做遞迴處理,也就是指定目錄下的所有檔案及子目錄不予處理。
--null 從null裝置讀取檔名稱。
--numeric-owner 以使用者識別碼及群組識別碼取代使用者名稱稱和群組名稱。
--owner=<使用者名稱稱> 把加入備份檔案中的檔案的擁有者設成指定的使用者。
--posix 將資料寫入備份檔案時使用POSIX格式。
--preserve 此引數的效果和指定"-ps"引數相同。
--preserve-order 此引數的效果和指定"-A"引數相同。
--preserve-permissions 此引數的效果和指定"-p"引數相同。
--record-size=<區塊數目> 此引數的效果和指定"-b"引數相同。
--recursive-unlink 解開壓縮檔案還原目錄之前,先解除整個目錄下所有檔案的連線。
--remove-files 檔案加入備份檔案後,就將其刪除。
--rsh-command=<執行指令> 設定要在遠端主機上執行的指令,以取代rsh指令。
--same-owner 嘗試以相同的檔案擁有者還原問家你。
--suffix=<備份字尾字串> 移除檔案前先行備份。
--totals 備份檔案建立後,列出檔案大小。
--use-compress-program=<執行指令> 通過指定的指令處理備份檔案。
--version 顯示版本資訊。
--volno-file=<編號檔案> 使用指定檔案內的編號取代預設的卷冊編號。

例項
壓縮檔案 非打包

 # touch a.c       
 # tar -czvf test.tar.gz a.c   //壓縮 a.c檔案為test.tar.gz
 a.c

列出壓縮檔案內容

 # tar -tzvf test.tar.gz 
 -rw-r--r-- root/root     0 2010-05-24 16:51:59 a.c

解壓檔案

 # tar -xzvf test.tar.gz a.c 

壓縮格式

tar gz bi2
  1. 會顯示當前目錄內容的長列表
    [^009]: 參見軟鏈、硬鏈部分

相關推薦

PHPLinux( 基本命令

* ps:本單元的邏輯——從外到裡,像俄羅斯套娃一樣地,一層層拔開 * Linux的基本命令 ls命令 列舉當前目錄中檔案和子目錄 -a 顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出) -l 除檔

docker學習( 基本命令

學習 logs restart docker ui oca nbsp 存在 端口 src 1.查看docker 鏡像 docker images 2.拉取鏡像 docker pull xxx xxx 為鏡像名稱 3.刪除鏡像 docker rmi xxx

nutch solr系列nutch命令分析

1、$ ./nutch readdb crawlDir/crawldb/ -stats 此命令用來統計crawldb中連結的數量,以及fetch過的連結數量和未fetch過的連結數量 [email protected] /home/apache-nutch-1.

Git&GitHub學習筆記Git命令操作

在上篇文章中,我們就說過Git與GitHub不是一回事。GitHub是基於Git的,Git是基礎。所以再學習更多的GitHub知識之前,就得先了解Git。 一、什麼是Git Git 是一款免費、開源的分散式版本控制系統,他是著名的 Linux 發明者 L

【領卓教育】Linux學習入門(------系統命令 打補丁

      打補丁,什麼意思,在玩LOL、王者、吃雞...等遊戲的時候,可能大家都遇到過打打補丁的過程,例如版本的升級就是一次打補丁的過程!       首先版本的升級和更新,小編最初以為是把遊戲重新安裝或者覆蓋安裝的過程,可是每次的升

..linux開發uboot移植(——網路命令ping開發搭建使用&tftp伺服器的安裝&nfs網路伺服器的安裝

2018/01/05 19:48 - 網路命令搭建開發板uboot和虛擬機器ubuntu互相ping通記錄 1. uboot可以通過網路來傳輸檔案到開發

Linux shell常用基本命令

三、基本系統命令 1、檢視某個命令的幫助 man ls 顯示ls命令的幫助內容 2、顯示登陸使用者詳細資訊 w 3、顯示登陸使用者 who who am I  檢視自己的資訊 4、檢視最近登陸使用者 last 5、顯示當前日期時間 date  顯示當前日期時間 date

Linux 命令列中使用和執行 PHP 程式碼(:12 個 PHP 互動性 shell 的用法

Run PHP Codes in Linux Commandline 本文旨在讓你瞭解一些相當不錯的Linux終端中的PHP互動性 shell 的用法特性。 讓我們先在PHP 的互動shell中來對php.ini設定進行一些配置吧。 6. 設定PHP命令列提示符

嵌入式Linux C程式設計學習路(——常用命令彙總1

一、使用者管理類命令 1:格式:useradd [選項] 使用者名稱 useradd kkkw   -新增名字為kkkw的使用者,當用戶建立成功後,會在/home/ 目錄下生成與使用者名稱同名的目錄 [root@loc home]# useradd kkkw [roo

[Linux] Linux 中的基本命令與目錄結構(初稿

展開 src 文件名 auto 使用 bin target editor 提示符 Linux 中的基本命令與目錄結構 目錄 一、Linux 基本目錄結構 二、基本命令 三、瀏覽目錄 四、中間命令 五、更改密碼 六、環境變量和 shell 變量 七、命令路

[Linux] Linux 中的基本命令與目錄結構(待移除

head 命令 存在 壓縮 下載 創建文件 name 批處理 targe 簡化 Linux 中的基本命令與目錄結構 目錄 一、Linux 基本目錄結構 二、基本命令 三、瀏覽目錄 四、中間命令 五、更改密碼 六、環境變量和 shell 變量 七、命令路徑

MySQL單表(增刪改查+ 基本命令

偏移量 update 不為 也會 其他 insert 分享圖片 UNC 插入 1、MySQL之最基本命令    1、創建數據庫 命令:CREATE DATABASE 數據庫名; 舉例:CREATE DATABASE student; 2、指定要操作的數據庫 命令:USE 數

Linux(centos 7系列----XShell遠端連線本地虛擬機器

      本來是在自己的一臺筆記本上安裝的雙系統,但是每次都要去開啟筆記本,同時開啟兩臺機器,感覺不是很方便,因此就在自己的桌上型電腦上安裝了虛擬機器,但是虛擬機器的終端操作起來也不是很爽,因此採用了XShell5遠端連線本地的虛擬機器的方式去進行操作,虛擬機器的

Linux 命令(1 幫助命令help

help命令 : help【-dms】 【模式...】 顯示內嵌命令的相關資訊。 顯示內嵌命令的簡略資訊。如果指定了PATTERN模式,給出所有匹配的PATTERN的命令的詳

【Git、GitHub、GitLab】 Git基本命令建立Git倉庫

上一篇文章學習了Git的安裝與最小配置:【Git、GitHub、GitLab】一 Git安裝與Git最小配置 文章目錄 建立Git倉庫 建立Git倉庫 有兩種方式可以建立Git倉庫

Linux基礎檔案的搜尋

檔案搜尋和新建檔案類似的,在終端中提供了多種方式進行檔案的搜尋,常用的也是三種方式. 1、which 對於which指令來說,首先需要注意的是which命令只能搜尋PATH環境變數中的內容,比如搜尋一個命令程式所在的具體路徑,如果該命令存在於PATH環境變數中

圖片載入利器Picasso(基本用法

在上篇文章中我們提到了Picasso的諸多功能,下面我們來分別演示一下這些功能 配置: 在build.gradle中新增引用 dependencies { ... compile 'com.squareup.picasso:pica

linux菜鳥安裝Ubuntu14.04系統配置php環境(

Ubuntu 14.04下配置 LAMP+phpMyAdmin PHP開發環境詳細圖解教程。 先安裝 Apache Web伺服器,終端:sudo apt-get install apache2  apache2-doc,然後測試是否安裝成功。瀏覽器位址列輸入:http

Linux下的基本命令(意思理解,便於記憶

      以下為本人對一些記憶Linux基本命令與其作用的小技巧。 我們都知道Linux下的命令不少,有一些命令就知道它那樣但是卻不知道這些命令為何就用那幾個字母組成。下面就對這些命令做一個命令原來