▼すべてを開く。
▲すべてを閉じる。
$ ls file1.txt file2.txt file3.txt file4.txt file5.txt file1.txt~ file2.txt~ file3.txt~ file4.txt~ file5.txt~
$ rm *.*~
rmコマンドでワイルドカードを使ってファイル名を「*.*~」と指定すると、拡張子が「.txt~」のファイルが削除される。
アスタリスク「*」は、0文字以上の任意の文字列を意味するメタキャラクタで、ワイルドカードと呼ばれる。シェルがこれを解釈してコマンドを実行する。
「*.*~」の意味するところは、最初の「*」はファイル名の本体がどのような名前でもよいことを意味し、「.」は必ず必要、次の「*」は拡張子もどのような名前でもよく、最後に「~」があるファイルを指定している。
つまり、「ファイル名.拡張子」型のファイルで最後にチルダ「~」が付くファイルを意味する。
目的のファイルを正しく指定するために、lsコマンドでファイルの指定方法を試してみる。
lsコマンドでファイルが正しく指定できた例$ ls *.*~ file1.txt~ file2.txt~ file3.txt~ file4.txt~ file5.txt~
$ ls IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
$ rm *.ti*
rmコマンドでファイルを「*.ti*」と指定すると、拡張子が「.tif」と「.tiff」のファイルが削除される。
ファイルを「*.tif*」と指定しても同様の結果が得られる。
$ ls IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg
ワイルドカードの「*」は、0文字以上の任意の文字を意味するため、1文字目の「*」はすべてのファイル名を指定し、後の「.ti*」は拡張子の「.ti」以降にどのような文字がきてもよいことを意味する。「*」の場合は0文字以上なので、「.ti」以降が0文字の「.ti」にも5文字の「.tiffany」にもマッチする。しかし、このディレクトリには拡張子が「.jpg」と「.tif」と「.tiff」しかないので、「.tif」と「.tiff」だけにマッチする。
目的のファイルを正しく指定するために、lsコマンドでファイルの指定方法を試してみる。
$ ls *.ti* IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif $ ls *.tif* IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
ファイルを「*.ti*」あるいは「*.tif*」と指定すると、拡張子が「.tif」と「.tiff」のファイルがすべて表示される。
$ ls IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
$ rm *.jpg
rmコマンドで削除するファイルを「*.jpg」と指定すると、拡張子が「jpg」のファイルがすべて削除される。
lsコマンドで実行結果を確認する$ ls IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
アスタリスク「*」は、0文字以上の任意の文字列を意味するメタキャラクタで、ワイルドカードと呼ばれる。シェルがこれを解釈してコマンドを実行する。
最初の「*」は、ファイル名の本体がどのような名前でもよいことを意味し、「.jpg」は拡張子を「jpg」に特定している。つまり、「ファイル名.拡張子」型のファイルで拡張子に「jpg」を持つファイルを意味する。
目的のファイルを正しく指定するために、lsコマンドでファイルの指定方法を試してみる。
$ ls *.jpg IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg
ファイルを「*.jpg」と指定すると、拡張子が「.jpg」のファイルがすべて表示される。