mv(移動)
100%

コマンドライン · レッスン 11

mv(移動)

意図しない上書きを避けながら、ファイルやディレクトリの名前を変更し、移動する方法を学びます。

mv コマンドは、ファイルやディレクトリの名前を変更するか、別の場所へ移動します。cp とは異なり、移動に成功した後は元のパス名を残しません。

基本構文は次のとおりです。

mv [OPTIONS] SOURCE DESTINATION

ファイルとディレクトリの名前を変更する

現在のパス名を先、新しいパス名を後に置きます。

ファイルの名前を変更します。

$ mv oldfile newfile

同じオペランド順でディレクトリ名も変更できます。

$ mv old_directory_name new_directory_name

現在のディレクトリで catdog へ名前変更するコマンドはどれですか?

項目をディレクトリへ移動する

最後のオペランドが既存ディレクトリなら、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_1file_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.txtfinished/ へ移動するコマンドはどれですか?

ディレクトリとワイルドカードの一致結果を移動する

-r なしでディレクトリを移動できます。

$ mv project /home/pete/Documents/

シェルのワイルドカードで複数のコピー元を選べます。

$ ls *.txt
$ mv *.txt notes/

ls で一致結果を確認すると、複数のパス名を変更する前に、広すぎるパターンへ気付けます。

project/ ディレクトリを /srv/archive/ へ移動するコマンドはどれですか?

mv *.txt notes/ を実行する前に、同じワイルドカードが選ぶパス名を確認するコマンドはどれですか?

レッスン完了

mv(移動) を完了しました

これで既存のコピー先を保護しながら、ファイルやディレクトリの名前を変更、移動できるようになりました。

  • コピー元を新しいパス名より前に置く。

  • 複数のコピー元の後に対象ディレクトリを置く。

  • コピー先の置換前に確認、スキップ、バックアップを選ぶ。

  • 再帰オプションなしでディレクトリを移動する。

  • 一括移動前にワイルドカードの一致結果を確認する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
コマンドライン に戻る