今回はファイルの移動、リネームです。コマンドに慣れていない人はラズベリーパイ上または仮想環境上で実行した方がよいでしょう。ファイル操作を行うコマンドに慣れたら実機、本番環境で実行してください。

あと、注意事項としてファイルの移動やリネームが可能なのは権限がある場合だけです。つまり自分のファイルではなく他人のファイルは権限がない限り操作できません。以後説明するコマンドでうまく処理されない場合は自分にファイル操作の権限があるかどうか確認してみてください。UNIX系およびMac版のPowerShellではls -lとすると権限(パーミッション)、所有者・グループ、日付、ファイル名の情報が一覧で表示されます。Windows版のPowerShellでは、そのままlsと入力するかGet-ChildItemと入力すると詳細情報が表示されます。

ファイルの移動

 まずはファイルの移動からです。ファイルを移動させるコマンドはmvです。これは移動を意味するmoveの単語を省略したものです。大昔はとにかくコンピュータで使えるメモリ、リソースが大変少なかったので、コマンド名に限らず、とにかく省略されています。最近では使えるメモリなどが多いのでコマンドのオプションは省略せずに書けたりします。ちなみにコマンド名を省略する場合は英語の母音を削除するのがほとんどです。

それはよしとして本題に戻ります。まず、わかりやすくするためにデスクトップ上にディレクトリを二つ作成します。testとdataです。以下のようにコマンドを入力すると作成できます。コマンドではなくGUIで作成しても構いません。

mkdir ~/Desktop/test
mkdir ~/Desktop/data

次に移動させるファイルをデスクトップに1つ作成します。これまでのようにechoコマンドとリダイレクトで作成しても構いません。テキストエディタで作成しても、どこからから画像ファイルを1つデスクトップにコピーして用意しても構いません。すでにデスクトップにあるファイルを移動させたいなら、それを使っても構いません。その場合は移動させるファイル名を適宜読み替えてコマンドを入力してください。
とりあえず手軽なところでtouchコマンドで1.txtという名前のファイルを作成します。以下のように入力します。

touch ~/Desktop/1.txt

PowerShellの場合はNew-Itemを使ってファイルを作成します。なお、Mac版のPowerShellでは上記のtouchコマンドでもファイルを作成できます。

New-Item -type file ~/Desktop/1.txt

それでは、この1.txtファイルをtestディレクトリに移動させます。以下のようにコマンドを入力します。

mv ~/Desktop/1.txt ~/Desktop/test/

PowerShellでも同じコマンドで動作します。これはmvがMove-Itemのエイリアスとして定義されているからです。以下のように入力しても同じ結果になります。

Move-Item ~/Desktop/1.txt ~/Desktop/test/

mvの後に移動させるファイル名を指定します。その後に半角空白を入れます。その後に移動先のディレクトリ名を指定します。ちなみにTabキーを押してパスが補完される際、ディレクトリなら自動的に/が末尾につきます。これはシェルの補完機能です(使用環境によっては補完機能が動作しない場合もあります)。

コマンドを実行したら、本当にファイルが移動したか確認しましょう。GUIならデスクトップから1.txtファイルが消えているはずです。そしてtestディレクトリを開けば移動させたファイルが確認できます。なければ失敗してますので、コマンドで指定したファイル名とディレクトリ名を確認してください。