78gbフォルダーを取り、それを1つのファイル(クラウドサービスへのアップロード用)に保存したいのですが、アーカイブで圧縮しているように見えますが、圧縮はしたくない(CPUはそれほど多くない)利用可能な時間)。とにかくこれを達成できる方法はありますか?おそらく私が知らない端末コマンドですか?
tar
を使用:tar -cf my_big_folder.tar /my/big/folder
tar -xf my_big_folder.tar -C /
を使用してアーカイブを復元します
-Cは、上記で作成されたアーカイブに絶対パスが含まれているため、ルートディレクトリに移動してアーカイブを復元します。
[〜#〜] edit [〜#〜]:アーカイブのサイズが比較的大きいため、[直接送信することをお勧めします]をSSHまたはクラウドリソース/フォルダのマウントポイントを使用して、最終的な場所に移動します。たとえば、 Cole Johnsonの提案 のように:
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"
[〜#〜] edit [〜#〜]: Blacklight Shiningも示唆しています のように、絶対パスを避けたい場合、そこから大きなフォルダーの親と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"
相対パスと絶対パスのどちらを含めるかは、個人の好みの問題です。
絶対パスが明らかな場合があります。災害復旧状況での復元。ローカルプロジェクトまたはコレクションの場合、アーカイブが誤って所定の場所に展開された場合に、現在のディレクトリが乱雑にならないように、目的のフォルダーの親からディレクトリツリーをアーカイブするのが一般的です。 big_folderが 標準* NIX階層 のどこかにある場合、最初の非標準フォルダbig_folderはそこから逸脱し、そのディレクトリツリーはそこから逸脱しています。
最後に—ここに慣れてきました— tar
アーカイブメンバーは常にa)からの相対です)それらは任意のディレクトリに復元でき、b)tar
は、アーカイブの作成時に先頭の/
を削除します。個人的には、アーカイブの解凍時に常に-Cを使用する傾向があります。
代替:cpio
(cd /my/big/folder && find . -depth -print0 | cpio -0o > myfolder.cpio)
現在のディレクトリに解凍:
cpio -id < myfolder.cpio
警告:
cd
の代わりにfind /my/big/folder
を使用すると、アーカイブには完全なパスが含まれ、抽出はそれらを追跡しようとします。