第5回Unixコマンド勉強会~cdコマンド~

こんにちは!草もちです🌵

9月になりましたね😃

夏に見れなかったし、秋の花火大会ぜったい行きたい💣🎆

9/7(土)の調布花火大会、楽しみ…!

 

さて、Unixコマンドの説明をはじめていきたいと思います!

今回はcdコマンドについてです!

cdコマンドの概要

cdコマンドとは??

cdコマンドは指定したディレクトリに移動するためのコマンドです。

cdとは、”change directory”の略です。

基本的な使い方

$ cd ディレクトリ名

cdの後に移動したいディレクトリを指定して、実行します。

ディレクトリの指定の仕方

説明に入る前に、ホームディレクトリやrootディレクトリなど、ディレクトリの種類と名前について不安な方は下記のリンクの「プロンプトの中身について」の箇所を復習してから先へ進みましょう!

現在のディレクトリへの移動

$ cd ./

移動してることにならないかもしれませんが、移動先に現在のディレクトリを指定する方法です。

”.(ピリオド)”でカレントディレクトリを表します。

現ユーザーのホームディレクトリに移動

$ cd 

ディレクトリ名を指定せず、コマンドを実行すると、ホームディレクトリに移動します。

$ cd ~

ディレクトリ名を、~(チルダ)としてもホームディレクトリに移動できます。

相対パス、絶対パスでの移動

ここで、パスについて説明しましょう。

パスって何??
パスとは、ファイルやディレクトリがどこにあるか示すものです。
例えば、

folder1/test/test.txt

このパスは、test.txtが、folder1ディレクトリ配下のtestディレクトリにあることを表しています。

相対パスで移動する

相対パスについて説明しましょう。

相対パスって何??
カレントディレクトリから見た、相対的な場所を示すものです。
例えば、
$ cd directory_1
と実行すると、カレントディレクトリ配下の”directory_1”ディレクトリに移動します。
カレントディレクトリという意味の”./”をつけても同じ意味になります。
$ cd ./directory_1

絶対パスで移動する

絶対パスとはなんでしょう?

絶対パスって何??
カレントディレクトリの場所に関係なく、rootディレクトリから見てどの位置かを示すものです。

例えば、

$ cd /etc

と実行すると、

rootディレクトリ配下にあるetcディレクトリに移動できます。

下記のコマンドでrootディレクトリに移動できます。

”/”はrootディレクトリを表します。

$ cd /

1つ上の階層へ移動

ディレクトリ名に”.(ピリオド)”二つを指定すると、現在作業しているディレクトリの1つ上の階層へ移動できます。

現在、fileboxディレクトリで作業していて、

$ cd ..

と実行すると、1つ上の階層のdirectory_2に移動します。

2つ上の階層へ移動

同じく、現在、fileboxディレクトリで作業していて、

今度は、

$ cd ../..

と実行すると、2つ上の階層のホームディレクトリに移動します。

1つ前の階層へ移動

現在はホームディレクトリで作業しているけれど、現在のディレクトリに移動する直前にいたディレクトリ場所にまた戻りたいなぁって思ったときは、下記のコマンドを実行しましょう。

$ cd -

ディレクトリ場所を”-(ハイフン)”とすると、現在のディレクトリに移動する直前に作業していたディレクトリに移動できます。

cdコマンドのオプション

前準備

シンボリックリンクって何??

cdコマンドのオプションの説明の前に、シンボリックリンクについて説明します。

シンボリックリンクって何??

  • シンボリックリンク
    Windowsのショートカットのようなもので、実体はありません。
    リンク先のファイルやディレクトリ(ターゲットという)を削除せずとも、シンボリックリンクは削除することができます。
    ターゲットを削除しても、シンボリックリンクは削除されません。

今回用意するシンボリックリンクの場所とターゲットは下記参照。

シンボリックリンクを準備

一度、ホームディレクトリに戻って、

$ cd

fileboxディレクトリに移動し、

$ cd directory_2/filebox/

fileboxディレクトリの中に

  • 名前:symbol_1
  • ターゲット:シンボリックリンクがあるディレクトリの1つ上のディレクトリ

であるシンボリックリンクを作成。

ln -s ../../directory_2/ symbol_1
草もち
草もち

lnコマンドについては

後日詳しく説明します。

-Lオプション

-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オプション

-Pオプション
移動先がシンボリックリンクだった場合、シンボリックリンクのターゲットに飛でくれるオプションです。

一度、ホームディレクトリに戻って、

$ cd

シンボリックリンクのsymbol_1があるfileboxディレクトリに移動してから、

$ cd directory_2/filebox/

シンボリックリンクsymbol_1に-Pオプションで移動します。

$ cd -P symbol_1

現在のディレクトリを表示するpwdコマンドを実行。

$ pwd

すると、

ホームディレクトリ名(ユーザー名)/directory_2

-Lオプションの時と異なり、現在位置に物理パス(実際のパス)が表示されます。

 

記事の構造上、まだ説明してないコマンドが登場してしまって申し訳ないです…泣。

今後、各コマンドの記事が出来上がり次第、それぞれリンクを貼っていき、分かりやすい記事にしていく予定です💦

以上、cdコマンドについてでした!👋

タイトルとURLをコピーしました