個人的な反射

個人的な反射

78 GBのフォルダをインポートしてアーカイブに圧縮したように、ファイル(クラウドサービスにアップロード用)に保存したいのですが、圧縮したくありません(利用可能なCPUはあまりありません)。 )。とにかくこれを行うことはできますか?私が知らない端末コマンドがありますか?

答え1

使用tar: tar -cf my_big_folder.tar /my/big/folder

アーカイブの復元tar -xf my_big_folder.tar -C /

-氏上記で作成したアーカイブには絶対パスが含まれているため、アーカイブを復元するにはルートディレクトリに変更してください。

編集する:アーカイブが比較的大きいので、SSHまたはクラウドリソース/フォルダのマウントポイントを使用して最終的な場所に[直接]送信するのが最善です。例えば、コール・ジョンソンが提案すること:

tar -cf /network/mount/point/my_big_folder.tar /my/big/folder

または

tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar"

編集する:のように「Black Light Shine」もそれを見せる。絶対パスを避けるには、親フォルダを大きなフォルダに変更してから、tar次の操作を実行します。

tar -cf /network/mount/point/my_big_folder.tar \
    -C /my/big/folder/location the_big_folder

または

tar -cC /my/big/folder/location the_big_folder | \
ssh example.com "cat > my_big_folder.tar"

個人的な反射

相対パスを含めるか絶対パスを含めるかは、個人の好みによって決まります。

場合によっては、災害復旧状況での復旧など、絶対パスが明らかです。ローカルプロジェクトまたはコレクションの場合、アーカイブが誤って所定の場所から解凍された場合、現在のディレクトリが複雑になるのを防ぐために、目的のフォルダの上位にあるディレクトリツリーをアーカイブするのが一般的です。もし大きなフォルダどこか深いところ標準* NIX階層、最初の非標準フォルダのアーカイブを開始するのが合理的かもしれません。大きなフォルダディレクトリツリーから外れました。

最後に - そしてここで私は賢明に話しています - アーカイブtarのメンバーは次のとおりです。いつも相対的なㅏ)任意のディレクトリから復元できます。雨) tar/アーカイブを作成するときに先行を削除します。個人的には私はいつも使う方です。-氏アーカイブを解凍するとき。

答え2

代替案: cpio

(cd /my/big/folder && find . -depth -print0 | cpio -0o > myfolder.cpio)

現在のディレクトリに解凍した:

cpio -id < myfolder.cpio

指示:

  • find /my/big/folder代わりに使用すると、cdアーカイブにフルパスが含まれ、抽出はそれに従おうとします。
  • 大容量ファイル(> 2 GB)が問題になる可能性があります。

答え3

圧縮なしで進行状況バーを使用して大容量フォルダを単一のファイルに保存するには、次の1行のコマンドを使用できます。

tar -cf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tar)

このコマンドは、元のフォルダを変更せずに残します。

必要:

sudo apt-get install -y pv

デモ(私の場合、私のフォルダは./Downloads/あり、出力ファイルはadb_int.tar):

ここに画像の説明を入力してください。

クレジット:このコマンドはuser86969のコマンドと組み合わせられます。回答そしてザクゼ~の回答

関連情報