溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux歸檔指的是什么

發(fā)布時間:2023-03-02 11:05:02 來源:億速云 閱讀:123 作者:iii 欄目:建站服務(wù)器

這篇文章主要介紹“l(fā)inux歸檔指的是什么”,在日常操作中,相信很多人在linux歸檔指的是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”linux歸檔指的是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

linux歸檔是一個聚集眾多文件并將它們組合為一個大文件的過程,它通常作為系統(tǒng)備份的一部分,而且通常也用于將舊數(shù)據(jù)從某個系統(tǒng)移到某些長期存儲設(shè)備的情況下;tar命令可以為linux的文件和目錄創(chuàng)建檔案。

linux歸檔是什么意思?

歸檔是與壓縮操作配合使用的一個常用文件管理任務(wù)。歸檔是一個聚集眾多文件并將它們組合為一個大文件的過程,它通常作為系統(tǒng)備份的一部分,而且通常也用于將舊數(shù)據(jù)從某個系統(tǒng)移到某些長期存儲設(shè)備的情況下。

tar命令可以為linux的文件和目錄創(chuàng)建檔案。利用tar,可以為某一特定文件創(chuàng)建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創(chuàng)建檔案,現(xiàn)在,用戶可以在任何設(shè)備上創(chuàng)建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或?qū)讉€文件組合成為一個文件以便于網(wǎng)絡(luò)傳輸是非常有用的。

Linux tar命令

tar命令是linux上將 多個文件打包程一個文件包。方便傳輸,也可以用于文件備份。我們也可以用tar來解壓歸檔文件。

tar命令壓縮格式

tar命令支持的壓縮格式,一般我們在使用tar命令的時候會同時對文件壓縮,以降低空間使用率。通常我們會采用以下命名規(guī)范來約定我們使用了哪種壓縮方式。

.tar 默認(rèn)模式,不壓縮,只是將所有文件放到一個包里。

.tar.gz 常用模式,采用gzip算法壓縮。壓縮率一般,壓縮時間中等。

.tar.bz2 不常用。采用bz2算法壓縮。壓縮率稍差,壓縮時間較短。

.tar.xz 不常用,采用xz算法壓縮。壓縮率較好,壓縮時間較長。

tar概要簡介

tar語法介紹

tar 一般支持以下兩種語法格式,第二種是舊的方式。

tar OPTION... [NAME]...
tar LETTER... [ARGUMENT]... [OPTION]... [NAME]...

tar的主要參數(shù),我們稱之為【操作類型】:例如,c創(chuàng)建,x解壓。其他的參數(shù)我們稱之為【附加選項(xiàng)】,用來改變我們操作的進(jìn)展方式例如文件名字,待歸檔的目標(biāo)文件。

主要參數(shù) 【操作類型】一定要放在最前方。

兩種語法格式中的[NAME]都是指明我們要待歸檔的文件名字,[NAME]可以是文件或者目錄,或者是多個文件或目錄。 [NAME]一定要指定明確,而且在我們執(zhí)行tar命令之前一定是要已經(jīng)存在與文件系統(tǒng)上。

tar的其他知識介紹

tar "將相對路徑的文件名解釋為相對目錄。如果我們指定了絕對路徑, tar會將首個/去掉來進(jìn)行打包。這么做的目的是為了防止解壓的時候替換掉系統(tǒng)目錄。除非我們故意指定【--absolute-names】選項(xiàng)。

如果我們指定的是一個目錄的話,tar會遞歸指定目錄下所有的子目錄和文件來進(jìn)行歸檔,例如我們指定/,意思就是整個文件系統(tǒng)都將要被歸檔。

在使用shell通配符的時候區(qū)別文件名字和待歸檔成員是非常重要的。原因在于,shell只會對存在的文件使用通配符, tar自己也會對歸檔成員使用通配,所以我們必須保證通配符只針對tar起作用,而不是shell.通常我們可以使用反斜杠\在 "*"或“?”或者放在單引號中,這樣舊可以了

通常我們都會把支隊(duì)的文件放在命令行上,實(shí)際上我們也可以通過讀文件的方式來指定歸檔后的文件名。'--files-from=FILE-OF-NAMES' ('-T FILE-OF-NAMES')

如果我們不指定歸檔后的文件名,那么 追加,刪除,等操作命令不會做任何操作。create會輸出一個診斷信息,并阻止tar操作。其他的操作選項(xiàng)會對整個archive目錄操作

除了正常成功退出,tar會因?yàn)楹芏嘣蚴?。有的情況是可以恢復(fù)的,例如當(dāng)tar命令不是正常組織書寫時,錯誤會推遲到直到文件處理完會報告出來。.有的錯誤可能不是故意的,但是還是有危險,那么接下來,tar會立即退出。

