Linux cdコマンド入門
ディレクトリを移動する
cdコマンドの基本的な使い方から、特殊なディレクトリ移動や効率的なショートカットまで解説します。
こんな人向けの記事です
- Linuxのディレクトリ移動を基礎から学びたい方
- 絶対パスと相対パスの違いを理解したい方
- 効率的なディレクトリ移動のテクニックを知りたい方
Step 1cdコマンドの基本
cdコマンドは「change directory」の略で、作業ディレクトリを移動するための最も基本的なコマンドです。
ターミナル
# ホームディレクトリに移動
cd
cd ~
cd $HOME
# 一つ上の親ディレクトリに移動
cd ..
# 複数階層上に移動
cd ../..
# ルートディレクトリに移動
cd /
# 現在のディレクトリを確認
pwd
覚えておくべき特殊記号: ~=ホームディレクトリ、..=親ディレクトリ、.=現在のディレクトリ、-=前回のディレクトリ
Step 2絶対パスと相対パス
ディレクトリの指定方法には「絶対パス」と「相対パス」の2種類があります。
ターミナル
# 絶対パスで移動(/から始まるフルパス)
cd /home/user/Documents
cd /var/log
# 相対パスで移動(現在地からの相対的なパス)
cd Documents
cd ../Pictures
cd ../../etc
# 移動例
cd /var/log # /var/logに移動
cd ../spool # /var/spoolに移動
cd # ホームディレクトリに移動
| パスの種類 | 説明 | 例 |
|---|---|---|
| 絶対パス | /から始まるフルパス | /home/user/Documents |
| 相対パス | 現在地からの相対的なパス | Documents、../Pictures |
| 特殊パス | 記号を使ったショートカット | ~、..、- |
Step 3特殊なディレクトリ移動
cdコマンドには、効率的にディレクトリを移動するための便利な機能があります。
ターミナル
# 前回いたディレクトリに戻る
cd /var/log # /var/logに移動
cd /home/user # /home/userに移動
cd - # /var/logに戻る
cd - # /home/userに戻る
# 他のユーザーのホームディレクトリに移動
cd ~user # userのホームディレクトリ
cd ~/Documents # 自分のDocumentsディレクトリ
# 空白を含むディレクトリ名
cd "My Documents"
cd 'My Photos'
cd My\ Videos # バックスラッシュでエスケープ
注意: ディレクトリ名に空白が含まれる場合は、引用符で囲むかバックスラッシュでエスケープが必要です。忘れるとエラーになります。
Step 4高度な使用法
シンボリックリンクの処理やサブシェルでの一時的な移動など、高度なテクニックを紹介します。
ターミナル
# シンボリックリンクの処理
cd -L /path/to/link # リンクを辿って移動(デフォルト)
cd -P /path/to/link # 物理的なパスに移動
# 一時的な移動(サブシェル使用)
(cd /tmp && ls -la) # /tmpで実行後、元のディレクトリに戻る
# pushd/popdでディレクトリスタック管理
pushd /var/log # スタックにプッシュして移動
pushd /etc # さらにスタックにプッシュ
popd # /var/logに戻る
popd # 元のディレクトリに戻る
# CDPATHの活用
export CDPATH=.:$HOME:$HOME/projects
cd project1 # CDPATHから自動検索
| オプション | 説明 |
|---|---|
-L | シンボリックリンクを辿る(デフォルト) |
-P | 物理的なディレクトリ構造を使用 |
- | 前回のディレクトリに移動($OLDPWD) |
Step 5便利なエイリアスと関数
よく使うディレクトリ移動をエイリアスや関数として登録しておくと便利です。
ターミナル
# ~/.bashrc に追加するエイリアス
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
# よく使うディレクトリへのショートカット
alias proj='cd ~/projects'
alias log='cd /var/log'
# ディレクトリ作成と同時に移動する関数
mkcd() {
mkdir -p "$1" && cd "$1"
}
# 使用例
mkcd new-project # new-projectを作成して移動
TAB補完を活用しよう: パスを途中まで入力してTabキーを押すと自動補完されます。長いパスを入力する手間を大幅に削減できます。