メインコンテンツへスキップ
初級6分で読める

cdコマンドでディレクトリを自在に移動

ディレクトリ間を移動するcdコマンドの使い方を、パスの概念と共に分かりやすく解説します。

基礎編cdディレクトリナビゲーション初心者向け

🎯 この記事で学べること

  • 1
    `cd`コマンドの基本的な使い方をマスターできます
  • 2
    絶対パスと相対パスの違いを理解できます
  • 3
    特殊なディレクトリ記号(`~`、`..`、`-`)の使い方がわかります
  • 4
    スペースを含むディレクトリ名の扱い方を習得できます
  • 5
    ディレクトリ移動の効率的なテクニックが身につきます

読了時間: 約6

cdコマンドとは

こんにちは!今回は、ディレクトリ間を自由に移動できるcdコマンドについて学んでいきましょう。

cdは「change directory」の略で、まるで家の中を部屋から部屋へ移動するように、ディレクトリ(フォルダ)間を移動するためのコマンドです。Linuxを使う上で、lsと並んで最も頻繁に使うコマンドの一つですね。

基本的な使い方

まずは一番シンプルな使い方から始めましょう!

ディレクトリへの移動

現在のディレクトリから、その中にあるディレクトリに移動する基本的な方法です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

上のPlaygroundで順番にコマンドを実行してみてください。pwdで現在地を確認しながら移動すると、今どこにいるかがわかりやすいですよ!

ホームディレクトリへの移動

どこにいても、cdだけを実行すれば、自分のホームディレクトリに戻れます。迷子になったときの「家に帰る」コマンドですね!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

パスの種類

ディレクトリを指定する方法には、「絶対パス」と「相対パス」の2種類があります。これを理解すると、より効率的に移動できるようになりますよ!

絶対パス

絶対パスは、ルートディレクトリ(/)から始まる完全な住所のようなものです。

$ cd /home/user/documents

これは「日本国東京都渋谷区...」のような完全な住所を指定するのと同じですね。どこからでも確実にその場所に行けます。

相対パス

相対パスは、現在いる場所を基準にした相対的な位置指定です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

特殊なディレクトリ記号

Linuxには、ディレクトリ移動を便利にする特殊な記号があります。これらを覚えると、移動がとても楽になりますよ!

. (ドット)- 現在のディレクトリ

$ cd .    # 現在のディレクトリ(移動しない)

これは「今いる場所」を表します。あまり使わないように見えますが、スクリプトを書くときなどに重要になります。

.. (ドットドット)- 親ディレクトリ

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

~ (チルダ)- ホームディレクトリ

~は自分のホームディレクトリを表す便利な記号です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

- (ハイフン)- 直前のディレクトリ

これは「さっきいた場所」に戻る便利な機能です!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

🎮 理解度チェック

ここまでの内容を理解できているか、確認してみましょう!

Q1: 現在 /home/user/documents にいるとき、cd .. を実行するとどこに移動しますか?

現在 /home/user/documents にいるとき、cd .. を実行するとどこに移動しますか?

Q2: ホームディレクトリに移動する最も簡単なコマンドは?

ホームディレクトリに移動する最も簡単なコマンドは?

実践的な使い方

深い階層への移動

複数の階層を一度に移動することもできます。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

スペースを含むディレクトリ名

ディレクトリ名にスペースが含まれる場合は、特別な扱いが必要です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

スペースを含むディレクトリ名は、必ず引用符で囲むかバックスラッシュでエスケープしましょう。そうしないと、別々の引数として解釈されてエラーになります。

よくあるエラーと対処法

ディレクトリが存在しない

$ cd nonexistent
cd: nonexistent: No such file or directory

このエラーは、指定したディレクトリが存在しないときに表示されます。lsコマンドで確認してから移動しましょう!

権限がない

$ cd /root
cd: /root: Permission denied

アクセス権限がないディレクトリには移動できません。これはセキュリティのための仕組みです。

🎮 応用問題

Q3: 現在 /home/user/projects/web にいて、/home/user/documents に移動したいとき、最も効率的なコマンドは?

現在 /home/user/projects/web にいて、/home/user/documents に移動したいとき、最も効率的なコマンドは?

便利なテクニック

タブ補完を活用しよう

長いディレクトリ名を入力するとき、途中まで入力してTabキーを押すと、自動的に補完してくれます!

例:cd doc まで入力してTabキーを押すと、cd documents に補完されます。これを使えば、タイプミスも減って効率的ですよ!

よく使うディレクトリへのエイリアス

頻繁に使うディレクトリは、エイリアス(別名)を設定すると便利です。

# ~/.bashrcに追加
alias proj='cd ~/projects'
alias docs='cd ~/documents'

📝 まとめ

今回はcdコマンドについて学びました!

  • cdは現在のディレクトリを変更するコマンド
  • 絶対パス(/から始まる)と相対パスの2種類がある
  • ~はホーム、..は親ディレクトリ、-は直前のディレクトリ
  • 引数なしのcdでホームディレクトリに戻れる
  • スペースを含むディレクトリ名は引用符で囲む

これらの基本をマスターすれば、Linuxのファイルシステムを自由に移動できるようになります。特にcdcd ..cd ~の3つは頻繁に使うので、しっかり覚えておきましょう!

次はpwdコマンドで現在地を確認する方法を詳しく学びましょう!

練習あるのみです!上のPlaygroundで色々な移動パターンを試して、cdコマンドをマスターしましょう。