tarを使用してフォルダを圧縮しますか?

tarを使用してフォルダを圧縮しますか?

現在日付があるフォルダ(/var/www/)を圧縮しようとしています。~/www_backups/$time.tar$time

これが私が持っているものです:

cd /var/www && sudo tar -czf ~/www_backups $time"

私は完全に迷子になり、何時間もこれをやっていました。-czfこれが正しいかどうかはわかりません。すべてを/var/wwwファイルにコピーし$time.tar、すべてのファイルに対するファイル権限を維持したいと思います。誰でも私を助けることができますか?

答え1

フォルダの構文targzip次のとおりです。

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

-options()の前に追加することはczfオプションですtar。効果czfは次のとおりです。

  • c- アーカイブファイルの作成(抽出とは反対x
  • f— アーカイブファイルのファイル名
  • z- フィルタリングしてアーカイブするgzip(ファイルを作成するにはこのオプションを削除してください.tar

tar現在のディレクトリが必要な場合は、を使用して指定します.

ファイル名を動的に設定するには、このdateユーティリティを使用します(利用可能なフォーマットオプションについてはマニュアルページを参照してください)。たとえば、

cd /var/www &&
tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

それから20120902-185558.tar.gz

Linuxでは、tarnotオプションを使用してBZip2圧縮もサポートする可能性が高いです。他の人もいるかもしれません。ローカルシステムのマニュアルページを確認してください。jz

答え2

最も一般的な圧縮アルゴリズムの例

この質問のタイトルは単に「tarでフォルダを圧縮しますか?」です。タイトルは非常に一般的ですが、質問と回答がより具体的で視聴回数が多いため、一般的に使用されるさまざまな圧縮アルゴリズムを使用して、アーカイブ/圧縮と抽出/圧縮解除の2つの例の最新のリストを追加します。

これはUbuntu 18.04.4でテストされました。一般的に使用するのは非常に簡単ですが、上記の許可された回答と有用な説明の技術を使用して、OPのより具体的な質問に簡単に統合できます。

より一般的な視聴者に注意する必要があるのは、必要な拡張機能を自動的に追加しないtarことです.tar.gz(たとえば)。ユーザーは、次のコマンドに示すように、これらの拡張を明示的に追加する必要があります。

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *

# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar

# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *

# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above

# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options

# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above

# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options

# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above

タールを見るマニュアルページman tar(特定のコンピュータに最適)詳細についてはこちらをご覧ください。以下では、マニュアルページで直接上で使用したオプションをまとめました。

-c, --create は
      新しいアーカイブを生成します。

-x、--extract、--
      アーカイブからファイルを抽出する

-v、--verbose
      処理されたファイルを詳細に一覧表示します。

-z, --gzip
      gzipによるアーカイブのフィルタリング

-j, --bzip2
      bzip2 によるアーカイブのフィルタリング

-J、--xz
      xzでアーカイブをフィルタリングする

-f, --file=ARCHIVE
      アーカイブファイルまたはデバイス ARCHIVE の使用

-結合されたオプションの前に追加したり、=オプションとファイル名の間にシンボルを追加する必要はありません。f

私は最近の経験を通してこれを学びました。記事、これは私が研究を続ける時間があるときより包括的な記事に拡大します。

関連情報