GNU/Linux >> Linux の 問題 >  >> Linux

すべてのサブディレクトリ内のすべてのファイルを bash の 1 つの圧縮ファイルに gzip する方法

コマンド ラインで再帰的に機能する圧縮方法はたくさんあります。最終的な対象者が誰であるかを知るのに役立ちます。

つまり、Windows を実行しているユーザーに送信する場合は、おそらく zip が最適です:

zip -r file.zip folder_to_zip

unzip filenname.zip

他の Linux ユーザーやあなたのセルフ tar はすばらしい

tar -cvzf filename.tar.gz folder

tar -cvjf filename.tar.bz2 folder  # even more compression

#change the -c to -x to above to extract

tar と、tar がどのように展開/抽出されるかについて注意する必要があります。たとえば、実行した場合

cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd


pwd

/home/私のユーザー名

tar -xvzf passwd.tar.gz

これにより、/home/myusername/etc/passwd が作成されます

tar のすべてのバージョンがこれを行うかどうかは不明:

 Removing leading `/' from member names

@amitchhajer の投稿は GNU tar で機能します。誰かがこの投稿を見つけて、NON GNU で作業する必要がある場合 システム、彼らはこれを行うことができます:

tar cvf - folderToCompress | gzip > compressFileName

アーカイブを展開するには:

zcat compressFileName | tar xvf -

tar -zcvf compressFileName.tar.gz folderToCompress

folderToCompress 内のすべてが compressFileName に移動します

編集:レビューとコメントの後、拡張子のない圧縮ファイル名と混同される可能性があることに気付きました。必要に応じて、compressFileName で .tar.gz 拡張子を使用できます (推奨されているとおり)。


Linux
  1. Linuxで圧縮ファイルの内容を表示する方法

  2. Linuxで1つの特定のファイルを除いてフォルダ内のすべてのファイルを削除する方法

  3. シェルスクリプトBashでサブストリングをチェックする方法は?

  1. bash のすべてのサブディレクトリにあるすべてのファイルを gzip する方法

  2. すべてのサブディレクトリで特定のファイル タイプを tar する方法は?

  3. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

  1. 解決方法:stdin:gzip形式ではありません

  2. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  3. 特定のファイルを1つのファイルに連結しますか?