ファイルをフォルダに移動し、フォルダを圧縮します。

ファイルをフォルダに移動し、フォルダを圧縮します。

フォルダAでいくつかのファイルを個別に圧縮してから、同じディレクトリのフォルダBに移動する必要がありますが、時間がかかります。それで、圧縮するファイルをすべて新しいフォルダ(c)に移動し、圧縮してBフォルダに移動しようと思いました。いくつかのコマンドでこれを実行できますか?提案を歓迎します。

答え1

シェル型スクリプトが役に立ちます。

enter code here
  mv <file.a>...<file.n> <new_folder>
  zip -r <new_folder>
  mv new_folder.zip /destination_folder

答え2

cp -R (the path of the folder to copy) (the name of the copied file)

それから

zip -r (name your zip) (the name of the copied file)

例のシナリオ:WordPressにインストールされているプラ​​グインをコピーして圧縮したいとします(WordPressのルートフォルダにあるとき)。

私はそれをします:

cp -R wp-content/plugins plugins_backup

その後、確認するには:

ls -la

新しいディレクトリを見てみましょう。プラグインのバックアップ、圧縮します。

zip -r plugins_backup.zip plugins_backup

準備してください。 (その後、mvの答えに従ってどこにでも行きます。)

答え3

とにかく、私はZIPファイルのFUSEプラグインのサポートについて知りませんでした。これにより、ユーザーは読み取り/書き込みファイルシステムのようにZIPファイルをマウント(または作成)できます。

まず、.zipで終わる新しい(空の)ファイルを作成し、/ mntにマウントします。 ZIPファイルをフォルダ_Bに入れたいので、ここに作成します。

# rm -f /folder_B/my_files.zip
# fuse-zip /folder_B/my_files.zip /mnt

あなたの投稿は不明ですが、.ZIPファイルにフォルダ_Cが含まれており、すべてのファイルがここに常駐したいと思います。したがって、/ mntの.ZIPファイルにフォルダ_Cを作成します。

# mkdir /mnt/folder_C

次に、フォルダ_Aに移動して、圧縮したいすべてのファイルを/mnt/folder_Cに移動します。

# cd /folder_A
# mv file1 file2 ... fileN /mnt/folder_C

最後に、ZIPファイルを削除してスキャンします。

# umount /mnt
# unzip -v /folder_B/my_files.zip

複雑に見えますが、基本的な4つのステップは次のとおりです。

# fuse-zip /folder_B/my_files.zip /mnt
# mkdir /mnt/folder_C
# mv /folder_A/file1 /folder_A/file2 ... /folder_A/fileN /mnt/folder_C
# umount /mnt

私はこのアプローチが他の解決策よりも悪いことを言うのではなく、他のアプローチにすぎません。私はあなたがそれを興味深く感じることを願っています。

関連情報