【在Windows下進行的編程人員,你真的需要學習下Linux】


     從業幾年,發現好多編程人員,嚴重依賴UI工具。對一些命令操作,十分的反感。尤其是從事Windows系統中的程序開發的人員。由於微軟對開發工具,編程套件的極限優化。開發出更多的

面向UI的開發工具。從VB6.0 到VC6.0的經典MFC編程。越來越多的Windows開發人員,包括后來的從業者,越發的不能理解那種古老的在命令行下進行代碼編程的方式和思維。

    從.Net誕生后,微軟開發的新一代IDE工具,Visual Studio,越來越華麗,功能越來越強大。所有的操作都是面向UI。不需要進行命令的控制即可實現傻瓜式的編程,大大的簡化了開發人員的開發難度,

提高了工作的效率。但是,UI工具還是有一定的局限性。UI工具,必須進行特定的事件去觸發,比如點擊 Debug 按鈕或者 編譯打包按鈕等等。或者是設定開發環境參數等等。如果IDE不提供SDK接口,那么

只能手工觸發實現特定的操作。但是命令的方式就不一樣了。命令可以直接繞過IDE工具,進行控制特定的操作。比如:批量執行多個任務,編譯完畢后,需要進行打包等等。

好在VS提供了 基於事件的方式,為我們提供了命令的入口。我們可以把一些機械式的操作,通過特定的命令進行實現。

典型例子:1 MSbuild 命令

微軟IDE其實就是講這些工程,以XML的形式封裝在每個工程文件中。在運行 編譯 調試等操作的時候,將xml轉化為特定的msbuild命令。具體百度下吧,呵呵。

2 編譯后 運行第三方工具,進行打包

在以前,我們開發過的Silverlight項目。我們需要在生成 xap包后,(其實就是標准的zip包),用開源的 提供Windows下的命令工具的7zip工具,進行解包,並封入自己的一些dll或者資源文件等。

我們就直接通過命令,進行操作,而不是手工進行每次的打包。

...........

從業幾年以來,我再次接觸了Linux。為啥是再次呢?因為大學 的時候,老師第一堂課就是在黑乎乎的的命令下講解  打開根目錄,我感覺是裝B呵呵,就荒廢了。幾年后的今天,我越發的感覺。

Linux下的 Shell工具真心的強大!

Windows開發人員,你真的需要放棄固有的思維,體驗下Linux的操作!!!

從cd 命令, 從ls ,命令 ,從 rm 命令, 從mv 命令 ,從vi 命令熟悉這幾個基本的命令后,你會發現,真的不錯。(尤其是你敲了Tab鍵后,更加精細.........自動補全或者候補命令)

再然后呢  zip  gzip tar pwd 命令。好了恭喜,你已經認識了Linux了。哈哈。我自己整理的一份Linux的手冊。希望對你們有幫助。

手冊:《Linux 命令手冊(特洛伊版2.0)》

鏈接: https://pan.baidu.com/s/1skrVSvV 密碼: tmf2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----------------------------------------------割了-----------------------------------------------------------------

下面是轉載的關於7z工具在Windows下的命令行的整理,來自:http://www.cnblogs.com/qanholas/archive/2011/10/03/2198487.html

7z.exe在CMD窗口的使用說明如下:

7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>]

<Commands> a: Add files to archive b: Benchmark d: Delete files from archive e: Extract files from archive (without using directory names) l: List contents of archive t: Test integrity of archive u: Update files to archive x: eXtract files with full paths <Switches> -ai[r[-|0]]{@listfile|!wildcard}: Include archives -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives -bd: Disable percentage indicator -i[r[-|0]]{@listfile|!wildcard}: Include filenames -m{Parameters}: set compression Method -o{Directory}: set Output directory -p{Password}: set Password -r[-|0]: Recurse subdirectories -scs{UTF-8 | WIN | DOS}: set charset for list files -sfx[{name}]: Create SFX archive -si[{name}]: read data from stdin -slt: show technical information for l (List) command -so: write data to stdout -ssc[-]: set sensitive case mode -ssw: compress shared files -t{Type}: Set type of archive -v{Size}[b|k|m|g]: Create volumes -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options -w[{path}]: assign Work directory. Empty path means a temporary directory -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames -y: assume Yes on all queries

