CD / チェンジディレクトリ
このコマンドはディレクトリを移動するときに用います。
基本
~/ホームディレクトリにあるabcというディレクトリにアクセスする場合はこの様になります。
# /home/user から /home/user/abcにアクセスしたい
user@machine:~$ cd abc
user@machine:~/abc$ pwd
/home/user/abc
/home/user/abcに移動できていますね。
では次はホームディレクトリからドキュメントにあるtxtディレクトリに行くとします。
# /home/user から /home/user/Documents/testにアクセスしたい
user@machine:~$ cd Documents/text
user@machine:~/Documents/text$ pwd
/home/user/Documents/text
/home/user/Documents/txtに移動できていますね。ディレクトリの中のディレクトリに行くときは
/で区切ります。
ホームディレクトリに移動
上で/home/user/Documents/txtに移動しました。
ここから~$ホームディレクトリに戻ろうと思います。
方法1 "~/" を使う
# /home/user/Documents/txt から /home/userに
user@machine: ~/Documents/text$ cd ~/
user@machine:~$ pwd
/home/user
/home/userに移動できていますね。方法2 "../../" を使う
# /home/user/Documents/txt から /home/userに
user@machine: ~/Documents/text$ cd ../../
user@machine:~$ pwd
/home/user
/home/userに移動できていますね。"~/" と "../../" の違い
"~/" と "../../"どちらもちゃんとホームディレクトリに戻ってこられました。
ではどんな違いがあるのでしょうか?
・"~/"
"~/"はホームディレクトリを表しています。
なので、どんなディレクトリにいようとcd ~/と打てば、ホームディレクトリに速攻で戻ってこられます。
・"../../"
"../../"はそもそも../を二つ並べただけです。
では、../はなんでしょう?
答えは、 一つ前のディレクトリに戻る でした。
そのため、/home/user/Documents/txtで一度しか打たないと/home/user/Documentsで止まってしまいます。
また、/home/user/Documents/txtで三度打つと/homeまで戻ってしまいます。
絶対pathで移動
さっきまではxxx/yyyの様な感じでpathを指定していました。
このやり方は 相対path といいます。
相対pathは今いる位置(directory)からみた相対位置を指定します。
例えば...
# /home/user から /home/user/Documents/text/minecraft
user@machine:~$ cd Documents/text/minecraft
user@machine:~/Documents/text/minecraft$ pwd
/home/user/Documents/text/minecraft
# /home/user/Documents/text/minecraft から /home/user/Documents/logs
user@machine:~/Documents/text/minecraft$ cd ../../logs
user@machine:~/Documents/logs$ pwd
/home/user/Documents/logs
/home/user/aaa/bbb/ccc/dddから/usr/local/binに移動したいとすると、最短でもcd ~/../../usr/local/binと長くなってしまいます。これでは間違えてしまうと地獄なので、こういう時は下記のやり方をやります。
頭に/をつけた/xxx/yyyこれを 絶対path といいます。
絶対pathではこの様に移動します。
# /home/user/aaa/bbb/ccc/ddd から /usr/local/bin
user@machine:~/aaa/bbb/ccc/ddd$ cd /usr/local/bin
user@machine:/usr/local/bin$ pwd
/usr/local/bin
これが絶対pathでの移動方法です。
ちなみに、cd /と打つとどこにいてもルートディレクトリ(root directory)に連れて行かれます。
user@machine:~/aaa/bbb/ccc/ddd$ cd /
user@machine:/$ pwd
/
user@machine:~/Documents/text$ cd /
user@machine:/$ pwd
/