然而所有非正常的退出,不論是立即的還是推遲的,都會有錯誤輸出,并且會有診斷信息。

可能的tar程序退出碼有:0(正常退出),1(有文件發(fā)生變化了),2(嚴(yán)重錯誤,不可恢復(fù)的錯誤)

tar選項(xiàng)風(fēng)格

三種選項(xiàng)風(fēng)格

標(biāo)準(zhǔn)tar命令一共支持8種操作模式讓我們?nèi)ネ瓿啥鄻尤蝿?wù)。每次使用tar命令我們只能選擇一種操作模式。根據(jù)實(shí)際情況,我們可能會希望指定tar操作模式的運(yùn)行。例如我們可能修改outputs的輸出格式?;蛘呶覀兿胍募袷叫枰覀?nèi)ヌ厥庵付ú僮黜樞颉?/p>

tar選項(xiàng)是在我們指定tar操作模式后附加的選項(xiàng)。根據(jù)tar的操作模式,我們可以指定一個或多個選項(xiàng)。不同的選項(xiàng)有不同的作用,通常情況下,選項(xiàng)會修改該操作模式具體內(nèi)容。例如修改歸檔格式,歸檔文件名,或者用戶交互級別。

有些選項(xiàng)對所有操作模式都會有效,有些選項(xiàng)只對特定的操作模式有效。我們會經(jīng)常使用一些固定的選項(xiàng)。其他的可能很少用到,或基本不會用到。

選項(xiàng)是大小寫敏感的,例如-T和-t是不同的,T要求一個參數(shù)名字來指明文件名或文件列表。t則不需要參數(shù) ,是--list的另一種書寫方式。

tar選項(xiàng)通常支持3中不同的風(fēng)格: 長命名型(--),短命名型(-),舊命名方式(沒有-)。操作模式或選項(xiàng)都可以使用任意一種風(fēng)格。3中不同的風(fēng)格是在不同的時期開發(fā)出來嘚。

有些選項(xiàng)是需要一個參數(shù)的,在哪里放置參數(shù),通常的時候需要根據(jù)我們使用哪種風(fēng)格。這些區(qū)別可能是微妙的,但是卻很重要。選項(xiàng)放置在錯誤的位置,可能會導(dǎo)致覆蓋一些重要的文件。我們必須要注意到這些不同點(diǎn)。而且只使用我們所了解的選項(xiàng),直到我們對其他的選項(xiàng)也了解了。那些需要接收參數(shù)的選項(xiàng),他們可能會有最長或短的形式,而沒有舊風(fēng)格的對應(yīng)選項(xiàng)。使用這些需要指定參數(shù)的選項(xiàng)的規(guī)則是非常嚴(yán)謹(jǐn)?shù)摹?/p>

例如--file選項(xiàng)需要接收一個歸檔文件名作為參數(shù)。如果我們不指定歸檔文件名,tar會使用一個默認(rèn)的但另我們困惑名字,建議我們一定要指定一個具體的歸檔文件名字。

長命名選項(xiàng)風(fēng)格

tar所有的參數(shù)選項(xiàng)都至少有一個長命名型的參數(shù)。長命名參數(shù)選項(xiàng)比短命名和舊參數(shù)名字類型顯示更加的清晰。有的時候長名字選項(xiàng)會有不同的名字但是卻是相同的作用,例如--compare和--dif是同一個意思。另外長命名方式,也可以使用唯一的縮寫,例如--create可以用--cre來代替。因?yàn)闆]有其他的選項(xiàng)以--cre開頭。

tar 長命名選項(xiàng)更加的明顯和容易記憶,而且他們的名字也容易辨認(rèn)。例如 tar --create --verbose --blocking-factor=20 --file=/dev/rmt0,全部使用的是長命名型參數(shù),可以顯而易見的看出每個參數(shù)的含義。

長命名選項(xiàng)必須接收參數(shù)的話,要立即在該選項(xiàng)后面書寫, 有兩種方式去指定必須的參數(shù),一種是使用空格,另一種是使用=符號。例如--file選項(xiàng)我們可以使用--file archive.tar 或者--file=archive.tar兩種方式來制定參數(shù)。

對應(yīng)地,如果選項(xiàng)可以接收也可以不接收參數(shù)的話。這種情況下如果要接收參數(shù),必須使用=符號來指定。例如 --backup 可選接收參數(shù)。如果要指定的話,必須使用'--backup=BACKUP-TYPE'.

短命名選項(xiàng)風(fēng)格

大多數(shù)的選項(xiàng)也有對應(yīng)的短命名選項(xiàng),短命名選項(xiàng)使用-符號,并且緊跟一個字母。例如 -t(對應(yīng)長命名選項(xiàng)--list),這些形式在功能上是完全相同的,可以互換。

相對于長命名選項(xiàng),短命名方式一個明顯的優(yōu)點(diǎn)就是書寫很方便。