中文使用說明如下:

語法 2 U: }* K- X4 U# @   p% Q2 E/ x7z <命令行> [<選項>...] <基本檔案名稱> [<參數變量>...] # N, x! L1 @8 c# f# A( {- H: c1 k7z <command> [<switch>...] <base_archive_name> [<arguments>...]* g8 T1 {- l2 e) P% T' V; A <參數變量> ::= <選項> | <通配符> | <文件名> | <文件列表> 0 \4 K+ d( V+ \9 b7 n9 Z! n7 m<選項>::= <選項標記><選項字符>[<選項>] 3 Y3 P   u3 ]7 z<選項標記> ::= '/' | '-' 2 T9 p3 F+ k2 m+ i<文件列表> ::= @{文件名}( @4 _; F   r6 j. t+ a5 @
( h) M. w' f: W: B" n<arguments> ::= <switch> | <wildcard> | <filename> | <list_file> ) E" E* I9 a3 L' \' H5 U<switch>::= <switch_symbol><switch_characters>[<option>] 5 ]# @$ ^+ h% E( h8 B& o<switch_symbol> ::= '/' | '-' 7 ?7 T" n   v. b; ^( z<list_file> ::= @{filename} 8 i/ v   Z4 S3 {# ?在方括號內的表達式(“[” 和 “]”之間的字符)是可選的。' ?2 k0 k/ m* f. Q$ c4 h 在書名號內的表達式(“<” 和 “>”之間的字符)是必須替換的表達式(而且要去掉括號)。 , F8 d* c0 \# u5 l0 p表達式 5 S; l2 |, I1 v/ Texpression1 | expression2 | ... | expressionN* R- s: |- P/ n& m9 C 命令行 及 選項 使用大寫或小寫字母都可以。 $ C+ b   `' R6 r/ O6 ~0 l. q! P# A- W首個命令行必須是無選項的參數變量。 & x- x- e! h( T( _; l. w) D選項及其它文件名的輸入順序可以打亂。 % }* U" G6 f5 b/ u1 h2 W* t帶有空格的通配符或文件名必須加上引號: & E. _# e( t9 Q0 q/ t"Dir\Program files\*"+ r+ u2 k   b' Z& U. n Dir\"Program files"\*. M   R   V3 S/ s 通配符是一個鍵盤字符,例如星號(*)或問號(?),當執行添加文件、釋放文件、選定文件、刪除文件等操作時,您可以使用它來代表一個或多個字符。當您不知道真正字符或者不想鍵入完整名稱時,常常使用通配符代替一個或多個字符。 ' b   s0 b, V" `' T8 G' K7-Zip 支持和 Windows 相類似的通配符: . |   r) x% ?9 a! A% r“*”可以使用星號代替零個或多個字符。 " T! c' q: o3 v+ ]8 u" F“?”可以用問號代替名稱中的單個字符。 2 p9 F% Y1 ]4 o; H2 W4 ]7-Zip 使用的並不是系統處理通配符的默認方法,因而 7-Zip 不支持其它通配符規則,在系統中 *.* 相當於所有文件。而 7-Zip 會將其視為任何擴展名的全部文件。所以,要處理所有文件您必須使用 * 通配符。 & t' b7 R   U4 L! u1 `. m示例: ( r, |* b' R# h* \*.txt 這樣會查找(添加、選定……)所有擴展名是“.txt”的文件 / z9 x0 }' d, B, s# z ?a* 這樣會查找(添加、選定……)所有第二個字母為“a”的文件 / f+ ^8 N7 S% b. b' Q *1* 這樣會查找(添加、選定……)所有包含“1”的文件 3 W# Q" f   C* h   E6 n *.*.* 這樣會查找(添加、選定……)所有包含“.”的雙擴展名文件 5 _, W& N( ]2 P* Z! Z' S如果在命令行中沒有文件名,系統將會使用默認通配符“*”。* K. J# R7 u) w7 n3 A6 ? 檔案文件中通配符及文件名的使用限制: / A( C# e1 B4 b* ]1 B通配符及文件名不能包括系統盤符或網址。每個通配符及文件名路徑將被視為從盤符到當前目錄的完整路徑/從壓縮檔案的根目錄算起的完整路徑。換句話說,路徑的開始部分(在首個斜線(“\”)之前的字符)必須是某個名稱或通配符。 1 [% e: w/ V/ g, l" t0 N 通配符及文件名不能以斜線(“\”)結尾。 % t( K0 ?! L. K: L* U8 n5 G6 t通配符只可以在完整路徑的最后一部分中出現。 ' M) Q' ~9 v2 O; m2 I9 _$ G2 D, U" b 示例: * n. o9 Y* u. f   N- q# @% TDir1\*.cpp 正確 ' o. P$ _   i& D7 Y8 dc:\Dir1\*.cpp 錯誤:路徑中不能包括盤符 ! c" A. z7 f) T4 H6 YDir1\Dir2\g?.txt 正確 ; i7 Q+ P) e2 F8 g Dir1\D?r2\file1.txt 錯誤:只有在以路徑的最后一部分才能使用通配符 ; M( k3 A! C+ \+ L8 C- C# W6 q文件列表: l   Z$ }; P4 O 您可以使用文件列表來對要操作的文件進行批量操作。在文件中的文件名必須用空格或另起一行隔開。(如使用空格格開,每一個文件必須加引號)。 - e1 A" |( j' h( y) T$ p7-Zip 命令行支持多個文件列表同時操作。2 Y+ k2 G9 |2 g: p. x2 M' Z 舉個例子,這里有一個文件列表“listfile.txt”包含下列內容:" I! Z) }. C7 k/ H4 g; u' @+ Q "My programs\*.cpp"5 v; @* F) U5 ]$ k3 H6 J! b* N Src\*.cpp % ^   C   }8 b) ?; I7 w那么我們可以輸入命令: ) t, u4 \" G4 |1 s7z a -tzip archive.zip @listfile.txt 9 @   h/ N. X' Q將“My programs”及“Src”目錄中所有擴展名為“cpp”的文件添加到壓縮檔案“archive.zip”中。 & }7 _" |7 x8 N ) ^9 ?, s: b) C& f   M9 F 6 Y! V3 f* A   h+ R. X* a" B3 q命令行 + \- g+ r7 t$ S6 X2 c命令行的命令不分大小寫。 6 V. I: [5 H% ]1 Y4 ~+ I7 j; f更多有關命令行的詳細內容請參閱 語法。 6 Q3 L/ k' p* _( Z; X命令要點參考 # R3 h4 r/ ^- X命令 作用說明 ( M7 t) Y8 F. z! qa 添加 . M% Z1 A/ G8 y: S9 d* c d 刪除 : j9 _   _2 ~$ W, W2 m: U e 釋放 - Y7 {! I   _( K$ y l 列表 4 w& j5 K   X4 }+ Y# A) d* k: S t 測試 . h: w& C4 ~- P* o+ @ u 更新 ; g: ?+ R9 N' v. ~6 F9 }: yx 完整路徑釋放 ; w* a( q+ p+ F& `- O( ]   M. T' k   x0 ` 命令行選項/ }1 o6 h9 v9 B2 V9 |9 q' R. y 語法   V* Y, `+ p( K5 b <選項>::= <選項_符號><選項_字符>[<選項>] . m# e- \9 [$ r( F<選項_符號> ::= '/' | '-' - L$ X5 m# O' d3 V&ltswitch>::= <switch_symbol><switch_characters>[<option>] * u9 h2 \6 Y9 f<switch_symbol> ::= '/' | '-' 3 D; h. [9 g0 W3 N( d在命令行中,一個完整的選項由指定的選項、連字符(-)或斜線(/)組成,而且選項的符號不能使用縮寫。, q$ P! D- o" H   b" w/ Y3 _# D 選項名稱不區分大小寫。而一部分選項會包括參數變量,它們是需要區分大小寫的。 , [7 {6 e! b; m. E2 L1 k5 U% l% b選項可以使用在命令行中的任何位置。#( h) M. w' f: W: B" n) E" E* I9 a3 L' \' H5 U5 ]# @$ ^+ h% E( h8 B& o7 ?7 T" n   v. b; ^( z8 i/ v   Z4 S3 {# ?, F8 d* c0 \# u5 l0 p5 S; l2 |, I1 v/ T$ C+ b   `' R6 r/ O6 ~0 l. q! P# A- W& x- x- e! h( T( _; l. w) D% }* U" G6 f5 b/ u1 h2 W* t& E. _# e( t9 Q0 q/ t' b   s0 b, V" `' T8 G' K. |   r) x% ?9 a! A% r" T! c' q: o3 v+ ]8 u" F2 p9 F% Y1 ]4 o; H2 W4 ]& t' b7 R   U4 L! u1 `. m( r, |* b' R# h* \5 _, W& N( ]2 P* Z! Z' S/ A( C# e1 B4 b* ]1 B% t( K0 ?! L. K: L* U8 n5 G6 t* n. o9 Y* u. f   N- q# @% T' o. P$ _   i& D7 Y8 d! c" A. z7 f) T4 H6 Y; M( k3 A! C+ \+ L8 C- C# W6 q- e1 A" |( j' h( y) T$ p% ^   C   }8 b) ?; I7 w) t, u4 \" G4 |1 s9 @   h/ N. X' Q& }7 _" |7 x8 N) ^9 ?, s: b) C& f   M9 F6 Y! V3 f* A   h+ R. X* a" B3 q+ \- g+ r7 t$ S6 X2 c6 V. I: [5 H% ]1 Y4 ~+ I7 j; f6 Q3 L/ k' p* _( Z; X# R3 h4 r/ ^- X( M7 t) Y8 F. z! q; g: ?+ R9 N' v. ~6 F9 }: y; w* a( q+ p+ F. m# e- \9 [$ r( F- L$ X5 m# O' d3 V* u9 h2 \6 Y9 f3 D; h. [9 g0 W3 N( d, [7 {6 e! b; m. E2 L1 k5 U% l% b#

 

