如何在 FreeDOS 上歸檔文件
雖然有一個 FreeDOS 版的 tar,但 DOS 上事實上的標準歸檔工具是 Zip 和 Unzip。
在 Linux 上,你可能熟悉標準的 Unix 歸檔命令:tar
。FreeDOS 上也有 tar
的版本(還有其他一些流行的歸檔程序),但 DOS 上事實上的標準歸檔程序是 Zip 和 Unzip。Zip 和 Unzip 都默認安裝在 FreeDOS 1.3 RC4 中。
Zip 文件格式最初是由 PKWARE 的 Phil Katz 在 1989 年為 PKZIP 和 PKUNZIP 這對 DOS 歸檔工具構(gòu)思的。Katz 將 Zip 文件的規(guī)范作為一個開放標準發(fā)布,因此任何人都可以創(chuàng)建 Zip 檔案。作為開放規(guī)范的結(jié)果,Zip 成為 DOS 上的一個標準歸檔格式。Info-ZIP 項目實現(xiàn)了一套開源的 ZIP
和 UNZIP
程序。
對文件和目錄進行壓縮
你可以在 DOS 命令行中使用 ZIP
來創(chuàng)建文件和目錄的歸檔。這是一個方便的方法,可以為你的工作做一個備份,或者發(fā)布一個“包”,在未來的 FreeDOS 發(fā)布中使用。例如,假設我想為我的項目源碼做一個備份,其中包含這些源文件:
我想把這些文件歸檔
ZIP
有大量的命令行選項來做不同的事情,但我最常使用的命令行選項是 -r
來處理目錄和子目錄 遞歸,以及使用 -9
來提供可能的最大壓縮。ZIP
和 UNZIP
使用類似 Unix 的命令行,所以你可以在破折號后面組合選項:-9r
將提供最大壓縮并在 Zip 文件中包括子目錄。
壓縮一個目錄樹
在我的例子中,ZIP
能夠?qū)⑽业脑次募拇蠹s 33KB 壓縮到大約 22KB,為我節(jié)省了 11KB 的寶貴磁盤空間。你可能會得到不同的壓縮率,這取決于你給 ZIP
的選項,或者你想在 Zip 文件中存儲什么文件(以及有多少)。一般來說,非常長的文本文件(如源碼)會產(chǎn)生良好的壓縮效果,而非常小的文本文件(如只有幾行的 DOS “批處理”文件)通常太短,無法很好地壓縮。
解壓文件和目錄
將文件保存到 Zip 文件中是很好的,但你最終會需要將這些文件解壓到某個地方。讓我們首先檢查一下我們剛剛創(chuàng)建的 Zip 文件里有什么。為此,使用 UNZIP
命令。你可以在 UNZIP
中使用一堆不同的選項,但我發(fā)現(xiàn)我只使用幾個常用的選項。
要列出一個 Zip 文件的內(nèi)容,使用 -l
(“list”) 選項。
用 unzip 列出歸檔文件的內(nèi)容
該輸出允讓我看到 Zip 文件中的 14 個條目:13 個文件加上 SRC
目錄。
如果我想提取整個 Zip 文件,我可以直接使用 UNZIP
命令并提供 Zip 文件作為命令行選項。這樣就可以從我當前的工作目錄開始提取 Zip 文件了。除非我正在恢復某個東西的先前版本,否則我通常不想覆蓋我當前的文件。在這種情況下,我希望將 Zip 文件解壓到一個新的目錄。你可以用 -d
(“destination”) 命令行選項指定目標路徑。
你可以用 -d 來解壓到目標路徑
有時我想從一個 Zip 文件中提取一個文件。在這個例子中,假設我想提取一個 DOS 可執(zhí)行程序 TEST.EXE
。要提取單個文件,你要指定你想提取的 Zip 文件的完整路徑。默認情況下,UNZIP
將使用 Zip 文件中提供的路徑解壓該文件。要省略路徑信息,你可以添加 -j
(“junk the path”) 選項。
你也可以組合選項。讓我們從 Zip 文件中提取 SRC\TEST.EXE
程序,但省略完整路徑并將其保存在 TEMP
目錄下:
unzip 組合選項
因為 Zip 文件是一個開放的標準,所以我們會今天繼續(xù)看到 Zip 文件。每個 Linux 發(fā)行版都可以通過 Info-ZIP 程序支持 Zip 文件。你的 Linux 文件管理器可能也支持 Zip 文件。在 GNOME 文件管理器中,你應該可以右擊一個文件夾并從下拉菜單中選擇“壓縮”。你可以選擇創(chuàng)建一個包括 Zip 文件在內(nèi)的新的歸檔文件。
創(chuàng)建和管理 Zip 文件是任何 DOS 用戶的一項關鍵技能。你可以在 Info-ZIP 網(wǎng)站上了解更多關于 ZIP
和 UNZIP
的信息,或者在命令行上使用 h
(“幫助”)選項來打印選項列表。