CUIでよく使うコマンド 後編

CUI操作コース - CUIでよく使うコマンド 後編」の進行状況をシェアする

この動画では Mac OS を使用して解説しています。Windows ユーザーの方は使用できるコマンドやショートカットが一部異なりますのでご了承ください。

よく使うコマンド

  • mv
    • ファイル・フォルダの移動、名称変更
      • スペースの後に移動元のファイルを入力、更にスペースを入れて移動先を入力する
  • cp
    • ファイル・フォルダのコピー
      • スペースの後にコピー元ファイル・フォルダ名を入力、更にスペースを入れてコピー先を入力する
    • -r 
      • 再帰的なコピー(指定したフォルダ内のファイルを全てをコピー)
  • rm
    • ファイルの削除
    • スペースの後にファイル名を入力する
    • -r 
      • 再帰的な削除(指定したフォルダ内のファイルを全てを削除)

Windows10の場合

コマンドコマンドプロンプトPowerShell
mvmoveMove-Item
mv による名称変更renRename-Item
cpcopyCopy-Item
cp -rxcopy または robocopyCopy-Item -Recurse
rmdel または eraseRemove-Item
rm -r同上 ※同上 ※

※ コマンドプロンプトの del と erase、PowerShell の Remove-Item はオプションの指定が無くてもフォルダを削除できる

CUI でよく使うコマンド後編をお届けします。画面を共有します。

はい、後編では mv、ファイルの移動ですね、そして cp、ファイルのコピーです。そして リムーブ(rm)、ファイルの削除。この三つをご紹介していきます。

mv

では mv からやっていきましょう。mv はファイルの移動という事になります。今、デスクトップ上に4つ…5つ?1、2、3、4、5、6でした、6個のフォルダがあります。では、この megane05 フォルダを megane04 の中に移動したいと思います。

どういうことかって言うと、この megane05 のフォルダを megane04 の中に入れるというわけですね。マウス操作の場合はこれでドラッグ&ドロップしてポイって離せば終わりなんですけども、それを行うのが mv という事になります。

mv で、まず最初に動かす元のファイル、動かしたいファイルですね。megane05 フォルダを動かします。それをどこに動かすかと言うと megane04 のフォルダに動かします、という事なので、このようになります。

$ mv megane05 megane04

はい、今、(デスクトップの画面から)megane05 が消えたの分かったでしょうか?で、megane04の中を見ると、今度は megane05 が、そこの中に入ったのが分かります。このようにして動かします。

はい、では、今度、戻してみましょう。cd で一旦分かりやすくする為に、megane04 に入りますね。megane04 はい、入りました。ここには megane05 がいます。なので mv で megane05 を今度はデスクトップに動かしたいんですけども、その時は相対パスを使いましょう。一個上に動かしたいので、今よりも一個上のフォルダに megane05 を動かしてください。

$ mv megane05 ../

はい、これで動きました。そうすると megane04 の中身は消えて megane05 が、今度はまたデスクトップに出てきたというのが分かります。

このように mv「何かしら」を「どこかしらへ」という形でやっていきます。そして、その時に相対パスが使えるという事についても覚えておいてください。

名前を変更できる

もう一つ、mv には機能がありまして、名前を変更するという機能もあります。cd で test の中に入りましょうか。test の中には test.txt と demoA.txt、demoB.txt のテキストがありますけども、この test.txt を demoC.txt に変えるとすると、mv で test.txt を demoC.txt に変えるという形にすると、

$ mv test.txt demoC.txt

これは今、demoC になりましたけども、つまり元々 test.txt だったものが demoC に名前が変更されたという意味合いになります。

mv はファイルを移動させる、フォルダを移動させるのと同様に、名前を変更するという機能もあるという事について覚えておいてください。もう一度戻しておきましょう。demoC.txt を test.txt に戻すと。

$ mv demoC.txt test.txt

これで元に戻りましたね。このような機能もあるという事について覚えておきましょう。では次に行きます。

cp

今度は cp ですね。今度はファイルのコピーという事になります。基本的には同じです。 mv の場合は mv の後に「移動したいファイルを、移動したい箇所へ」でしたけども、同様に cp はコピーなので、「コピーしたいファイルを、コピーしたい場所へ」という事になります。ちょっとやってみましょうか。

では、今 cp したいので、cp で test.txt を、一個上の階層にコピーする。cp で test.txt を一個上の階層にコピーするですね。

$ cp test.txt ../

こうすると、元々 test っていうフォルダの中にあった test.txt がコピーされて、今、一つ上の階層にやって来ました。こんだけの話ですね。はいはい。コピーできてます。

もう一度やってみましょう。今度は cp で test.txt を同所にする場合には、同じ所でファイル名を変更するといいですね。

$ cp test.txt test2.txt

これは、mv の、さっきのファイル名の変更に似てますけども、ここではコピーなので test.txt を元に test2.txt  というのコピーしたという内容になっています。

