/bin/tar :
libc.so.6 => /lib/libc.so.6 (0x4001d000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
應該也包含在壓縮檔裡。 | ||
概要 : | tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | |
x | -extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] | |
[ | --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ --force-local ] [ -F, --info-script F --new-volume-script F ] | |
[ | -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -I, --bzip ] | |
[ | --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] | |
[ | -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] | |
[ | -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] | |
[ | -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve ] | |
[ | -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] | |
[ | -S, --sparse ] [ -T, --files-from F ] [ --null ] [ --totals ] [ -v, --verbose ] [ -V, --label NAME ] | |
[ | --version ] [ -w, --interactive, --confirmation ] [ -W, --verify ] [ --exclude FILE ] | |
[ | -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ] | |
[ | --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh] ] |
filename1 [ filename2, ... filenameN ]
directory1 [ directory2, ...directoryN ]
函式字母
下列option至少有一個必須用到 :
-A, --catenate --concatenate
-c, --create -d, --diff --compare --delete -r, --append -t, --list -u, --update -x, --extract, --get |
附加tar檔到一個壓縮檔 產生一個新的壓縮檔 尋找壓縮檔和檔案系統的差異 從壓縮檔中刪除(不用於mag tapes上) 附加檔案到壓縮檔的末端 列出一個壓縮檔的內容 只附加比壓縮檔裡的copy檔新的檔案 將壓縮檔解開 |
|
其他OPTIONS : | ||
--atime-preserve -b, --block-size N -B, --read-full-blocks -C, --directory DIR --checkpoint -f, --file [HOSTNAME:]F --force-local |
不改變dumped files的存取時間 N*512 bytes的區塊大小 (預設N為20) 當我們讀取的時候, 重新block ( 對於在讀4.2BSD pipes時) 改變位置到目錄DIR 當讀取這個壓縮檔時, 印出目錄名稱 使用壓縮檔或裝置F (預設是 /dev/rmt0) 壓縮檔是local的, 即使它有冒號 |
|
-F, --info-script F --new-volume-script F | ||
-G, --incremental -g, --listed-incremental F -h, --dereference -i, --ignore-zeros -I, --bzip --ignore-failed-read -k, --keep-old-files -K, --starting-file F -l, --one-file-system -L, --tape-length N -m, --modification-time -M, --multi-volume |
在每個tape的末端跑script (implies -M) 創造/列出/解開 舊的GNU-format增加的備份 創造/列出/解開 新的GNU-format增加的備份 不要dump symbolic link; dump他們所指定的檔案 忽略壓縮檔裡零的區塊 (正常是指EOF) 用bzip2過濾壓縮檔 在不可讀的檔案下不要自非零的狀態離開 保留已存在的檔案; 不要從壓縮檔覆寫它們 從壓縮檔裡的檔案F開始 當產生一個壓縮檔時, 停留在local的檔案系統裡 寫完 N*1024 bytes後,改變tapes 不要解開檔案修改過的時間 創造/列出/解開 multi-volume的壓縮檔 |
|
-N, --after-date DATE, --newer | DATE 只存比DATE新的檔案 |
|
-o, --old-archive, --portability | ||
-O, --to-stdout | 寫一個V7的format壓縮檔, 而不是ANSI format 解開檔案到標準輸出 |
|
-p, --same-permissions, --preserve-permissions | ||
-P, --absolute-paths --preserve -R, --record-number --remove-files |
解開所有保護的資訊 不要去除檔名裡的'/' 好比 -p -s 將壓縮檔裡的每個message的記錄number顯示出來 在加入檔案到壓縮檔裡後將之移除 |
|
-s, --same-order, --preserve-order | ||
--same-owner -S, --sparse -T, --files-from F --null --totals -v, --verbose -V, --label NAME --version |
解開的名稱列表被排序以match壓縮檔 創造有相同所有權的解開的檔案 有效率地管理稀疏的檔案 從檔案F得到要解開或創造的名稱 T讀取零結尾的名稱, disable -C 印出所有創造時寫入的的總bytes數 冗長地列出處理過的檔案 創造一個壓縮檔, VOLUME name為NAME 印出tar程式版本數字 |
|
-w, --interactive, --confirmation | ||
-W, --verify --exclude FILE -X, --exclude-from FILE -Z, --compress, --uncompress -z, --gzip, --ungzip --use-compress-program PROG |
對於每一動作請求確認 在寫入壓縮檔後試圖去驗證 排除檔案FILE 排除列在FILE的檔案 用壓縮來過濾壓縮檔 用gzip來過濾壓縮檔 用PROG來過濾壓縮檔 (此程式必須接受 -d) |
/bin/vi :
意義 : 這裡說的是vim -- 由vi改良過的, 一個programmers文字編輯器。Vim向上相容於Vi。它可以用來編輯任何的ASCII文件。
對於編輯程式是特別有幫助。
Vim對於Vi增加許多地方 : 多重層次的undo, 多重視窗和緩衝區, 突顯語法, 命令列編輯, 檔名完成, 線上輔助, 視覺選擇,等。 可參考 ":help vi_diff.txt", 來看Vim與Vi之間的差別的摘要。 當我們執行Vim時,我們可由線上輔助得到許多幫助,用":help"命令。參考下面的線上輔助部份。通常Vim是用 vim file 這個命令來開始編輯一個單一的檔案。 時常Vim是開始於 vim [options] [filelist] 這個命令。
如果filelist遺失了, 編輯器將從一個空的緩衝區開始。另外,確切地是下面四個之一可以用來選擇一個或多個檔案來編輯。
file .. 檔名的列表。第一個將會是目前的檔案並自緩衝區讀取。游標的位置將會在緩衝區的第一行。
你可以用":next"這個命令換到其他檔案。要編輯一個由dash開始的檔案, 必須在檔案列表前加上"--"。- 要編輯的檔案是從stdin讀進來的。命令是從應該是tty的stderr讀進來的。 -t {tag} 要編輯的檔案及初始的游標位置是依一個goto標籤的排序"tag"來決定的。{tag}是從tags fille中查詢的,
有關聯的檔案變成目前的檔案, 有關聯的命令則正被執行。通常,這會用在C program, 這個情況下, {tag}
可以是函式名稱。這個作用是讓檔案裡含有這個函式的變成目前的檔案, 游標也移到這個函式開始的地方。
可參考 ":help tag-commands"。-q [errorfile] 從quickFix模式開始。這個[errorfile]檔案已經讀取, 第一個錯誤也已顯示出來。如果[errorfile]是忽略的,
則這個檔名將由"errorfile"這個option得到(預設在Amiga是"AztecC.Err", 其他系統是"errors.vim")。
可以用":cn"這個命令來跳到更多的錯誤。可參考 ":help quickfix"。
Vim作用可能會因命令的名稱而不一樣(執行可能仍在同一檔案)。
vim "標準"模式, 全部是預設值。 ex 開始於Ex模式。用":vi"這個命令可到標準模式。也可用"-e"這個參數。 view 開始於read-only模式。你將不能修改檔案。也可用"-R"這個參數。 gvim gview GUI版本。開始一個新的視窗。也可用"-g"這個參數。 rvim rview rgvim rgview 跟上面的很像, 但有一些限制。它不可能去開始shell命令或是中止Vim。
也可用"-Z"這個參數。
概要 : vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]ex
view
gvim gview
rvim rview rgvim rgview
OPTION :
這些options可以任何順序加在檔名的前或後。沒有參數的option可以用一個dash在後面相接。
+[num]
+/{pat}
+{command}
-c {command}
-b
-C
-d {device}
-e
-f
-F
-g
-h
-H
-i {viminfo}
-L
-l
-m
-N
-n
-o[N]
-R
-r
-r {file}
-s
-s {scriptin}
-T {terminal}
-u {vimrc}
-U {gvimrc}
-V
-v
-w {scriptout}
-W {scriptout}
-x
-Z第一個檔案的游標的位置將在"num"的那一行上。如果找不到"num", 游標將在最後一行上。
第一個檔案的游標將再第一個出現{pat}的地方。可參考":help search-pattern"來的到可利用的search patterns。
第一個檔案被讀取後, {command}將被執行。{command}是解釋成像Ex command。如果{command}包含空白, 則必須用
雙引號括起來(這跟用的shell有關)。例如 : Vim "+set si" main.c
Note : 你可以用10個之多的"+"或"-c"命令。
二進位的模式。一些option將被設定, 使得可以編輯二進位及可執行的檔案。
相容的。設定這個'相容的'option, 可使Vim操作起來比較像Vi, 即使一個.vimrc檔案存在。
開啟{device}來當作terminal使用, 只有在Amiga上。例如 : "-d con:20/30/600/150"。
在Ex模式開始執行Vim, 就好像這個可執行的叫"ex"。
前景。在GUI版本, Vim不會fork而且從shell啟動時分離。在Amiga上, Vim不會重新啟動去開啟一個新的視窗。當Vim
被一個在等待編輯session完成的program執行時, 這個option應該被用到(e.g. mail)。在Amiga上,":sh"和":!"命令
並不能使用。
如果Vim被有FKMAP support編譯過, 來編輯右到左導向的檔案, 並且和Farsi鍵盤有對應, 這個option會在Farsi模式
開始執行Vim, i.e. 'fkmap' 和 'rightleft'被設定。否則, 錯誤訊息將出現, Vim會中止。
如果Vim被有GUI support編譯過, 則這個option enable GUI。如果Vim被沒有GUI support編譯過,則會出現一個錯誤訊息,
並中止Vim。
給一個help的bit有關於命令列的參數及options。在這之後, Vim存在。
如果Vim被有RIGHTLEFT support編譯過, 來編輯右到左導向的檔案, 並且和Hebrew鍵盤有對應, 這個option會在Hebrew
模式開始執行Vim, i.e. 'hkmap'和'rightleft'被設定。否則, 錯誤訊息將出現, Vim會中止。
當使用viminfo檔案是enable的, 這個option設定使用檔名來取代預設的 "~/.viminfo"。這也可用來跳過 .viminfo檔案
的使用, 只要將名稱設成 "NONE"。
與-r相同。
Lisp模式。設定'lisp'和'showmatch'的options要on。
修改檔案是disable的。重設'write' option,因此沒辦法寫入檔案。
不相容的模式。重設'compatible' option。這會使Vim表現得比較好一點, 但和Vi很少相容, 即使.vimrc檔案不存在。
不使用swap檔案。毀損後的回復是不可能的。手邊如果你想編輯一個檔案在非常slow medium上(e.g. floppy)。也可用
":set uc=0"來做。用:"set uc=200"來undo。
開啟N個視窗。當N是忽略的, 每個檔案都開啟一個視窗。
Read-Only模式。'readonly'這個option會被設定。你仍然可以編輯緩衝區, 但將避免意外地覆寫到檔案裡。如果你真的
想覆寫檔案, 在Ex命令上加驚嘆號的標記, ":w!"。這個-R的option也包含-n這個option(see below)。'readonly'這個
option可以用":set noro"來重設。可參考 ":help 'readonly'"。
列出swap檔案, 並附上用來回復的資訊。
回復模式。swap檔案是用來回復一個在編輯session時毀損的檔案。swap檔是一個和text檔有相同名稱並加上".swp"副檔名
的檔案。可參考 ":help recovery"。
安靜模式。只用在Ex模式開啟或"-e" option用在"-s" option之前。
這個script檔案{scriptin}被讀取。檔案裡的字元被直譯如同你打的。用":source! {scriptin}"這個命令也可以做到。如果
在編輯器存在前到達檔案的末端, 更多的字元將從鍵盤讀取。
告訴Vim你正在用的終端機名稱。只有用在當自動化不能work時。一個終端機應該認識Vim (builtin)或已在termap或terinfo
檔案定義過。
在檔案 {vimrc}使用這個命令來初始化。所有其他的初始都跳過。用這個來編輯特殊的檔案。它也可以用"NONE"這個名稱來
跳過所有的初始化。可參考 ":help initialization"裡對Vim更多的細節。
在檔案 {gvimrc}使用這個命令來做GUI的初始化。所有其他的初始都跳過。它也可以用"NONE"這個名稱來跳過所有的GUI
初始化。可參考 ":help gui-init"裡對Vim更多的細節。
冗長的。給有關哪個檔案是來源, 讀或寫入到一個viminfo檔案的訊息。
在vi模式開始執行Vim, 就好像可執行的叫vi。這只在可執行的叫"ex"的有效。
所有你打的字元都會被錄在 {scriptout}這個檔案裡, 直到你離開Vim。如果你想創造一個script檔案可用"vim -s"或
":source!"命令, 這很有幫助。如果 {scriptout}檔案存在, 字元會附加上去。
跟-w很像, 但存在的檔案可以覆寫。
在寫入檔案時使用編碼。將會提示要求一個密碼key。
限制模式。工作用"r"開始, 就好像可執行的一樣。
表示option的末端。參數在這後面的會被當成檔名處理。這可用來編輯從'-'開始的檔名。
tar zxvf xyz.1.2-3.tar.gz | 將壓縮檔解壓縮, z為用ungzip, x為解壓縮, v為列出處理過的檔案, f為使用壓縮檔xyz.1.2-3.tar.gz 若壓縮檔沒有.gz的話則表示沒有壓縮過, 則只需將z拿掉。若是以bz2壓縮的話, 則將z換成I。 |
tar cf archive.tar foo bar | 製造一個內含foo和bra檔的壓縮檔, 但未經壓縮, 若要壓縮加上z |
tar tvf archive.tar | 繁瑣地列出所有縮檔裡的檔案 |
TAR
a.所在路徑
/bin/
b.所使用的shared library
使用libc.so.6 置於 /lib/libc.so.6
使用/lib/ld-linux.so.2 置於 /lib/ld-linux.so.2
c.主要用途說明
tar主要是用來壓縮檔案的, 可將一個目錄下所有的檔案壓縮成一個檔案,
但是沒有空間壓縮的功能, 也就是說壓縮後的檔案大小和此目錄所有檔案大小的和是一樣的,
也可以說tar是將檔案打包起來的, 因為tar並不能壓縮大小,所以通常都配合gzip一起使用,
來將許多檔案包成一個並減少大小
語法
tar [-option...] filename1 [ filename2, ... filenameN ]
tar [-option...] directory1 [ directory2, ...directoryN ]
通常用的方法是
壓縮
tar -zcvf tarfile.tar.gz dir/
如此可將dir目錄下的所有檔案壓成一個壓縮檔 這適用tar打包後再由gzip壓縮的結果 若不想經過gzip壓縮, 則z參數不要加, 檔案名稱也少去.gz 如 tar -cvf tarfile.tar dir/
解壓縮
tar -zxvf tarfile.tar.gz 如此便會將原本壓縮好的檔案還原回去 另外z是代表搭配gzip使用, z配合c是表示壓縮檔案, 而z配合x則是解壓縮
d.支援的參數及意義
-c 產生一個壓縮檔
-z 配合c是使目錄tar起來後再用gzip把該檔案壓縮起來, 配合x則是代表再用gzip解壓縮 -f 代表要使用壓縮檔名 tarfile.tar.gz 作壓縮後的檔名 -v 會把壓縮的過程顯示在螢幕上
-A 把tar過的檔案收集歸檔到archive -d 找出achive和檔案系統的差異
--delete 將檔案從archive中刪去
-r 將檔案增添到archive的結尾
-t 列出archive中的內容
--atime-preserve 在轉存檔案時不更改存取的時間 -b, --block-size N 將block size射程512*N bytes,預設值為20 -C, --directory DIR 將目錄切換到DIR -i, --ignore-zeros 忽略檔案中大小為零的block, 此block通常是eof -I, --bzip 將檔案配合gzip2使用
-k, --keep-old-files 保留存在的檔案, 不把他們從archive中覆寫掉 -K, --starting-file F 由archive中的F檔案開始 -N, --after-date DATE, --newer DATE 只儲存日期比DATE新的檔案 -O, --to-stdout 將檔案解壓縮成標準輸出 -P, --absolute-paths 不從檔案名稱中列出前面的/ -R, --record-number 顯示每一個訊息在archive中的紀錄號碼 --remove-files 在檔案加入archive後將其刪去
e.使用範例
tar -zcf mymail.tar.gz MAIL/ 將郵件目錄中的檔案都壓縮成mymail.tar.gz tar -cvf mydata.tar DATA/ 將資料所在目錄中的所有檔案打包成mydata.tar檔, 並在螢幕上顯示壓縮過程,但不經過gzip壓縮 tar -xvf mydata.tar 將mydata中的檔案解壓縮出來