參考greegree的文章先給出一個壓縮文件的例子:
7z a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt
    添加 *.exe 及 *.dll 文件到固實壓縮檔案 archive.7z。使用 LZMA 壓縮算法、2 MB 字典大小及 BCJ 轉換器。壓縮將開啟多線程優化(如果可用)。
   -ms 默認設置固實模式。在創建固實壓縮檔案模式中,它把壓縮檔案中的所有文件都當成一個連續數據流來看待。通常情況下,固實壓縮可增加壓縮比,特別是在添加大量小文件的時候 -mmt 默認開啟多線程模式。    以上兩條倒是可以理解,但是“-m0=BCJ -m1=LZMA:d=21 ”又該如何解釋? 按照給出的中文的文檔說明: -m0=BCJ -- 第一個備選的壓縮算法為BCJ -m1=LZMA:d=21 -- 第二個備選的壓縮算法為LZMA,指定字典大小為默認的21(2MB的1次方)2MB。

 

如果:想要使用最大化壓縮,可以使用下面的參數選項:
    7z a -t7z DriverTest_1.7z "I:\t\t1\*" -mx=9 -ms=200m -mf -mhc -mhcf -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -mmt -r
-t7z -- 壓縮文件的格式為7z -mx=9 -ms=200m -mf -mhc -mhcf -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -mmt -- 指定壓縮算法選項 -mx=9 -- 設置壓縮等級為極限壓縮(默認為:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、單詞大小為 64、BCJ2 過濾器) -ms=200m -- 開啟固實模式,設置固實數據流大小為200MB。 -mf -- 開啟可執行文件壓縮過濾器。 -mhc -- 開啟檔案文件頭壓縮。 -mhcf -- 開啟檔案文件頭完全壓縮。我所使用的7z版本為4.42>2.30。 -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -- 第一個備選壓縮算法為LZMA,壓縮等級為最大壓縮,LZMA算法使用的字典大小為25(2MB的5次方)32MB,算法的匹配器為bt4b(所需要內存為d×9.5 + 34 MB),壓縮算法的緊湊字節為最大模式的64字節。 -mmt -- 開啟多線程模式。 -r -- 遞歸到所有的子目錄。

