-r
とcommand-R
の違いは何ですかzip
?
明らかに、私はそれをグーグルしました。
さらに、さっきも言及しました。これ違いを見つけようとしましたが、明確な説明はありません。
コミュニティの誰かが私を助けることができますか?
答え1
-r
--recurse-paths
Travel the directory structure recursively
-R
--recurse-patterns
Travel the directory structure recursively starting at the current directory
言い換えれば、zip -r
特定のディレクトリの下のファイルを圧縮したいとき、そして特定のディレクトリの下のファイルを圧縮したいときに使用され、そのファイルはそのページで提供されている例に示すように、フラグの後に定義されたパターンと一致します。到着しました。また、デフォルトでは現在のディレクトリから起動されます。zip -R
-R
-R
例:
zip -r foo foo1 foo2
First zips up foo1 and then foo2, going down each directory.
zip -R foo "*.c"
In this case, all the files matching *.c in the tree starting at the current
directory are stored into a zip archive named foo.zip. Note that *.c will
match file.c, a/file.c and a/b/.c. More than one pattern can be listed as
separate arguments.
答え2
どちらも再帰的であることを知る必要がありますが、ツリー全体では-R
なくパターンを扱います。たとえば、
zip -R music "*.mp3"
次に終わるすべてのファイルと一致します.mp3
。
➜ src zip -R amr "*.css"
adding: AMR/css/jquery.treeview.css (deflated 76%)
adding: AMR/css/importexport.css (deflated 43%)
adding: AMR/css/amr_style.css (deflated 82%)
adding: AMR/css/backsite.css (deflated 49%)
➜ AMR git:(develop) ✗ zip -R amr "*.css"
adding: css/jquery.treeview.css (deflated 76%)
adding: css/importexport.css (deflated 43%)
adding: css/amr_style.css (deflated 82%)
adding: css/backsite.css (deflated 49%)
-r
-i
またはと組み合わせると許可されます-x
。
答え3
zip -r
パスが必要です(ファイル名は有効ですが追加できません-r
)。
zip -R
パターンをお楽しみください。
たとえば、名前で始まるすべてのディレクトリは、現在のディレクトリから始まり、繰り返しzip -r stuff.zip stuff*
圧縮されます。シェルは、で始まるすべてのファイル/stuff
ディレクトリに展開されます。参照する場合は、名前付きファイル/ディレクトリを探し、そのファイル/フォルダがある場合は圧縮します。*
stuff
*
zip
stuff*
一方、zip -R stuff.zip "stuff*"
現在のディレクトリのすべての名前はstuff
。引用符を削除すると、シェルは引用符に達する前に引用符を拡張するため、zip
zipはstuff
。
test
現在の作業ディレクトリに名前が付けられたディレクトリとその中に名前が付けられたファイルがある場合、ファイルstuff.txt
名を含むディレクトリの名前に関係なくパターンと一致するため、2番目の例ではそのファイルがzipに追加されます。最初の例では、ファイルがstuff
。