短命名選項(xiàng)如果需要在選項(xiàng)后面立即接收參數(shù)的話,通常以空格來實(shí)現(xiàn)。 也可以省略空格,立即接著選項(xiàng)書寫,例如指定歸檔名字 我們可以使用-f archive.tar(有空格) -farchive.tar(省略空格),--file=archive.tar. -f ARCHIVE-NAME和--file=ARCHIVE-NAME都表示這個選項(xiàng)指定了歸檔文件名。

有可選參數(shù)的短命名選項(xiàng),如果要指定參數(shù)的時候,需要參數(shù)緊跟短選項(xiàng)名字,不能使用任何空格。

短命名選項(xiàng)可以放在一起書寫,但不是要求的。當(dāng)短選項(xiàng)以集合成片出現(xiàn)時,僅在選項(xiàng)開始使用一個-,例如tar -cvf,同時只有最后一個選項(xiàng)允許接收必須參數(shù)。(將許多選項(xiàng)集中在一起,最后一個選項(xiàng)有一個參數(shù),這是一種相當(dāng)不透明的寫法。)

當(dāng)選項(xiàng)分開使用時,每個選項(xiàng)的參數(shù)需要緊跟著該選項(xiàng)。  tar -c -v -b 20 -f /dev/rmt0。如果參數(shù)沒有調(diào)整好,可能會導(dǎo)致文件被覆蓋。

當(dāng)我們重新調(diào)整選項(xiàng)時,要注意同時移動屬于該選項(xiàng)的參數(shù)。

舊選項(xiàng)風(fēng)格

像短命名選項(xiàng)一樣,舊選項(xiàng)風(fēng)格也只有一個字母。但是,舊風(fēng)格選項(xiàng)必須將所有選項(xiàng)放在一起,不得有空格將他們分開,或者-連接他們。在tar命令和空格之后,比較緊跟這些字母選項(xiàng)的集合。舊選項(xiàng)不能在任意地方出現(xiàn)。舊選項(xiàng)風(fēng)格的選項(xiàng)和短命名風(fēng)格的選項(xiàng)含義是一樣的。例如 在舊選項(xiàng)風(fēng)格中,選項(xiàng) t 和 短命名選項(xiàng)-t 已經(jīng)長命名選項(xiàng)--list有一樣的作用。 tar cv 命令中,選項(xiàng)v是c選項(xiàng)的額外附加內(nèi)容。

在舊選項(xiàng)風(fēng)格中,但選項(xiàng)需要參數(shù)的時候,這些選項(xiàng)要一起提供,所有的選項(xiàng)按選項(xiàng)書寫順序提供。例如  tar -c -v -b 20 -f /dev/rmt0  要寫成 tar cvbf 20 /dev/rmt0這里20是b選項(xiàng)的參數(shù) /dev/rmnt0是f的參數(shù)。

我們可以看出,舊風(fēng)格選項(xiàng),匹配選項(xiàng)字母和對應(yīng)的參數(shù)是很困難的,而且很容易令人困惑。短命名方式逗比舊命名方式要好很多。如果要調(diào)整選項(xiàng)的字母,必須要同時準(zhǔn)確地調(diào)整對應(yīng)的參數(shù)位置。

舊選項(xiàng)風(fēng)格有的時候甚至可以震驚一個熟悉的用戶。

tar cfz archive.tar.gz file  這個例子中 archive.tar.gz 被認(rèn)為是f的參數(shù),z是壓縮選項(xiàng)。

tar -cfz archive.tar.gz file 這個例子中 z會被認(rèn)為是f的選項(xiàng)值,盡管不是我們想的。

舊選項(xiàng)風(fēng)格是為了向下兼容而保留的。而且很多用戶已經(jīng)習(xí)慣了這種方式。

第二個例子我們有幾種方式來修改。

tar -czf archive.tar.gz file
tar -cf archive.tar.gz -z file
tar cf archive.tar.gz -z file

通常tar命令的第一個選項(xiàng)一般都會當(dāng)做包含操作模式和選項(xiàng)來對待處理,盡管沒有用-開始。因此 tar c與tar -c一樣,都是和--create一樣來創(chuàng)建歸檔。

混合選項(xiàng)風(fēng)格

三種選項(xiàng)風(fēng)格可以同時出現(xiàn)在一條tar 命令中,但是舊選項(xiàng)必須在tar命令后 第一個出現(xiàn),現(xiàn)代風(fēng)格的選項(xiàng)必須在舊選項(xiàng)集合輸入之后出現(xiàn),這個是必須遵守的原則,否則可能我們輸入的命令跟我們預(yù)想的結(jié)果根本不一樣。可能會造成嚴(yán)重的錯誤或?yàn)?zāi)難。

tar選項(xiàng)

操作模式

