Cd (UNIX)

cdコマンド(change directory)とは



`cd`コマンドは、UNIX系オペレーティングシステム(Linux、macOSなど)において、シェル(bash、zshなど)上で利用される、現在の作業ディレクトリ(カレントディレクトリ)を変更するためのコマンドです。

基本的な機能



`cd`コマンドは、ファイルシステム上のディレクトリ構造を移動するために使用されます。ディレクトリは、ファイルを整理・保管するための論理的な区分であり、他のディレクトリを内包することができます。

`cd`コマンドを使うことで、サブディレクトリへの移動、親ディレクトリへの移動、ルートディレクトリへの移動、あるいは指定した特定のディレクトリへの移動が可能です。

内部コマンドとしての実装



`cd`コマンドは、シェル内部コマンド(ビルトインコマンド)として実装されている点が特徴です。これは、`cd`コマンドが動作するためには、カレントディレクトリを変更する権限がシェル自身に必要であるため、外部コマンドとして実装することができないためです。

ディレクトリ構造の例



以下に、ファイルシステムの簡単な例を示します。


~/ (ホームディレクトリ)
├── text.txt
├── games/
├── documents/
└── images/


上記の例では、ユーザのホームディレクトリ(`~`で表される)の中に、`text.txt`というファイルと、`games`、`documents`、`images`という3つのサブディレクトリが存在しています。

もし、カレントディレクトリがホームディレクトリ(`~`)の状態で、`cd games`コマンドを実行した場合、カレントディレクトリは`~/games`へと移動します。この状態で`ls`コマンドを実行すると、`~/games`ディレクトリ内のファイルやディレクトリが表示されます。

`cd`コマンドの引数



`cd`コマンドは、様々な引数を受け付けることで、様々なディレクトリへ移動することができます。

引数なし、または `cd ~`


シェル変数`$HOME`に設定されたディレクトリ(通常はユーザのホームディレクトリ)に移動します。

`cd ~ユーザ名`


指定したユーザのホームディレクトリに移動します。

`cd ディレクトリ名`


指定したディレクトリに移動します。
例1:カレントディレクトリが `/user` の状態で `cd bin` と入力すると、`/user/bin` に移動します。
例2:カレントディレクトリに関わらず、`cd /bin`と入力すると、`/bin`に移動します。

`cd ..`


ひとつ上の親ディレクトリに移動します。
例:カレントディレクトリが `/user/bin/temp` の状態で `cd ..` と入力すると、`/user/bin` に移動します。

`cd ../..`


ふたつ上の親ディレクトリに移動します。
例:カレントディレクトリが `/user/bin/temp` の状態で `cd ../..` と入力すると、`/user` に移動します。

`cd -`


直前にいたディレクトリに移動します。この機能を使うことで、異なる2つのディレクトリを交互に移動して作業する際に、ディレクトリ名を毎回入力する手間を省くことができます。
例:`/user/bin`にいて、`cd /etc`で`/etc`に移動した後、`cd -`を入力すると`/user/bin`に戻り、再度`cd -`を入力すると`/etc`に戻ります。

まとめ



`cd`コマンドは、ターミナル上でディレクトリを移動するための基本であり、効率的なファイル操作に不可欠なコマンドです。このコマンドを使いこなすことで、ファイルシステムをスムーズに操作することができます。

参考



cd(1) man page(SunOS リファレンスマニュアル 1 : ユーザーコマンド) - オラクル

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。