7z命令解壓文件的例子:解壓File.7z文件到目錄Mydir。

7z x "d:\File.7z" -y -aos -o"d:\Mydir"

參數說明:

x:完整路徑下解壓文件
-y:所有確認選項都默認為是(即不出現確認提示)

-aos:跳過已存在的文件

-o:設置輸出目錄

關於內存的使用:
一般來說,WindowsXP至少使用80~160MB的內存,為了保證系統的運行正常,還要留夠32MB的剩余物理內存。 所以如果是512MB的內存,那么7z壓縮所使用的內存為(512-32-160)320MB,使用bt4b(d*9.5+34MB),所以d=32MB。 如果是256MB的內存,那么7z壓縮所使用的內存為(256-32-120)104MB,使用bt4b(d*9.5+34MB),所以d=8MB。 由此可見,在WindowsXP的圖形界面下要想得到更大的壓縮比,或者擴大物理內存的容量,或者可以采用在DOS下運行32位程序的方法;否則無論你的虛擬內存或者系統的磁盤緩存設置得再大,只能看見硬盤燈狂閃得交換頁面文件。 通常情況下,較大的字典文件能提供較高的壓縮比。但是在壓縮和解壓縮的時候會比較慢而且需要較多的物理內存:壓縮時所使用的物理內存約為字典文件的10倍,解壓縮時所使用的物理內存約等於字典文件大小。
語法格式:(詳細情況見7-zip幫助文件,看得頭暈可以跳過,用到再學) 7z <command> [<switch>...] <base_archive_name> [<arguments>...]
7z.exe的每個命令都有不同的參數<switch>,請看幫助文件 <base_archive_name>為壓縮包名稱 <arguments>為文件名稱,支持通配符或文件列表 a: 添加文件的壓縮包,或者創建新的壓縮包。
d: 從壓縮包中刪除文件。
e: 從壓縮包中提取。
t: 測試壓縮包的是否出錯。
u: 更新壓縮包中的文件。 其中,7z是至命令行壓縮解壓程序7z.exe,<command>是7z.exe包含的命令,列舉如下:
a: Adds files to archive. 添加至壓縮包 a命令可用參數: -i (Include) -m (Method) -p (Set Password) -r (Recurse) -sfx (create SFX) -si (use StdIn) -so (use StdOut) -ssw (Compress shared files) -t (Type of archive) -u (Update) -v (Volumes) -w (Working Dir) -x (Exclude)
b: Benchmark
d: Deletes files from archive. 從壓縮包中刪除文件 d命令可用參數: -i (Include) -m (Method) -p (Set Password) -r (Recurse) -u (Update) -w (Working Dir) -x (Exclude)
e: Extract解壓文件至當前目錄或指定目錄 e命令可用參數: -ai (Include archives) -an (Disable parsing of archive_name) -ao (Overwrite mode) -ax (Exclude archives) -i (Include) -o (Set Output Directory) -p (Set Password) -r (Recurse) -so (use StdOut) -x (Exclude) -y (Assume Yes on all queries)
l: Lists contents of archive. t: Test u: Update
x: eXtract with full paths用文件的完整路徑解壓至當前目錄或指定目錄 x命令可用參數: -ai (Include archives) -an (Disable parsing of archive_name) -ao (Overwrite mode) -ax (Exclude archives) -i (Include) -o (Set Output Directory) -p (Set Password) -r (Recurse) -so (use StdOut) -x (Exclude) -y (Assume Yes on all queries) -m (Set compression Method) switch Specifies the compression method.
用7-ZIP實現批處理 命令行壓縮和解壓功能
編輯一個.bat文件;每行這樣寫,就可以連續壓制多個目錄了 7z a -mx9 -md64m -mfb=273 -slp -ssw -v1024m -mmt=2 -r {路徑及7z檔名} {路徑及要壓縮的文件名及路徑 可以空格填多個}
例子:建議以成對雙引號來包壓縮檔名和路徑名 7z a -mx9 -md64m -mfb=273 -slp -ssw -v1024m "game" "d:\game\*.*" 把d:\game\ 以ultra模式 64m字典fb273 每分卷1024m模式壓縮
-mxN N=0~9 ;壓縮模式選擇 Level Method Dictionary FastBytes MatchFinder Filter Description 0 Copy No compression. 1 LZMA 64 KB 32 HC4 BCJ Fastest compressing 3 LZMA 1 MB 32 HC4 BCJ Fast compressing 5 LZMA 16 MB 32 BT4 BCJ Normal compressing 7 LZMA 32 MB 64 BT4 BCJ Maximum compressing 9 LZMA 64 MB 64 BT4 BCJ2 Ultra compressing -mdNm 填字典大小 比如填26 和填64m一樣的;看說明更大內存也可以填,比如128m字典 最大1024m
The maximum value for dictionary size is 1 GB = 2^30 bytes. Default values for LZMA are 24 (16 MB) in normal mode, 25 (32 MB) in maximum mode (-mx=7) and 26 (64 MB) in ultra mode (-mx=9).
-mfb=N 填fastbytes大小,此數字增大會稍微加大壓縮但減慢速度
-slp (Set Large Pages mode);會加快壓縮,但開始會卡下,This feature works only on Windows 2003 / XP x64
-ssw 也壓縮共享文件
-v (Create Volumes) switch Specifies volume sizes. Syntax -v{Size}[b | k | m | g]
-mmt=N 多核選項,比如雙核填2

