mv コマンドは、ファイルやディレクトリの名前を変更するか、別の場所へ移動します。cp とは異なり、移動に成功した後は元のパス名を残しません。
基本構文は次のとおりです。
mv [OPTIONS] SOURCE DESTINATION
コマンドライン · レッスン 11
意図しない上書きを避けながら、ファイルやディレクトリの名前を変更し、移動する方法を学びます。
mv コマンドは、ファイルやディレクトリの名前を変更するか、別の場所へ移動します。cp とは異なり、移動に成功した後は元のパス名を残しません。
基本構文は次のとおりです。
mv [OPTIONS] SOURCE DESTINATION
現在のパス名を先、新しいパス名を後に置きます。
ファイルの名前を変更します。
$ mv oldfile newfile
同じオペランド順でディレクトリ名も変更できます。
$ mv old_directory_name new_directory_name
現在のディレクトリで cat を dog へ名前変更するコマンドはどれですか?
最後のオペランドが既存ディレクトリなら、mv はその中へコピー元を置きます。
$ mv file2 /home/pete/Documents
複数のコピー元を移動するには、すべてを先に並べ、対象ディレクトリを最後に置きます。
$ mv file_1 file_2 somedirectory/
GNU mv には、対象ディレクトリをコピー元より前に置く -t もあります。
$ mv -t somedirectory/ file_1 file_2
cp とは異なり、mv でディレクトリを移動するために再帰オプションは必要ありません。
file_1 と file_2 の両方を、既存の archive/ ディレクトリへ移動するコマンドはどれですか?
既定では、mv は既存のコピー先を置換できます。実行前にコピー元とコピー先のパス名を確認し、必要に応じて上書き方針を選びます。
-i:既存のコピー先を置換する前に確認する
$ mv -i source_file destination_directory
-n:既存のコピー先を上書きしない
$ mv -n source_file destination_directory
-b:GNU/Linux で、置換されるコピー先のバックアップを作る。既定の接尾辞は通常 ~
$ mv -b file1 directory_with_file1
-v:各移動を実行時に表示する
$ mv -v file1 file2 somedirectory/
既存のコピー先を上書きしない場合だけ、draft.txt を finished/ へ移動するコマンドはどれですか?
-r なしでディレクトリを移動できます。
$ mv project /home/pete/Documents/
シェルのワイルドカードで複数のコピー元を選べます。
$ ls *.txt
$ mv *.txt notes/
ls で一致結果を確認すると、複数のパス名を変更する前に、広すぎるパターンへ気付けます。
project/ ディレクトリを /srv/archive/ へ移動するコマンドはどれですか?
mv *.txt notes/ を実行する前に、同じワイルドカードが選ぶパス名を確認するコマンドはどれですか?
項目の移動と名前変更を練習するには、次のハンズオンラボを利用してください。
mv でファイルとディレクトリを移動、名前変更し、オプションと動作を学びます。mv、cp、rm を使い、プロジェクト構造を整理します。レッスン完了
これで既存のコピー先を保護しながら、ファイルやディレクトリの名前を変更、移動できるようになりました。
コピー元を新しいパス名より前に置く。
複数のコピー元の後に対象ディレクトリを置く。
コピー先の置換前に確認、スキップ、バックアップを選ぶ。
再帰オプションなしでディレクトリを移動する。
一括移動前にワイルドカードの一致結果を確認する。