Linuxでのcdコマンドの使い方をまとめました。本記事ではRed Hat Enterprise Linux 9.6での実際の操作結果を掲載しています。
cdコマンドとは
cdコマンドはLinuxでログインしたユーザーがいるディレクトリを変更するコマンドです。
cdはChange Directory(チェンジディレクトリ)に由来します。
Linuxのファイル・ディレクトリの構造についての詳細は以下の記事でまとめています。
ディレクトリとは?
ディレクトリはウィンドウズでいうところの「フォルダ」に該当する概念です。ディレクトリ内には複数のファイルを保存しておくことができます。
Directoryという英単語は、「住所録」といった日本語訳になります。
ログインしているユーザーがどこにいるかはpwdコマンドで確認する
cdで移動する前後に、ログインしているユーザーがどこを参照しているかは「pwd」コマンドで確認することができます。
pwdはPrint Working Directory(プリント・ワーキング・ディレクトリ)の略です。
実際にRed Hat Enterprise Linux 9.6でpwdコマンドを実行してみた結果は以下です。

cdコマンドでディレクトリを移動する
以下のようにcdコマンドを使ってディレクトリを移動します。
# cd /etc
Red Hat Enterprise Linux 9.6で実際にcdコマンドを使ってディレクトリを移動してみます。
[root@RHEL96 ~]# cd /etc
[root@RHEL96 etc]#
[root@RHEL96 etc]#
[root@RHEL96 etc]#
cdコマンドの後ろは相対パスでも絶対パスでも問題ない
cdコマンドの後ろには、相対パスを記載しても絶対パスを記載しても問題ありません。
相対パスは、pwdコマンドで確認できるファイルパスを起点として考えた際のファイルパスです。
たとえば、pwdコマンドで確認してユーザーが/にいる状態で/etcに移動するには以下のようにetcの前に/をつけずにcdコマンドを実行します。
cd etc
pwdコマンドで確認して、ユーザーが/home/<ユーザー名>にいる状態で/etcに移動したい場合はetcの前に/をつけて絶対パスにする必要があります。
cd /etc
cdコマンドを使用する際、相対パスはユーザーがいる場所の配下のディレクトリに移動する際に使用する概念で、絶対パスはユーザーがいる場所とは関連のないディレクトリに移動する際に使用する概念です。
移動するディレクトリの指定はTabキーを使う
たとえば、/etcにいる状態でcdコマンドを入力した後Tabキーを押下すると以下の表記が出ます。
[root@RHEL96 etc]# cd
Display all 137 possibilities? (y or n)

yはyesを意味します。yを入力してみると、/etc配下にあるファイル、ディレクトリの一覧が確認できます。

Tabキーは入力を予測する処理を実行してくれるので、特定のディレクトリ配下にファイルやディレクトリがあるかを確認することに使用します。
今いるディレクトリより一つ上の階層にあがるにはcd ..を実行する
今自分がいるディレクトリより一つ上の階層に移動したい場合はcd ..コマンドを実行します。

ホームディレクトリに移動するにはcdコマンドだけを入力する
cdコマンドのみを入力して実行するとユーザーがホームディレクトリに移動します。
rootユーザーであれば/rootがホームディレクトリ、その他のユーザーであれば/home配下のユーザー名のディレクトリがホームディレクトリになります。
rootユーザーで/etcにいる状態でcdコマンドを実行してみます。

rootユーザーのホームディレクトリである/rootに移動しました。
root以外の一般ユーザーで/etcにいる状態でcdコマンドを実行すると/home/userrディレクトリに移動できました。※こちらのミスで/home/userではなく/home/userrディレクトリになっています。


ディレクトリの中身を確認したい場合はlsコマンドを実行する
今いるディレクトリの中身を確認するには、lsコマンドを実行します。lsコマンドに-laオプションをつけると「.」からファイル名が始まる隠しファイルも含めて表示させることが可能です。
ls -la
実際に実行してみました。Tera Termでみて、青色の文字になっているものはディレクトリになります。水色のものはシンボリックリンク(Windowsでいうショートカットのリンク)です。tmpが緑色になっているのはディレクトリに設定されているrwxなどの権限(パーミッション)設定による影響です。



