すべてを

▼開く

閉じる▲

特定の拡張子(複数)を持つファイルをすべて移動する

○ワイルドカード「*」を使って拡張子が「.tif」と「.tiff」のファイルを移動する

lsコマンドで移動するファイルを見る
$ ls
IMG0029.jpg   IMG0083.jpg   IMG0142.jpg  IMG0175.jpg  IMG0211.jpg
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

mvコマンドで移動するファイルと移動先ディレクトリを指定する
$ mv *.ti* ../backup

mvコマンドでファイルを「*.ti*」、ディレクトリを「 ../backup」と指定すると、拡張子が「.tif」と「.tiff」のファイルがディレクトリ「 ../backup」に移動する。
ファイルを「*.tif*」と指定しても同様の結果が得られる。

lsコマンドで実行結果を確認する
$ 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」だけにマッチする。

ファイル名を変更する

○ファイル「file1.txt」を「file1.old」に変更する

lsコマンドで変更するファイルを見る
$ ls -l
-rw-rw-r--    1 masa users         268  6月 11 17:23 file1.txt

mvコマンドで変更ファイルと新ファイル名を指定する
$ mv file1.txt file1.old

mvコマンドで、名前を変更するファイル「file1.txt」と新しい名前「file1.old」を指定すると、ファイル名を変更することができる。

lsコマンドで実行結果を確認する
$ ls -l
-rw-rw-r--    1 masa users         268  6月 11 17:23 file1.old

ディレクトリ名を変更する

○ディレクトリ「dir1」を「dir2」に変更する

lsコマンドで変更するディレクトリを見る
$ ls -l
drwxr-xr-x    2 masa     users        4096  6月  8 17:10 dir1

mvコマンドで変更ディレクトリと新ディレクトリ名を指定する
$ mv dir1 dir2

mvコマンドで、ディレクトリ「dir1」と「dir2」を指定すると、ディレクトリ名「dir1」が「dir2」に変更される。ただし、これは「dir2」が存在しない場合に限られる。「dir2」があると、mvコマンドにより、[dir1」が「dir2」に移動してしまう。

lsコマンドで実行結果を確認する
$ ls -l
drwxr-xr-x    2 masa     users        4096  6月  8 17:10 dir2

特定の拡張子を持つファイルをすべて移動する

○ワイルドカード「*」を使って拡張子が「.jpg」のファイルを移動する

lsコマンドで移動するファイルを見る
$ ls
IMG0029.jpg   IMG0083.jpg   IMG0142.jpg  IMG0175.jpg  IMG0211.jpg
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

mvコマンドで移動するファイルと移動先ディレクトリを指定する
$ mv *.jpg ../backup

mvコマンドで移動するファイルを「*.jpg」、移動先のディレクトリを「../backup」と指定すると、拡張子が「jpg」のファイルがすべてディレクトリ「../backup」に移動される。

lsコマンドで実行結果を確認する
$ ls
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

アスタリスク「*」は、0文字以上の任意の文字列を意味するメタキャラクタで、ワイルドカードと呼ばれる。シェルがこれを解釈してコマンドを実行する。

最初の「*」は、ファイル名の本体がどのような名前でもよいことを意味し、「.jpg」は拡張子を「jpg」に特定している。つまり、「ファイル名.拡張子」型のファイルで拡張子に「jpg」を持つファイルを意味する。

特定のファイル名を持つファイルをすべて移動する

○ワイルドカード「?」を使って番号が200番台のファイルを移動する

lsコマンドでディレクトリの内容を見る
$ ls
IMG0006.JPG  IMG0012.JPG  IMG0017.JPG  IMG0171.JPG  IMG0280.JPG
IMG0009.JPG  IMG0015.JPG  IMG0134.JPG  IMG0263.JPG  IMG0294.JPG

mvコマンドで移動するファイルとディレクトリを指定する
$ 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つのファイルが該当する。

ディレクトリを移動する

○ディレクトリ「dir1」を「dir2」に移動する

lsコマンドで移動するディレクトリを見る
$ ls -l
drwxr-xr-x    2 masa     users        4096  6月  8 18:03 dir1
drwxr-xr-x    2 masa     users        4096  6月  8 17:10 dir2

mvコマンドで移動するディレクトリと移動先を指定する
$ mv dir1 dir2

mvコマンドで、ディレクトリ「dir1」と「dir2」を指定すると、ディレクトリ「dir1」が「dir2」に移動する。ただし、これは「dir2」が既に存在する場合に限られる。「dir2」が存在しない場合に、ディレクトリ名「dir1」が「dir2」に変更される。

lsコマンドで実行結果を確認する
$ ls -lR
.:
合計 4
drwxr-xr-x    3 masa     users        4096  6月  8 18:03 dir2

./dir2:
合計 4
drwxr-xr-x    2 masa     users        4096  6月  8 18:03 dir1

ファイルを移動する

○ファイル「file1」をディレクトリ「dir1」に移動する

lsコマンドで移動するファイルを見る
$ 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コマンドでファイルと移動先を指定する
$ 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