命令行壓縮解壓一 7z

1) 簡介 7z,全稱7-Zip, 是一款開源軟件。是目前公認的壓縮比例最大的壓縮解壓軟件。 主頁:http://www.7-zip.org/ 中文主頁:http://7z.sparanoid.com/ 命令行版本下載:http://7z.sparanoid.com/download.html 主要特征: # 全新的LZMA算法加大了7z格式的壓縮比 # 支持格式: * 壓縮 / 解壓縮:7z, XZ, BZIP2, GZIP, TAR, ZIP * 僅解壓縮:ARJ, CAB, CHM, CPIO, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, UDF, VHD, WIM, XAR, Z

2)退出代碼 0 : 正常,沒有錯誤; 1 : 警告,沒有致命的錯誤,例如某些文件正在被使用,沒有被壓縮; 2 : 致命錯誤; 7 : 命令行錯誤; 8 : 沒有足夠的內存; 255 : 用戶停止了操作;

3)使用語法 7z <命令行> [<選項>...] <基本檔案名稱> [<參數變量>...]

在方括號內的表達式(“[” 和 “]”之間的字符)是可選的。 在書名號內的表達式(“<” 和 “>”之間的字符)是必須替換的表達式(而且要去掉括號)。

7-Zip 支持和 Windows 相類似的通配符: “*”可以使用星號代替零個或多個字符。 “?”可以用問號代替名稱中的單個字符。 如果只用*,7-Zip 會將其視為任何擴展名的全部文件。