'--concatenate'  '--catenate' '-A' 將其他歸檔文件放在當(dāng)前歸檔文件末尾

'--append' ' -r'  追加文件到歸檔文件

'--compare'  '--diff'  '-d'  將歸檔文件和文件系統(tǒng)上的文件進(jìn)行對比

'--create' '-c' 創(chuàng)建一個歸檔文件

'--delete' 從歸檔文件中刪除一些文件。(不能在tape上操作)

'--extract' '--get' '-x' 提取歸檔文件到當(dāng)前文件系統(tǒng)

'--list'  '-t' 顯示歸檔文件的組成文件列表

'--update'  '-u' 更新歸檔文件中的某個文件,只有在該文件有更新時?;蛘卟淮嬖谂c歸檔文件。

通用選項(xiàng)

-C, --directory=DIR  改變工作目錄。

-f, --file=ARCHIVE  指定歸檔文件名

-j, --bzip2  使用bzip2壓縮方式過濾

-J, --xz  使用xz壓縮方式過濾

-p, --preserve-permissions 解壓時保留文件的權(quán)限。

-v, --verbose 詳細(xì)的列出處理的文件

-z, --gzip  使用gzip壓縮方式過濾

提取時覆蓋選項(xiàng)

--remove-files 提取歸檔后刪除歸檔文件

-k --keep-old-files 執(zhí)行的時候不覆蓋已經(jīng)存在的文件,會輸出錯誤

--keep-newer-files 執(zhí)行的時候不覆蓋比archive里文件新的文件

--keep-directory-symlink 不把已經(jīng)存在的連接替換成目錄

--no-overwrite-dir 保存已經(jīng)存在的目錄的原信息

--overwrite  覆蓋已經(jīng)存在的文件

--overwrite-dir 覆蓋已經(jīng)存在的目錄

--recursive-unlink 在提取目錄文件前清除該目錄結(jié)構(gòu)

--skip-old-files 不替換已經(jīng)存在的文件。靜默方式跳過

-U, --unlink-first 在提取之前先刪除所有文件

-W, --verify 校驗(yàn)

處理文件的屬性

--atime-preserve[=METHOD]  保存文件atime到歸檔文件

--delay-directory-restore 直到解壓完才改變目錄的時間戳屬性

--group=NAME 強(qiáng)制修改文件所屬組

--mode=CHANGES 強(qiáng)制連接模式修改

--mtime=DATE-OR-FILE 修改文件的mtime

-m, --touch 不提取文件的 mtime

--no-delay-directory-restore 取消delay-directory-restore

--no-same-owner  extract files as yourself (default for ordinary users)

--no-same-permissions  apply the user's umask when extracting permissions from the archive (default for ordinary users)

--numeric-owner 使用number來表示owner和group

--owner=NAME  修改歸檔的文件的owner

-p, --preserve-permissions, --same-permissions 保留文件的屬性

--preserve  保留文件的屬性 same as both -p and -s

--same-owner  保留文件的屬性

-s, --preserve-order, --same-order 保留文件的屬性

本地目錄文件的選擇

--add-file=FILE 最加文件到歸檔中如果一個文件名字以-開始

--backup[=CONTROL]  刪除之前先備份

-C, --directory=DIR 修改工作目錄到指定目錄

--exclude=PATTERN 排除一些文件

--exclude-backups 排除掉 備份和鎖文件

--exclude-caches 排除掉cache(CACHEDIR.TAG)的目錄其他文件,除了tagfile

--exclude-caches-all  排除掉包括CACHEDIR.TAG的目錄

--exclude-caches-under 排除掉所有有tagfile的目錄的其他文件,但是有目錄

--exclude-tag=FILE 排除掉指定含義某文件的目錄,除了該文件

exclude contents of directories containing FILE, except for FILE itself

--exclude-tag-all=FILE exclude directories containing FILE 排除掉有某文件的整個目錄

--exclude-tag-under=FILE 排除掉有某文件的目錄里的所有內(nèi)容

--exclude-vcs  排除掉vcs版本控制的目錄

-h, --dereference 保存軟連 ,將目標(biāo)文件也歸檔起來

follow symlinks; archive and dump the files they point to

--hard-dereference 保存硬軟連 ,將目標(biāo)文件也歸檔起來

-K, --starting-file=MEMBER-NAME 以目錄中某個文件開始?xì)w檔,前面的文件不歸檔

--newer-mtime=DATE 當(dāng)內(nèi)容修改時,對比文件的日期和時間

-P, --absolute-names  以絕對路徑來打包。提取時會覆蓋源文件--recursion

--suffix=STRING 刪除之前先備份,以設(shè)置的前綴來覆蓋

-X, --exclude-from=FILE    排除掉指定文件里的約定的文件

到此,關(guān)于“l(fā)inux歸檔指的是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI