12
zip -r 1.zip /home/username/the_folder

ここで、解凍すると、解凍元のフォルダーから1.zipが作成されます。/home/username/the_folder

完全な絶対パスを指定して zip する方法はありますが、zip には、この場合は で始まるフォルダー構造のみが含まれるようにするにはどうすればよい/home/usernameですか?

そうすれば、好きなパスにいることができ、解凍すると、 ではなく が作成されthe_folderます/home/username/the_folder

4

4 に答える 4

12

次のコマンドを使用します。

cd path_under_folder_to_zip && \
zip -r 1.zip folder_to_zip >/dev/null && \
mv 1.zip my_current_path
于 2012-06-29T17:05:05.797 に答える
6

zip するファイルを指定するときは、相対パスを使用します。

cd /home/username
zip -r 1.zip ./the_folder

次に、解凍​​すると、解凍時にいるフォルダーから始まる相対パスになります。

于 2012-06-28T17:17:19.607 に答える
1

-jオプションを使用するだけで、動作しますOSX。Linuxについてはわかりません。

zip -j -r 1.zip /home/username/the_folder

于 2012-06-28T18:16:06.127 に答える
1
  1. リスト項目

これはどう:

function zipExtraFolder {
    if [ $# -lt 2 ]; then
        echo "provide at least two arguments"
        return
    fi
    folder=$2
    mkdir del
    echo cp -r `dirname $folder` del
    cd del
    echo zip -r ../$1 .
    cd -
    rm -rf del
}

上記を .bashrc でシェル関数として定義すると、いつでも使用できるようになります。使い方は以下のようになります。

zipExtraFolder 1.zip /home/username/the_folder
于 2012-06-28T17:29:41.263 に答える