じゃあ、またこれをコピーするには cp で test2.txt を、一個上の階層にコピーすると。

$ cp test2.txt ../

すると、今度またここ(デスクトップの画面)に一個、出てきましたね。中に、フォルダにコピーされたものを元に、 test の中にコピーされた test2.txt を元に、今度はこの test2.txt がデスクトップ上にコピーされたという流れになります。分かってきました?はい、このようにできます。

-r について

今はファイルだけだったんですけども、当然フォルダとしても同様のことができます。一つ上の階層に上がって、今デスクトップですね、(デスクトップ)に居ます。

いくつかのフォルダがありますので cp で、test というフォルダをコピーして test02 フォルダを作ってみましょう。

$ cp test/ test02/
cp: directory test02 does not exist

Enter するんですけども「ここではコピーができないよ」という風に言われます。これはですね、基本的に cp コマンドというのは「ファイル単位でのコピーを行うもので、これはファイルじゃなくてフォルダだから無理だよ」みたいなことを言われています。そして「フォルダも無いから無理だよ」っていうなことも言われていますね。

なんですけども、これを行う際には -r を使うことができます。-r はそのフォルダの中身を全てまとめてコピーするというオプションになりまして、再帰的な作業という風に言われています。やってみましょう。 cp -r、で test フォルダを test02 フォルダとしてコピーします。

$ cp -r test/ test02/

Enter を押すと、これは今、通りましたね。エラーと言われませんでした。で、よくよく見てみるとここの中身において test と test02 というのが増えているのがわかります。これはフォルダごとコピーされましたね。このように -r をすることで、フォルダとしてもコピーができるという事について覚えておいてください。

そして「今、何も聞かれずにどんどんファイルが増えた」という事についても覚えておいてください。これが次のリムーブ、ファイルの削除のとこで非常にキモとなってきます。では次に行きましょう。

rm

リムーブ(rm)ですね。rm も基本的に同じです。 rm コマンドの後に、削除したいファイル名を設定することで、削除が可能という内容になります。ちょっと、やってみましょうか。test2 の中において、はい、じゃあ test.txt を削除してみます。この子ですね、この子。rm test.txt という風に削除します。

$ rm test.txt

そうすると test.txt が消えました。消えたんですけども、ここで気にするところは一点。なんにも聞かれなかったという事です。

rm コマンドを使うときは慎重に…

ファイルを削除するというコマンド、rm コマンドを叩くと、何も聞かれずに有無も言わさずにファイルが削除されます。そして、そのファイルはごみ箱にも入っていません。本当に消えてなくなります。ここがとても重要なところでして、気を付けないといけないところですね。うっかり本番や「これは消してもいいだろう」と思ってるファイルだと思って消してしまったら、本当は消してはいけないファイルで、後になって大損害、大きなトラブルになったという事は、よくよく話としてあります。

ですので、rm コマンドは、本当に強力過ぎるぐらいのコマンドですから、最初の方は使わない、できるだけ使わない。使うとしても、よくよく確認してから使う、という事について覚えておいて頂ければと思います。

-r について

同様に -r でフォルダごと削除することも可能です。もう、今…例えば、

$ rm -r test02/

ってやると、フォルダごと消えるわけなんですけども「本当に消していいんですか?」っていうことです。消しちゃった場合に、もう、本当に元に、全て戻ってきませんよ、という内容になります。

rm コマンドでやってはいけない事

よくあるプログラムの笑い話で、これを、絶対パスの最上位はスラッシュ(/)のところでやってしまうと、要は全てのファイルが消えてしまうので、そのパソコン自体を動かす全部のファイルが削除されてしまって、もう、ただの、本当にただの塊になるというような内容があります。ソフトウェアが全て削除されるという事ですね。コマンドはここではお伝えしませんが、そして絶対にやらないでくださいね。そういうことがありますので本当に気を付けて、気を付けてこの rm コマンドを使って頂ければと思います。

Mac のパッケージの Homebrew の中にはこの rm コマンドを使った時にゴミ箱に入るというような仕組みに変更するという、brew の中のパッケージもありますけども、ここではまずシンプルのコマンドの役割と、どういった恐怖が、怖い事が起こるかという事を伝えしたいので、そのようにご紹介しました。

という事で、基本的にはどれも同じですね。cp にしろ、mv にしろ、その該当のファイルでそこから更に先の場所だったり、コピーする所だったりを設定することで、そのものをどこかに変更したり、コピーしたり、削除したりできるという事で覚えて頂ければと思います。

この辺りも、あの、今、デスクトップとかね、ご自身のパソコンの中でやられる分には、その決まったフォルダの中で作業するとかっていう事であれば、安全かと思います。色々と試してみていただいてですね、あの、間違ってみたりエラーしてみたりしてですね、その中でこのファイルの操作について慣れて頂ければと思います 。

戻る: CUI操作コース > CUIでよく使うコマンド