こんにちは!草もちです🌵
9月になりましたね😃
夏に見れなかったし、秋の花火大会ぜったい行きたい💣🎆
9/7(土)の調布花火大会、楽しみ…!
さて、Unixコマンドの説明をはじめていきたいと思います!
今回はcdコマンドについてです!
cdコマンドの概要
cdコマンドとは??
cdコマンドは指定したディレクトリに移動するためのコマンドです。
cdとは、”change directory”の略です。
基本的な使い方
$ cd ディレクトリ名
cdの後に移動したいディレクトリを指定して、実行します。
ディレクトリの指定の仕方
説明に入る前に、ホームディレクトリやrootディレクトリなど、ディレクトリの種類と名前について不安な方は下記のリンクの「プロンプトの中身について」の箇所を復習してから先へ進みましょう!
現在のディレクトリへの移動
$ cd ./
移動してることにならないかもしれませんが、移動先に現在のディレクトリを指定する方法です。
”.(ピリオド)”でカレントディレクトリを表します。
現ユーザーのホームディレクトリに移動
$ cd
ディレクトリ名を指定せず、コマンドを実行すると、ホームディレクトリに移動します。
$ cd ~
ディレクトリ名を、~(チルダ)としてもホームディレクトリに移動できます。
相対パス、絶対パスでの移動
ここで、パスについて説明しましょう。
相対パスで移動する
相対パスについて説明しましょう。
$ cd directory_1
$ cd ./directory_1
絶対パスで移動する
絶対パスとはなんでしょう?
例えば、
$ cd /etc
と実行すると、
rootディレクトリ配下にあるetcディレクトリに移動できます。
下記のコマンドでrootディレクトリに移動できます。
”/”はrootディレクトリを表します。
$ cd /
1つ上の階層へ移動
ディレクトリ名に”.(ピリオド)”二つを指定すると、現在作業しているディレクトリの1つ上の階層へ移動できます。
現在、fileboxディレクトリで作業していて、
$ cd ..
と実行すると、1つ上の階層のdirectory_2に移動します。
2つ上の階層へ移動
同じく、現在、fileboxディレクトリで作業していて、
今度は、
$ cd ../..
と実行すると、2つ上の階層のホームディレクトリに移動します。
1つ前の階層へ移動
現在はホームディレクトリで作業しているけれど、現在のディレクトリに移動する直前にいたディレクトリ場所にまた戻りたいなぁって思ったときは、下記のコマンドを実行しましょう。
$ cd -
ディレクトリ場所を”-(ハイフン)”とすると、現在のディレクトリに移動する直前に作業していたディレクトリに移動できます。
cdコマンドのオプション
前準備
シンボリックリンクって何??
cdコマンドのオプションの説明の前に、シンボリックリンクについて説明します。
今回用意するシンボリックリンクの場所とターゲットは下記参照。
シンボリックリンクを準備
一度、ホームディレクトリに戻って、
$ cd
fileboxディレクトリに移動し、
$ cd directory_2/filebox/
fileboxディレクトリの中に
- 名前:symbol_1
- ターゲット:シンボリックリンクがあるディレクトリの1つ上のディレクトリ
であるシンボリックリンクを作成。
ln -s ../../directory_2/ symbol_1

lnコマンドについては
後日詳しく説明します。
-Lオプション
一度、ホームディレクトリに戻って、
$ cd
シンボリックリンクのsymbol_1があるfileboxディレクトリに移動してから、
$ cd directory_2/filebox/
シンボリックリンクsymbol_1に-Lオプションで移動します。
$ cd -L symbol_1
現在のディレクトリを表示するpwdコマンドを実行。
$ pwd
すると、
ホームディレクトリ名(ユーザー名)/directory_2/filebox/symol_1
と、現在位置に論理パス(見かけ上のパス)が表示されます。

pwdコマンドについても
また今度!
-Pオプション
一度、ホームディレクトリに戻って、
$ cd
シンボリックリンクのsymbol_1があるfileboxディレクトリに移動してから、
$ cd directory_2/filebox/
シンボリックリンクsymbol_1に-Pオプションで移動します。
$ cd -P symbol_1
現在のディレクトリを表示するpwdコマンドを実行。
$ pwd
すると、
ホームディレクトリ名(ユーザー名)/directory_2
-Lオプションの時と異なり、現在位置に物理パス(実際のパス)が表示されます。
記事の構造上、まだ説明してないコマンドが登場してしまって申し訳ないです…泣。
今後、各コマンドの記事が出来上がり次第、それぞれリンクを貼っていき、分かりやすい記事にしていく予定です💦
以上、cdコマンドについてでした!👋