▼すべてを開く。
▲すべてを閉じる。
$ ls -lR .: 合計 8 drwxr-xr-x 2 masa users 4096 10月 9 18:42 backup -rw-rw-r-- 1 masa users 256 5月 16 18:04 file1 ./backup: 合計 4 -rw-r--r-- 1 masa users 256 10月 9 18:31 file1
$ mv -u file1 backup/
mvコマンドで-uオプション、移動するファイル「file1」、移動先のディレクトリ「backup/」を指定すると、「file1」がディレクトリ「backup/」に移動する。この時、「backup/」に元の「file1」よりもタイムスタンプの新しいファイルがあれば上書きされない。
lsコマンドで実行結果を確認する$ ls -lR .: 合計 8 drwxr-xr-x 2 masa users 4096 10月 9 18:42 backup -rw-rw-r-- 1 masa users 256 5月 16 18:04 file1 ./backup: 合計 4 -rw-r--r-- 1 masa users 256 10月 9 18:31 file1
$ mv -i file1 dir1 mv: `dir1/file1' を上書きしてもよろしいですか(yes/no)? y
mvコマンドで-iオプションを指定し、移動するファイル「file1」、移動先のディレクトリ「dir1」を指定すると、移動先に同じファイルが存在した場合に上書きの可否を問い合わせてくる。上書きしてもよい場合は「y」、上書きしない場合は「n」を入力してリターンを押す。
$ ls -l 合計 8 drwxr-xr-x 2 masa users 4096 6月 8 17:09 dir1 -rw-r--r-- 1 masa users 256 6月 8 17:08 file1
$ mv file1 dir1
mvコマンドで移動するファイル「file1」、移動先のディレクトリ「dir1」を指定すると、「file1」がディレクトリ「dir1」に移動する。この時、「dir1」に「file1」が存在しても、何の警告も無く上書きされる。
lsコマンドで実行結果を確認する$ ls -lR .: 合計 4 drwxr-xr-x 2 masa users 4096 6月 8 17:10 dir1 ./dir1: 合計 4 -rw-r--r-- 1 masa users 256 6月 8 17:08 file1
$ ls -l 合計 8 drwxr-xr-x 2 masa users 4096 6月 8 17:09 dir1 -rw-r--r-- 1 masa users 256 6月 8 17:08 file1
$ mv -f file1 dir1
mvコマンドで-fオプションを指定し、移動するファイル「file1」、移動先のディレクトリ「dir1」を指定すると、移動先に同じファイルが存在しても、そのまま上書きする。
lsコマンドで実行結果を確認する$ ls -lR .: 合計 4 drwxr-xr-x 2 masa users 4096 6月 8 17:10 dir1 ./dir1: 合計 4 -rw-r--r-- 1 masa users 256 6月 8 17:08 file1
$ ls IMG0006.JPG IMG0012.JPG IMG0017.JPG IMG0171.JPG IMG0280.JPG IMG0009.JPG IMG0015.JPG IMG0134.JPG IMG0263.JPG IMG0294.JPG
$ mv IMG02??.JPG ../backup
mvコマンドで、移動するファイルを「IMG02??.JPG」移動先のディレクトリを「../backup」と指定すると、200番台のファイルがディレクトリ「../backup」に移動する。
lsコマンドで実行結果を確認する$ ls ../backup IMG0263.JPG IMG0280.JPG IMG0294.JPG
ワイルドカードの「?」は、任意の1文字を意味するので、「IMG02??.JPG」は「IMG02」の後の「??」の場所に任意の文字が2文字あるファイルを意味する。であるから、「IMG0200.JPG」のように数字が入ってもよいし「IMG02AB.JPG」のようにアルファベットが入ってもよい。このディレクトリにあるファイルでは、「IMG0263.JPG」「IMG0280.JPG」「IMG0294.JPG」の3つのファイルが該当する。
$ ls IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
$ mv *.ti* ../backup
mvコマンドでファイルを「*.ti*」、ディレクトリを「 ../backup」と指定すると、拡張子が「.tif」と「.tiff」のファイルがディレクトリ「 ../backup」に移動する。
ファイルを「*.tif*」と指定しても同様の結果が得られる。
$ ls ../backup IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
ワイルドカードの「*」は、0文字以上の任意の文字を意味するため、1文字目の「*」はすべてのファイル名を指定し、後の「.ti*」は拡張子の「.ti」以降にどのような文字がきてもよいことを意味する。「*」の場合は0文字以上なので、「.ti」以降が0文字の「.ti」にも5文字の「.tiffany」にもマッチする。しかし、このディレクトリには拡張子が「.jpg」と「.tif」と「.tiff」しかないので、「.tif」と「.tiff」だけにマッチする。
$ ls IMG0029.jpg IMG0083.jpg IMG0142.jpg IMG0175.jpg IMG0211.jpg IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
$ mv *.jpg ../backup
mvコマンドで移動するファイルを「*.jpg」、移動先のディレクトリを「../backup」と指定すると、拡張子が「jpg」のファイルがすべてディレクトリ「../backup」に移動される。
lsコマンドで実行結果を確認する$ ls IMG0029.tiff IMG0083.tiff IMG0142.tif IMG0175.tif IMG0211.tif
アスタリスク「*」は、0文字以上の任意の文字列を意味するメタキャラクタで、ワイルドカードと呼ばれる。シェルがこれを解釈してコマンドを実行する。
最初の「*」は、ファイル名の本体がどのような名前でもよいことを意味し、「.jpg」は拡張子を「jpg」に特定している。つまり、「ファイル名.拡張子」型のファイルで拡張子に「jpg」を持つファイルを意味する。