コマンド「gzip」でアーカイブを作成します


12

コマンドgzip(tarではなく、必要です)でアーカイブを作成する必要があります。アーカイブには、別のディレクトリ(/ etcなど)のファイルが含まれている必要があります。コマンドを使ってみた

gzip myetc.gz /etc

しかし、それはうまくいきませんでした。


3
gzipはありませんzip。それらは異なる働きをする異なるツールです。
roaima 2016年

3
gzipストリームコンプレッサーです。ファイルやディレクトリについては知りません。

3
なぜtarを使用できないのですか?
marcelm

tarがない場合、cpioはありますか?
Rup

2
アーカイブを作成したいのですが、tarは使用できません。「tar」という単語の一部が「ARchive」に由来することはご存じでしょう。つまり、それはその存在理由です。「tar」をアーカイブ作成プロセスから除外したいのは誰ですか?基本的に、ハンマーでねじを打ち込む方法を求めています(ドライバーではなく、必要です)。
マイクS

回答:


6

gzipは、単一のファイルまたはストリーム(gzipにパイプされたデータ)でのみ機能します。したがって、最初にtarのように1つのファイルを生成する必要があり、次にそれをgzipできます。もう1つのオプションは、個々のファイルをすべてgzip圧縮してから、それを1つのファイルにtarすることです。

これらのソリューションはどちらも愚かであり、使用すべきではありません。組み込みの圧縮オプションでtarを使用し、すべてを1つのコマンドで実行する必要があります。


1
なぜ最初の方法は愚かであるべきですか?これが通常の生産方法.tar.gzです...
rexkogitans 2016年

まあ愚かなことはおそらく正しい用語ではありませんが、cオプションでtarを使用できる場合は、gzipを使用する代わりに。それはもっと簡単で、tarをgzipにパイプすることには利点があるとは思いません。
SPRBRN 2016年

Gzipは-rオプションで複数のファイルに対して機能しますが、フォルダー内のファイルごとに新しい.gzを作成します。
Luciano Andress Martini

1
@rexkogitans-それは愚かであるのと同じようにcat filename | grep blah愚かです。また、大きな暫定スペースを使用するため、最適とは言えません。私がそれを不当で、最適ではなく、一般に単に醜いだけの愚かさで呼ぶかどうかはわかりません。まあ、愚かでも動作します。
マイクS

ああ、今私は何がそんなに愚かであるかを見ます。いいえ、 `tar -czf`は無意味なを含まないので行く方法fork()です。
rexkogitans

13

gzipディレクトリではなくファイルで機能します。したがって、使用する必要があるディレクトリのアーカイブを作成するにはtar(複数のファイルから単一のtarballを作成します):

tar cvf myetc.tar /etc

または、gzipされたアーカイブの場合:

tar cvzf myetc.tar.gz /etc

2
「-z」オプションのない「古代」のシステムがcd / ; tar cf - ./etc | gzip -c - > myetc.tar.gz あれば、次のことができます。 xvf、/ etcに出力して上書きします... [またはその場合は「pax」を使用する必要があります])。逆のコマンド、つまり「/ somewhere」の下にそのアーカイブを抽出するには: cd /somewhere ; gzip -dc < /the/location/of/myetc.tar.gz | tar xvf -
Olivier Dulac '23年

1

使用可能なtarが本当にない場合は、gzipを使用してオプション(-r-再帰的に)を使用してディレクトリのバックアップを作成できますが、期待どおりではない可能性があります...

元のディレクトリをそのままにしたい場合は、最初にディレクトリを別の名前にコピーする必要があります。

#cp -a directory my_gzip_alone_backup

次に、ディレクトリ上のすべてのファイルを再帰的に圧縮します(-r)。

#gzip -r my_gzip_alone_backup

次に、my-gzip-alone-backupの内部を見てみましょう。期待どおりに単一のファイルmyfile.gzはありませんが、多くのgzipファイルが再帰的に存在します。しかし、シンボリックリンクのため、etcでそれを行うのは良くありません...

ディレクトリを解凍するには、同じロジックをgunzipで適用できます。

別の方法は、ディレクトリを単一のファイルに変換することです。これを行うためのtarがなくても、この投稿で示されているようにdd utilがある場合:https : //askubuntu.com/questions/626634/converting-a -file-to-directory

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.