The Rust Programming Language 日本語版をド丁寧に進める(ドラフト置き場)
Rust 公式のチュートリアルを、パソコンちょっと触った程度の知識から見た視点で進めつつ、まとめていくという活動をしています。ここは作成ページのドラフト置き場です。完了したと思ったものは非表示にします。
title: "ex1.1 コマンド / cd 自由に移動しよう"
基本のコマンドを知る
1.3章までは cd
mkdir
ls
といったコマンドを使ってきました。これらはLinux / macOSではとても基本的なコマンドです。また、WindowsのPowerShellでも同じような機能として使えるように別名設定(エイリアス)がはじめから行われていました。
これまでのところ、たとえば hello_cargo
といったフォルダを作成して、その中に入っていくという操作は行いましたが、逆にその中から出ていく操作はしていませんでした。こまったら端末 / ターミナルごと閉じて開き直すという強引な作戦だったわけです。
このままでは困りますので、コンピュータ内を自由に移動できるよう、更に cd
コマンドを突き詰めていきましょう。
.
..
の意味を知る
フォルダの中にある実行ファイルを直接指定する場合は ./main
のような方法を取りました。いきなり main
と書いてしまうと、OSがコマンドと誤認してしまうため、「今いるフォルダの中にある」という意味の .
を使用したわけです。この例で仮に hello_cargo
フォルダの中にいたのなら、この .
は /home/<ユーザ名>/hello_cargo
と同じ意味になります。
これに /
を付けることで /home/<ユーザ名>/hello_cargo/
となり、その後に main.rs
を付けるので、結果として
$ /home/<ユーザ名>/hello_cargo/main.rs
というコマンドラインを打ち込んだのと同じ操作をしたことになります。
こうした絶対パスの指定を毎回やるのは大変です。また、.
は相対パスですので、自分が今見ているフォルダによって変わってしまいます。やはり、狙ったフォルダにいつでも移動できなければ困ります。
まずは ..
の意味を把握しましょう。これは「ひとつ上のフォルダ」という意味になります。Windowsなどのウィンドウでも、フォルダをダブルクリックした後に「ひとつ上に戻る」ボタンを押しますが、あれと同じ働きをします。
たとえば、hello_cargo
フォルダの上には、The Rust Programming Language の場合だと projects
フォルダがあるはずです。hello_cargo
から出て、projects
に戻りたい場合は、以下のようにコマンドを打ちます。
$ cd ../
または
$ cd ..
これだけです。ですが、深いフォルダの中にいるときには、何回も cd
コマンドを打つのは面倒です。なので、一発でホームに戻れる方法があります。 ~
はホームディレクトリを意味する記号でしたね。
$ cd ~
とはいえ、いつもホームに飛ぶとは限りません。「3つくらい上に戻りたい」とか、「2つ上に戻って、その中にある別のフォルダに移動したい」なんてこともあります。1回ずつ cd ../
などを打って1段階ずつ移動してもいいのですが、慣れてきたら次のようなものを試してみましょう。hello_cargo
→ projects
→ ホームを1回のコマンドで移動します。
$ cd ../../
../
が2回続いてますね。なので、「1個上に戻って」さらにまた「1個上に戻って」ホームディレクトリにたどり着くわけです。
hello_cargo
フォルダと同じ階層には hello_world
がありました。ここで、hello_cargo
の中にいるとき、1回のコマンドで hello_world
まで移動することもできます。
$ cd ../hello_world/
これを直訳すると、「1個上に戻って」そこで「hello_world
に入って」となります。ちょっと不思議な感じがしますが、慣れてくればそんなに難しいことではありません。このようにして、相対パスを駆使すると素早く様々なフォルダまで移動できます。これでもう、端末やターミナルを終了する強引な作戦は不要です!!