4)命令及實例

a 添加文件到壓縮檔案。 7z a archive1.zip subdir\ :增加subdir文件夾下的所有的文件和子文件夾到archive1.zip中,archived1.zip中的文件名包含subdir\前綴。 7z a archive2.zip .\subdir\* :增加subdir文件夾下的所有的文件和子文件夾到archive1.zip中,archived2.zip中的文件名不包含subdir\前綴。 cd /D c:\dir1\ 7z a c:\archive3.zip dir2\dir3\ :archiive3.zip中的文件名將包含dir2\dir3\前綴,但是不包含c:\dir1前綴。 7z a Files.7z *.txt -r : 增加當前文件夾及其子文件夾下的所有的txt文件到Files.7z中。

b 測試 CPU 運行速度及檢查內存錯誤。

d 從壓縮檔案刪除文件。 7z d archive.zip *.bak -r :從archive.zip中刪除所有的bak文件。

e 從壓縮檔案中釋放文件到當前目錄中。或者到指定的輸出文件夾。輸出文件夾設置可以通過 -o (設置輸出文件夾) 選項來更改。此命令會將所有被釋放的文件放置到一個文件夾。如果您想使用完整路徑釋放文件,您必須使用 x (完整路徑釋放) 命令。 7z e archive.zip :從壓縮檔案 archive.zip 中釋放所有文件到當前文件夾。 7z e archive.zip -oc:\soft *.cpp :從壓縮檔案 archive.zip 中釋放 *.cpp 文件到 c:\soft 文件夾。

