この記事ではRaspberry Piでのmv
コマンドの基本的な使い方と例、オプションなどについて解説しています。
この記事でできること
mv
コマンドを使用してファイルやディレクトリを移動することができる。- ファイルやディレクトリ名を変更することができる。
- オプションを使用してより便利にコマンドを使うことができるようになる。
- エイリアスを設定してファイル上書きになるときは警告を表示するようにする。
mvコマンド
mv
コマンドでは、指定したファイルやディレクトリを移動することができます。Windowsでは画面からコピペやドラッグアンドドロップで移動すること直感的にできるのですが、コマンドライン上ではディレクトリの構造をしっかりと理解していないとなかなか最初は難しいかもしれません。
他のファイル操作系のコマンド(rm
やcp
)と比べてオプションがかなりシンプルになっている AND rm
やcp
と同じようなオプションを使用することができるのですでにほかのコマンドを使うことができていれば簡単です!
ファイルを移動する
それではコマンドの使い方です。mv [移動したいファイル名] [移動先のファイル名]
でファイルを移動することができます。移動先ディレクトリは同じディレクトリでなくてもOKです。
$ ls dir text.txt $ mv text.txt dir/ $ cd dir $ ls text.txt # ファイルがdirに移動した
現在のディレクトリ以外を指定した場合には、[移動先のファイル名]
の部分の末尾に指定したファイル名が新たなファイル名となります。何も指定しない場合(末尾がディレクトリの場合)は同じファイル名で移動します。
ディレクトリを移動する
ディレクトリを移動する場合にも、ファイルを移動するときと同じコマンドを使用します。
$ ls -R ./dir: file1 file2 $ mv dir dir2 $ ls -R ./dir2: file1 file2 # ディレクトリの中身ごと移動した
他のcp
やrm
のようなファイル操作コマンドでディレクトリとその中身を指定するには-r
オプションが必要でしたがmv
コマンドでは不要です。
ファイル名を変更するのもこのコマンドで行う
同じディレクトリ内で移動先のファイル名だけを変更するとファイル名を変更することができます。
$ ls text.txt $ mv text.txt text_backup.txt $ ls text_backup.txt # ファイル名が変更された
基本コマンドを使ってファイル名を変更するのはこの方法が一番よく使われていると思います。覚えておきましょう!
-i オプションで上書き前に確認する
-i
オプションを指定することで、移動先にすでに同じ名前のファイルが存在している場合に上書きするかどうかの確認プロンプトを挟むことができます。--interactive
を使用しても同じ効果を得ることができます。
$ ls image1.png image2.png $ mv image1.png image2.png mv: overwrite 'image2.png'? y $ ls image2.png # file1がfile2として上書き
overwrite? (上書きする?)
という確認プロンプトが表示されるので、上書きしてもOKな場合はy
やyes
を入力してエンターキーを押すと上書きが実行されます。上書きしたくない場合、そのままエンターキーを押すかn
かno
と入力します。
-n オプションで移動先にファイルが存在している場合は上書きしないようにする
-n
オプションをつけることで、移動先のファイルがすでに存在している場合は上書きをせずにそのまま終了します。スクリプト内で存在チェックの代わりにこちらを使うことで処理を簡素なものにすることができる場合があります。
$ ls file1 file2 $ mv -n file1 file2 $ ls file1 file2 # 移動元も移動先ファイルもそのまま
すでに存在している場合には、移動元のファイルはそのまま維持されます。このときもコマンドの終了コードは0
となります。ファイルの存在を検知したい場合にはやはりそれ用の処理を追加してあげる必要があります。
上書き発生時に確認を毎回挟むように設定する
上で紹介した-i
オプションをmv
コマンド実行時に必ず追加するようにします。いちいち打つのがめんどくさかったですが、こうすることでWindowsのように上書き前に確認を挟んでくれます。上書きが発生しない場合は何も表示しません。
コマンドのショートカットのようなもの(エイリアス
)を作成するために、ホームディレクトリにある.bashrc
というファイルを修正します。
以下の記事でもエイリアスについて解説しています。興味があったらこの記事の後に読んでみてください!
まずはホームディレクトリに移動して.bashrc
ファイルをエディタで開きます。vim
を使っていきますがnano
やemacs
でも大丈夫です。Raspberry Piの場合(Raspbianの場合)最初からvim
は使用可能です。
$ cd # ホームディレクトリに移動 $ vim .bashrc
開いたファイルの末尾にmv
をmv -i
にするエイリアスを作成します。vim
の場合Shift + G
でファイルの末尾に移動することができます。
移動できたらi
で編集モードに入り、以下の内容を追記します。
alias mv='mv -i'
追記できたらEsc
で入力モードから抜け、!wq
で保存・Vimの終了をします。
.bashrc
ファイルの変更は次回ログイン以降、もしくは. .bashrc
を実行することで有効となります。
参考
以下のサイトの情報を引用・参考にしました。