ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
cd コマンドとは
cd はシェルのカレントディレクトリ(現在の作業位置)を変更するコマンドです。change directory の略で、bash / zsh / sh いずれにも組み込みコマンドとして用意されています。外部コマンドではないため which cd しても見つかりません。
基本構文
cd [オプション] [移動先]
使い方バリエーション
| コマンド | 動作 |
|---|---|
cd /etc | 絶対パスで /etc に移動 |
cd src | カレント直下の src に移動(相対パス) |
cd .. | 親ディレクトリに移動 |
cd ../.. | 2 階層上に移動 |
cd | ホームディレクトリ ($HOME) に戻る |
cd ~ | 同上(ホーム) |
cd ~user | user のホームディレクトリに移動 |
cd - | 直前のディレクトリに戻る |
絶対パスと相対パス
移動先の指定には 2 種類あります。
| 種別 | 書き方 | 例 |
|---|---|---|
| 絶対パス | / から始まる | cd /var/log |
| 相対パス | カレントからの相対位置 | cd ../config |
# /home/user にいるとき
cd /var/log # → /var/log(絶対)
cd projects/cwiki # → /home/user/projects/cwiki(相対)
cd ../../tmp # → /tmp(相対、2階層上 + tmp)
便利な特殊記号
| 記号 | 意味 |
|---|---|
. | カレントディレクトリ |
.. | 親ディレクトリ |
~ | 自分のホームディレクトリ ($HOME) |
~user | 指定ユーザのホーム |
- | 直前にいたディレクトリ ($OLDPWD) |
cd - で前のディレクトリに戻る
cd - は直前にいたディレクトリに戻る非常に便利な機能です。深い階層と元の場所を行き来したいときに重宝します。
$ pwd
/home/user
$ cd /var/log/nginx
$ pwd
/var/log/nginx
$ cd -
/home/user
$ pwd
/home/user
シンボリックリンクの扱い(-P / -L)
シンボリックリンクを介して移動する場合、見た目のパスと実体のパスが食い違うことがあります。-L(デフォルト)はリンク先のパスをそのまま使い、-P は実体に解決します。
$ ln -s /var/log /tmp/link
$ cd /tmp/link
$ pwd # /tmp/link(見た目)
$ pwd -P # /var/log(実体)
$ cd -P /tmp/link
$ pwd # /var/log
スクリプトで安定したパスが欲しいときは cd -P を使うのが安全です。
移動できないときの代表的なエラー
| エラー | 原因 |
|---|---|
| No such file or directory | 指定したパスが存在しない(スペルミス・大文字小文字違い) |
| Not a directory | 指定先がファイルになっている |
| Permission denied | そのディレクトリへの実行(x)権限がない |
pushd / popd でスタック管理
頻繁にディレクトリを行き来する場合、pushd / popd でスタックに積みながら移動すると効率的です。
pushd /var/log # スタックに積みながら移動
pushd /etc
dirs # スタック内容を表示
popd # 直前の場所に戻る
CDPATH で「ジャンプ先」を設定する
環境変数 CDPATH に検索パスを設定しておくと、現在地に関係なく登録ディレクトリ配下にジャンプできます。PATH の cd 版と考えると分かりやすいです。
export CDPATH=".:$HOME:/var/log:/etc"
cd nginx # /var/log/nginx に飛べる(カレントになくても)
cd projects # $HOME/projects に飛べる
シェル設定ファイル (~/.bashrc / ~/.zshrc) に書いておくとログイン時から有効になります。スクリプト内では予期せぬ移動を引き起こす場合があるので対話シェルだけに絞るのが安全です。
環境変数 PWD / OLDPWD
シェルは現在のディレクトリを $PWD、直前のディレクトリを $OLDPWD として保持しています。スクリプトから現在地を取りたい時は pwd コマンドか $PWD を使います。
echo $PWD # /home/user/projects
echo $OLDPWD # 直前にいた場所
# スクリプトで「スクリプトのある場所」に移動する典型イディオム
cd "$(dirname "$0")"
スクリプト内で使う注意点
シェルスクリプトの中で cd に失敗してもそのまま処理が続いてしまうと、意図しない場所でファイル削除などの事故につながります。cd の後ろに || でエラーチェックを付けるのが定石です。
#!/bin/bash
set -e # エラーで即終了
cd /var/www/html || { echo "cd failed"; exit 1; }
rm -rf cache/*
もう一つの定番が サブシェル内 cd です。(...) で囲むとその中だけ移動するので、スクリプト本体のカレントを汚しません。
# サブシェルで一時的に移動して作業
(
cd /tmp/work
tar czf archive.tgz *.log
)
# ここでは元のカレントに戻っている
Windows コマンドプロンプトとの違い
Windows の cmd.exe にも cd はありますが、Linux とは挙動が少し違います。Windows / WSL を行き来する人は混乱しがちなので押さえておきます。
| 挙動 | Linux (bash) | Windows (cmd) |
|---|---|---|
引数なし cd | ホームに戻る | 現在のディレクトリを表示 |
| ドライブを跨いだ移動 | 該当なし | cd だけでは不可。cd /d または D: など |
| パス区切り | スラッシュ / | バックスラッシュ \(スラッシュも可) |
| 環境変数 OLDPWD | あり (cd -) | なし |
PowerShell では Set-Location が正式名で、cd はそのエイリアスです。動作は bash に近く、cd - も利きます。
関連
- コマンド一覧 — 親カテゴリ
- Linux — OS トップ
- pwd — 現在のディレクトリを表示
- ls — ディレクトリ内のファイル一覧
- pushd / popd / dirs — ディレクトリスタック
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?