l 列出壓縮檔案內容。 7z l archive.zip :列出壓縮檔案 archive.zip 的內容。

t 測試壓縮檔案文件的完整性。 7z t archive.zip *.doc :在壓縮檔案 archive.zip 中測試 *.doc 文件的完整性。

u 在壓縮檔案文件中使用較新的文件替換掉較舊的文件。 7z u archive.zip *.doc :在壓縮檔案 archive.zip 中更新 *.doc 文件。

x 在當前目錄中,使用完整路徑從壓縮檔案中釋放文件.或者到指定的輸出文件夾。 7z x archive.zip :從壓縮檔案 archive.zip 中釋放所有文件到當前文件夾。 7z x archive.zip -oc:\soft *.cpp :從壓縮檔案 archive.zip 中釋放 *.cpp 文件到 c:\soft 文件夾。

5)更多的選項

-- 在命令行中使“--”后的選項開關“-”都失效。這樣就允許在命令行中使用文件名以“-”開頭的文件。 7z t -- -ArchiveName.7z :測試 -ArchiveName.7z 壓縮檔案.

-i指定壓縮時附加文件或一類文件。此選項可附件添加多個類型。 i[<recurse_type>]<file_ref> 其中<recurse_type>為可以為r[- | 0](具體的-r選項見后面-r),<file_ref>可以為@{listfile} | !{wildcard}。 7z a -tzip src.zip *.txt -ir!DIR1\*.cpp :從當前目錄中添加 *.txt 文件,和 DIR1 目錄及其子目錄中的 *.cpp 文件到 src.zip 壓縮檔案。

-x 指定某一文件或某一類文件從操作中排除。此選項可同時排除多個類型。 x[<recurse_type>]<file_ref> 其中<recurse_type>為可以為r[- | 0](具體的-r選項見后面-r),<file_ref>可以為@{listfile} | !{wildcard}。 7z a -tzip archive.zip *.txt -x!temp.* :添加除 temp.* 文件之外的所有 *.txt 文件到壓縮檔案 archive.zip。

-o 指定釋放文件的輸出文件夾。此選項只能和釋放命令配合使用。 7z x archive.zip -oc:\Doc :從 archive.zip 壓縮檔案釋放所有文件到 c:\Doc 文件夾。

