0

特定のファイルとディレクトリを圧縮する必要があります。それらが /root/project に配置されているとします。問題は、特定の名前(name.tar.gz)のgzip-tarball形式で「ルート」ディレクトリに圧縮する必要があることです。つまり、.tar.gzすべてのファイルを開くとすぐに圧縮したいディレクトリがあります。

次のコマンドを使用してみました。

tar czfv name.tar.gz /root/project
tar czfv name.tar.gz /root/project/*

しかし、その後、サブ構造全体が圧縮されます(つまり、.tar.gzを開くと、ルート/プロジェクトのディレクトリをナビゲートする必要があります..これは必要ありません。「/」で開いた直後にファイルが必要です私は考えます)

私は自分自身を説明したことを願っています...私の下手な英語ですみません、事前に感謝します!

4

2 に答える 2

2

GNU tar を使用している場合は、次のコマンドを使用できます。

tar -C /root/project -zcvf /root/name.tar.gz .

これにより、ディレクトリをアーカイブに追加する前-Cに、tar がディレクトリに変更されます。アーカイブの宛先ディレクトリが、アーカイブするディレクトリ (/root/project) にないことを確認してください。この例では、アーカイブを /root に作成します。/root/project.

于 2012-04-14T14:42:33.183 に答える
0

tarball 内のすべてのファイル名に接頭辞を付けたい場合project/(これは多くの場合推奨されます)、次のようにします。

(cd /root && tar czvf `pwd`/name.tar.gz project)

プレフィックスがまったく必要ない場合は、

(cd /root/project && tar czvf `pwd`/name.tar.gz .)

(は、実行pwd前に現在の作業ディレクトリをキャプチャしcdます。括弧はサブシェルでコマンドを実行するため、現在のシェルは同じディレクトリに留まります。)

于 2012-04-14T10:58:32.530 に答える