単一のディレクトリの内容が必要な場合、簡単な方法は最初にそれに変更することです:
cd ~/my/folder
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z .
あなたが見たのは、で*
始まらないファイルの名前のリストに展開されることです.
。これが文書化された動作であり、名前がaで始まるファイル.
が非表示と呼ばれる主な理由です(もう1つは、ls
デフォルトでは表示されないためです)。
ディレクトリ内のすべてのファイルを一覧表示する便利なポータブルな方法はありません。使用できます
~/my/folder/..?* ~/my/folder/.[!.]* ~/my/folder/*
ただし、いずれかのパターンに一致するファイルがない場合、パターンは展開されないままになります。bashで、あなたが設定できるdotglob
主要な治療を避けるためにオプションを.
特別に(.
そして..
まだ試合から除外されています):
shopt -s dotglob
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/*
ksh、またはextglob
オプションを設定した場合はbash (またはオプションを設定した場合はzsh ksh_glob
)では、.
およびを除くすべてのファイルに一致するパターンを記述できます..
。
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/@(..?*|.[!.]*|*)
zshでは.
、パターンで特別に処理してはならないという簡単な方法があります。
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/*(D)
*
削除してみてください。7zはディレクトリ全体をアーカイブする必要があります。