-r 遞歸子目錄選項。 -r 開啟遞歸子目錄。對於 e (釋放)、l (列表)、t (測試)、x (完整路徑釋放) 這些在壓縮檔案中操作的命令, 會默認使用此選項。 -r- 關閉遞歸子目錄。對於 a (添加)、d (刪除)、u (更新) 等所有需掃描磁盤文件的命令,會默認使用此選項。 -r0 開啟遞歸子目錄。但只應用於通配符。 7z l archive.zip -r- *.doc :列出在 archive.zip 壓縮檔案中根目錄下的 *.doc 文件。 7z a -tzip archive.zip -r src\*.cpp src\*.h :將 src 目錄及其子目錄中的 *.cpp 及 *.h 文件添加到 archive.zip 壓縮檔案。

-t 指定壓縮檔案格式。指定壓縮檔案格式。它們可以是:zip、7z、rar、cab、gzip、bzip2、tar 或其它格式。而 默認值是 7z 格式。 7z a -tzip archive.zip *.txt :使用 zip 格式從當前目錄中添加所有 *.txt 文件到壓縮檔案 archive.zip。

-y 使 7-Zip 執行命令時的大多數提示失效。您可以使用此選項來阻止在 e (釋放) 和 x (完整路徑釋放) 命令中文件覆蓋時的提示。 7z x src.zip -y :從 src.zip 釋放所有文件。所有的覆蓋提示將被阻止且所有相同文件名的文件將被覆蓋。

-v指定分卷大小。 {Size}[b | k | m | g] 指定分卷大小,可以使用字節、KB(1 KB=1024 字節),MB(1 MB = 1024 KB)或 GB(1 GB = 1024 MB)。如果您只指定了 {Size},7-zip 將把它視為字。 7z a a.7z *.txt -v10k -v15k -v2m : 創建 a.7z 分卷壓縮檔案。第一個分卷為 10 KB,第二個為 15 KB,剩下全部為 2 MB。

-p 指定密碼。 7z x archive.zip -psecret :將設有密碼“secret”的壓縮檔案 archive.zip 中所有文件釋放。

-ao 指定在釋放期間如何覆蓋硬盤上現有的同名文件。 語法:-ao[a | s | u ] -aoa 直接覆蓋現有文件,而沒有任何提示。 -aos 跳過現有文件,其不會被覆蓋。 -aou 如果相同文件名的文件以存在,將自動重命名被釋放的文件。舉個例子,文件 file.txt 將被自動重命名為 file_1.txt。 -aot 如果相同文件名的文件以存在,將自動重命名現有的文件。舉個例子,文件 file.txt 將被自動重命名為 file_1.txt。 7z x test.zip -aoa :從壓縮檔案 test.zip 中釋放所有文件並卻不做提示直接覆蓋現有文件。

-an 不解析命令行中的 archive_name 區域。此選項必須和 -i (附加文件) 開關一起使用。比如您為壓縮檔案使用列表文件,您就需要指定 -ai 選項,所以您需要禁止解析命令行中的 archive_name 區域。 實例見后面的-ai和-ax中。

-ai 指定附加文件,包括壓縮檔案文件名及通配符。此選項可同時附加多個類型。 ai[<recurse_type>]<file_ref> 其中<recurse_type>為可以為r[- | 0](具體的-r選項見后面-r),<file_ref>可以為@{listfile} | !{wildcard}。 7z t -an -air!*.7z : 在當前目錄及子目錄下測試 *.7z 壓縮檔案。

-ax 指定必須從操作中排除的壓縮檔案。此選項可同時排除多個類型。 ax[<recurse_type>]<file_ref> 其中<recurse_type>為可以為r[- | 0](具體的-r選項見后面-r),<file_ref>可以為@{listfile} | !{wildcard}。 7z t -an -ai!*.7z -ax!a*.7z :測試除 a*.7z 之外的 *.7z 壓縮檔案。

更多的不常用的選項,可以查看幫助。例如:-m設置壓縮算法;-scs 設置要壓縮的文件的列表文件的字符集;-seml通過電子郵件發送壓縮檔;-sfx創建自釋放檔;-si從標准輸入讀入數據,-so從輸出到標准輸 出;-slp設置大內存模式;-slt顯示技術信息;-ssc設置區分大小寫;-ssw壓縮正在寫入的文件;-u更新選項。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM