ホームページ >運用・保守 >Linuxの運用と保守 >Linux アーカイブとはどういう意味ですか?
Linux アーカイブは、多くのファイルを集約し、1 つの大きなファイルに結合するプロセスです。通常、システム バックアップの一部として使用され、古いデータをシステムから長期ストレージに移動するためによく使用されます。デバイスの場合、tar コマンドを使用して Linux ファイルとディレクトリのアーカイブを作成できます。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux アーカイブとはどういう意味ですか?
アーカイブは、圧縮操作と組み合わせて使用される一般的なファイル管理タスクです。アーカイブは、多くのファイルを集約して 1 つの大きなファイルに結合するプロセスであり、通常はシステム バックアップの一部として、古いデータをシステムから長期ストレージ デバイスに移動する状況でよく使用されます。
tar コマンドは、Linux ファイルとディレクトリのアーカイブを作成できます。 tar を使用すると、特定のファイルのアーカイブ (バックアップ ファイル) を作成したり、アーカイブ内のファイルを変更したり、アーカイブに新しいファイルを追加したりできます。 tar はもともとテープ上にアーカイブを作成するために使用されていましたが、現在ではユーザーは任意のデバイス上にアーカイブを作成できるようになりました。 tar コマンドを使用すると、多数のファイルとディレクトリを 1 つのファイルにパッケージ化できます。これは、ファイルをバックアップしたり、ネットワーク送信用に複数のファイルを 1 つのファイルに結合したりする場合に非常に便利です。
Linux tar コマンド
tar コマンドは、Linux 上で複数のファイルを 1 つのファイル パッケージにパッケージ化するために使用されます。転送に便利でファイルのバックアップにも使えます。 tar を使用してアーカイブ ファイルを解凍することもできます。
tar コマンド圧縮形式
tar コマンドでサポートされている圧縮形式。通常、tar コマンドを使用すると、同時にファイルも圧縮されます。スペースの使用量を削減します。通常、使用する圧縮方法を決定するために、次の命名規則を使用します。
.tar デフォルト モード、圧縮なし、すべてのファイルを 1 つのパッケージに入れるだけです。
.tar.gz コモン モード、gzip アルゴリズムを使用して圧縮。圧縮率は平均的で、圧縮時間は中程度です。
.tar.bz2 は一般的には使用されません。 bz2 アルゴリズムを使用して圧縮されます。圧縮率は若干悪くなり、圧縮時間は短くなります。
.tar.xz は一般的には使用されず、xz アルゴリズムを使用して圧縮されます。圧縮率が向上し、圧縮時間が長くなります。
tar の概要
tar 構文の概要
tar は通常、次の 2 つの構文形式をサポートします。2 番目は古い構文形式です。方法。
tar OPTION... [NAME]... tar LETTER... [ARGUMENT]... [OPTION]... [NAME]...
tar の主なパラメータは [操作タイプ] と呼ばれます。たとえば、c は作成、x は解凍します。ファイル名やアーカイブ対象ファイルなど、操作の進行状況を変更するために使用されるその他のパラメーターを [追加オプション] と呼びます。
メインパラメータ[操作タイプ]は必ず先頭に配置してください。
[NAME] はどちらの構文形式でも、アーカイブするファイルの名前を指定します。[NAME] には、1 つのファイルまたはディレクトリ、または複数のファイルまたはディレクトリを指定できます。 [NAME] は明確に指定する必要があり、tar コマンドを実行する前にファイル システム上にすでに存在している必要があります。
tar に関するその他の知識
tar は、相対パスのファイル名を相対ディレクトリとして解釈します。絶対パスを指定すると、tar は最初の / を削除します。パッケージ化します。これの目的は、解凍中にシステム ディレクトリが置き換えられるのを防ぐことです。意図的に [--absolute-names] オプションを指定しない限り。
ディレクトリを指定すると、tar は再帰的に実行されます。すべて指定してください。アーカイブするディレクトリ内のサブディレクトリとファイル。たとえば、/ を指定すると、ファイル システム全体がアーカイブされることを意味します。
アーカイブされるファイル名とメンバーを区別することが非常に重要です。シェルのワイルドカードを使用する理由は、シェルは既存のファイルに対してのみワイルドカードを使用し、tar 自体もアーカイブ メンバーに対してワイルドカードを使用するため、ワイルドカードがシェルではなく tar に対してのみ機能することを確認する必要があります。通常はバックスラッシュ\ を使用できます。 "*" または "?" で囲むか、一重引用符で囲んでも問題ありません。
通常、分遣隊のファイルをコマンド ラインに置きます。実際、ファイルを読み取ることでアーカイブを指定することもできます。アーカイブ後のファイル名。'--files-from=FILE-OF-NAMES' ('-T FILE-OF-NAMES')
アーカイブ後のファイル名を指定しない場合は、 、delete、その他の操作コマンドは何も実行しません。create は診断メッセージを出力し、tar 操作を防ぎます。その他の操作オプションはアーカイブ ディレクトリ全体に対して操作します。
通常の正常な終了に加えて、tar は失敗します。状況は回復可能です。たとえば、tar コマンドが正常に記述されていない場合、ファイルが処理されて報告されるまでエラーは延期されます。一部のエラーは意図的ではない可能性がありますが、それでも危険です。その後、tar はすぐに終了します。
ただし、即時か遅延かにかかわらず、すべての異常な終了にはエラー出力と診断情報が含まれます。
考えられる tar プログラムの終了コードは次のとおりです: 0(正常終了) 、1 (ファイルが変更された)、2 (重大なエラー、回復不能なエラー)
tar オプション スタイル
3 つのオプション スタイル
標準の tar コマンドは、さまざまなタスクを実行できるように、合計 8 つの動作モードをサポートしています。 tar コマンドを使用するたびに選択できる動作モードは 1 つだけです。実際の状況に応じて、tar 動作モードを指定することが必要になる場合があります。たとえば、出力の出力形式を変更する場合があります。または、操作の順序を具体的に指定する必要があるファイル形式が必要な場合。
tar オプションは、tar の動作モードを指定した後に付加されるオプションです。 tar の動作モードに応じて、1 つ以上のオプションを指定できます。オプションが異なれば機能も異なり、通常は動作モードの具体的な内容を変更します。たとえば、アーカイブ形式、アーカイブ ファイル名、またはユーザー操作レベルを変更します。
一部のオプションはすべての動作モードで有効ですが、一部のオプションは特定の動作モードでのみ有効です。頻繁に使用する固定オプションがいくつかあります。その他はほとんど使用されないか、まったく使用されない場合があります。
オプションでは大文字と小文字が区別されます。たとえば、-T と -t は異なります。T には、ファイル名またはファイル リストを指定するパラメータ名が必要です。 t はパラメーターを必要とせず、--list の別の記述方法です。
tar オプションは、通常、長い名前付けスタイル (--)、短い名前付けスタイル (-)、および古い名前付けスタイル (- なし) の 3 つの異なるスタイルをサポートします。どちらのスタイルも動作モードまたはオプションに使用できます。 3 つの異なるスタイルは、異なる時期に開発されました。
一部のオプションにはパラメータが必要です。通常、パラメータをどこに配置するかは、使用するスタイルによって異なります。これらの違いは微妙かもしれませんが、重要です。オプションを間違った場所に配置すると、一部の重要なファイルが上書きされる可能性があります。これらの違いに注意する必要があります。そして、他のオプションも理解するまでは、理解したオプションのみを使用してください。引数を取るオプションの場合、古い形式の対応するものがない最長または短い形式を持つ場合があります。指定された引数を必要とするオプションの使用規則は非常に厳格です。
たとえば、--file オプションはパラメータとしてアーカイブ ファイル名を受け取る必要があります。アーカイブ ファイル名を指定しない場合、tar はデフォルトの紛らわしい名前を使用するため、特定のアーカイブ ファイル名を指定することをお勧めします。
長い名前のオプション スタイル
tar のすべてのパラメータ オプションには、少なくとも 1 つの長い名前のパラメータがあります。長い名前のパラメータ オプションは、短い名前や古いパラメータ名のタイプよりも明確に表示されます。長い名前のオプションは、名前が異なっていても効果が同じである場合があります (たとえば、-compare と --dif は同じ意味です)。さらに、長い名前付け方法では、一意の略語を使用することもできます。たとえば、--create を --cre に置き換えることができます。 --cre で始まるオプションが他にないためです。
tar 長い名前付けオプションはより明白で覚えやすく、その名前は簡単に識別できます。たとえば、tar --create --verbose --blocking-factor=20 --file=/dev/rmt0 では、すべて長い名前のパラメータが使用されており、各パラメータの意味が明確にわかります。
長い名前のオプションがパラメーターを受け取る必要がある場合は、オプションの直後に記述する必要があります。必要なパラメーターを指定するには 2 つの方法があります。1 つはスペースを使用する方法、もう 1 つは = 記号を使用する方法です。 。たとえば、 --file オプションを使用すると、 --file archive.tar または --file=archive.tar を使用してパラメータを指定できます。
同様に、オプションがパラメータを受け取ることができるかどうか。この場合、パラメーターを受け取りたい場合は、= 記号を使用してパラメーターを指定する必要があります。たとえば、--backup オプションの引数を受け取ります。これを指定する場合は、「--backup=BACKUP-TYPE」を使用する必要があります。
短い名前付けオプションのスタイル
ほとんどのオプションには、対応する短い名前付けオプションもあります。短い名前付けオプションでは、- 記号の後に文字を使用します。たとえば、-t (長い名前のオプション --list に対応)、これらの形式は機能的に同一であり、交換できます。
長い名前付けオプションと比較して、短い名前付け方法の明らかな利点は、記述が簡単であることです。
短い名前のオプションは、オプションの直後にパラメーターを受け取る必要がある場合、通常、スペースを使用して実装されます。スペースを省略してオプションをすぐに記述することもできます。たとえば、アーカイブ名を指定するには、-f archive.tar (スペースあり) -farchive.tar (スペースなし)、--file=archive.tar を使用できます。 . -f ARCHIVE-NAME および - -file=ARCHIVE-NAME は、このオプションがアーカイブ ファイル名を指定することを示します。
オプションのパラメーターを含む短い名前のオプション: パラメーターを指定する場合は、パラメーターの後に短いオプション名を続ける必要があり、スペースは使用できません。
短い名前のオプションは一緒に記述することができますが、必須ではありません。短いオプションがコレクションに表示される場合、tar -cvf など、オプションの先頭には - のみが使用され、最後のオプションのみが必須パラメーターを受け取ることができます。 (多くのオプションをまとめて、最後のオプションにパラメーターを持たせるのは、かなり不透明な書き方です。)
オプションを個別に使用する場合は、各オプションのパラメーターをオプションの後に続ける必要があります。 tar -c -v -b 20 -f /dev/rmt0。パラメータが適切に調整されていない場合、ファイルが上書きされる可能性があります。
オプションを再調整するときは、そのオプションに属するパラメータを同時に移動することに注意する必要があります。
古いオプション スタイル
像短命名选项一样,旧选项风格也只有一个字母。但是,旧风格选项必须将所有选项放在一起,不得有空格将他们分开,或者-连接他们。在tar命令和空格之后,比较紧跟这些字母选项的集合。旧选项不能在任意地方出现。旧选项风格的选项和短命名风格的选项含义是一样的。例如 在旧选项风格中,选项 t 和 短命名选项-t 已经长命名选项--list有一样的作用。 tar cv 命令中,选项v是c选项的额外附加内容。
在旧选项风格中,但选项需要参数的时候,这些选项要一起提供,所有的选项按选项书写顺序提供。例如 tar -c -v -b 20 -f /dev/rmt0 要写成 tar cvbf 20 /dev/rmt0这里20是b选项的参数 /dev/rmnt0是f的参数。
我们可以看出,旧风格选项,匹配选项字母和对应的参数是很困难的,而且很容易令人困惑。短命名方式逗比旧命名方式要好很多。如果要调整选项的字母,必须要同时准确地调整对应的参数位置。
旧选项风格有的时候甚至可以震惊一个熟悉的用户。
tar cfz archive.tar.gz file 这个例子中 archive.tar.gz 被认为是f的参数,z是压缩选项。
tar -cfz archive.tar.gz file 这个例子中 z会被认为是f的选项值,尽管不是我们想的。
旧选项风格是为了向下兼容而保留的。而且很多用户已经习惯了这种方式。
第二个例子我们有几种方式来修改。
tar -czf archive.tar.gz file tar -cf archive.tar.gz -z file tar cf archive.tar.gz -z file
通常tar命令的第一个选项一般都会当做包含操作模式和选项来对待处理,尽管没有用-开始。因此 tar c与tar -c一样,都是和--create一样来创建归档。
混合选项风格
三种选项风格可以同时出现在一条tar 命令中,但是旧选项必须在tar命令后 第一个出现,现代风格的选项必须在旧选项集合输入之后出现,这个是必须遵守的原则,否则可能我们输入的命令跟我们预想的结果根本不一样。可能会造成严重的错误或灾难。
tar选项
操作模式
'--concatenate' '--catenate' '-A' 将其他归档文件放在当前归档文件末尾
'--append' ' -r' 追加文件到归档文件
'--compare' '--diff' '-d' 将归档文件和文件系统上的文件进行对比
'--create' '-c' 创建一个归档文件
'--delete' 从归档文件中删除一些文件。(不能在tape上操作)
'--extract' '--get' '-x' 提取归档文件到当前文件系统
'--list' '-t' 显示归档文件的组成文件列表
'--update' '-u' 更新归档文件中的某个文件,只有在该文件有更新时。或者不存在与归档文件。
通用选项
-C, --directory=DIR 改变工作目录。
-f, --file=ARCHIVE 指定归档文件名
-j, --bzip2 使用bzip2压缩方式过滤
-J, --xz 使用xz压缩方式过滤
-p, --preserve-permissions 解压时保留文件的权限。
-v, --verbose 详细的列出处理的文件
-z, --gzip 使用gzip压缩方式过滤
提取时覆盖选项
--remove-files 提取归档后删除归档文件
-k --keep-old-files 执行的时候不覆盖已经存在的文件,会输出错误
--keep-newer-files 执行的时候不覆盖比archive里文件新的文件
--keep-directory-symlink 不把已经存在的连接替换成目录
--no-overwrite-dir 保存已经存在的目录的原信息
--overwrite 覆盖已经存在的文件
--overwrite-dir 覆盖已经存在的目录
--recursive-unlink 在提取目录文件前清除该目录结构
--skip-old-files 不替换已经存在的文件。静默方式跳过
-U, --unlink-first 在提取之前先删除所有文件
-W, --verify 校验
处理文件的属性
--atime-preserve[=METHOD] 保存文件atime到归档文件
--delay-directory-restore 直到解压完才改变目录的时间戳属性
--group=NAME 强制修改文件所属组
--mode=CHANGES 强制连接模式修改
--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 -p と -s
--同じ-と同じファイル属性を保持しますowner ファイル属性を保持します
-s、--preserve-order、--same-order ファイル属性を保持します
ローカル ディレクトリ ファイル # を選択します
##--add-file=FILE でファイルをアーカイブに追加します。ファイル名が ---backup[=CONTROL] で始まる場合、削除する前にバックアップします- C、 --directory=DIR 作業ディレクトリを指定したディレクトリに変更します --exclude=PATTERN 一部のファイルを除外します
#--exclude-backups バックアップ ファイルとロック ファイルを除外します
--exclude-caches キャッシュ (CACHEDIR.TAG) ディレクトリ内の他のファイルを除外します (tagfile を除く)
#--exclude-caches-all CACHEDIR.TAG## を含むディレクトリを除外します #--exclude -caches-under は、tagfile を持つディレクトリ内の他のすべてのファイルを除外しますが、ディレクトリが存在します
--exclude-tag=FILE このファイルを除く、指定されたファイルのあるディレクトリを除外します
exclude FILE を含むディレクトリの内容 (FILE 自体を除く)
##--exclude-tag-all=FILE FILE を含むディレクトリを除外する ファイルを含むディレクトリ全体を除外する##--exclude -tag-under= FILE は、特定のファイルを含むディレクトリ内のすべての内容を除外します。
--exclude-vcs は、vcs バージョン管理下のディレクトリを除外します。
-h、--dereference は、ソフト リンクを保存し、ターゲット ファイルをアーカイブします。同様に
シンボリックリンクをたどり、シンボリックリンクが指すファイルをアーカイブしてダンプします
#--hard-dereferenceハードリンクとソフトリンクを保存し、ターゲットファイルもアーカイブします#- K, --starting-file=MEMBER-NAME ディレクトリ内のファイルからアーカイブを開始します。以前のファイルはアーカイブされません
--newer-mtime=DATE コンテンツが変更された場合、日付を比較しますファイルと時刻
-P, --absolute-names 絶対パスでパックします。 --recursion
--suffix=STRING を抽出するときにソース ファイルが上書きされます。削除する前にバックアップしてください。設定されたプレフィックスを使用して
-X、-exclude-from=FILE を上書きします指定されたファイルを除外します ファイル内の合意されたファイル
推奨される学習: "
Linux ビデオ チュートリアル"
以上がLinux アーカイブとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。