この質問(kubuntu 12.04インストールからgnomeを削除するにはどうすればよいですか?)に疑問符の付いたコマンドがあります:
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity?
sudo apt-get remove --purge gnome?
彼らはどういう意味ですか?
この質問(kubuntu 12.04インストールからgnomeを削除するにはどうすればよいですか?)に疑問符の付いたコマンドがあります:
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity?
sudo apt-get remove --purge gnome?
彼らはどういう意味ですか?
回答:
それらはワイルドカード(グロビングパターン)と呼ばれます
標準のワイルドカード(グロビングパターンとも呼ばれます)は、複数のファイルを操作するためにさまざまなコマンドラインユーティリティで使用されます。
標準のワイルドカードは、ほぼすべてのコマンドで使用されます(mv、cp、rmなど)。
(question mark)
これは、任意の1文字を表すことができます。コマンドラインで「hd?」などの何かを指定した場合 GNU / Linuxは、hda、hdb、hdc、およびa〜z、0〜9のすべての文字/数字を検索します。
*(asterisk)
これは、任意の数の文字(ゼロ、つまりゼロ以上の文字を含む)を表すことができます。「cd *」を指定した場合は、「cda」、「cdrom」、「cdrecord」、および「cd」自体も含む「cd」で始まるものを使用します。「m * l」は、mill、mull、ml、およびmで始まり、lで終わるすべてのものです。
[ ] (square brackets)
範囲を指定します。m [a、o、u] mを実行すると、mam、mum、momになります。m[ad] mは、mで始まりaからdまでの任意の文字を持つ任意の文字になります。たとえば、mam、mbm、mcm、mdmが機能します。この種類のワイルドカードは、「または」関係を指定します(一致するのは1つだけです)。
{ } (curly brackets)
用語はコンマで区切られ、各用語は何かの名前またはワイルドカードでなければなりません。このワイルドカードは、ワイルドカードまたは正確な名前(「または」関係、どちらか一方)に一致するものをすべてコピーします。
たとえば、これは有効です。
cp { .doc、 .pdf}〜
これにより、.docまたは.pdfで終わるものがすべてユーザーのホームディレクトリにコピーされます。コンマ(または他の場所)の後のスペースは許可されないことに注意してください。
[!]
この構造は[]構造に似ていますが、角かっこ内の文字と一致するのではなく、[と]の間にリストされていない限り、任意の文字と一致します。これは論理否定です。たとえば、rm myfile [!9]はすべてのmyfiles *(myfiles1、myfiles2など)を削除しますが、名前の9番のファイルは削除しません。
\ (backslash)
「エスケープ」文字として使用されます。つまり、後続の特殊文字を保護します。したがって、「\」は円記号を検索します。引用符と円記号を使用する必要がある場合があります。
その他の例については、このページをご覧ください
Standard wildcards are used by nearly any command (including mv, cp, rm and many others).
=> FALSE。これらのワイルドカードはシェルによって展開され、コマンドが受け取るのはパターンではなく展開の結果(パターンに一致するファイル)です。(パターンに一致するファイルがない場合、そのパターンはコマンドに直接渡されます)
一般的に、Bashでは、a ?
は任意の文字に展開されるグロブパターンです。
例えば:
$ echo Hello1 > foo1
$ echo Hello2 > foo2
$ cat foo?
Hello1
Hello2
はに似ています*
が、*
は0文字以上に展開されますが、は1文字(任意)に?
展開されます。
ただし、特殊なケース?
では、コマンド内は明らかにタイプミスでした。
apt-get
REを理解しますgnome1
が、呼び出されたファイルが現在のディレクトリに存在する場合、シェルはapt-getがそれを見る前にそれを展開します。
apt-get remove
必要であり、シェルによるワイルドカード拡張がほとんど役に立たないことに言及する価値があります。ある範囲のパッケージを削除したい場合は、完全な正規表現を使用する必要があり、シェルがそれをグロブ(例apt-get remove 'gnome.*'
)として解釈しようとするのを防ぐために適切に引用されます。