ディレクトリの変更は、自分が居る場所(現在のディレクトリ)が 判っていて、また、その場所と行き先との関連(現在のディレクトリの 上か下か)が判っていれば、簡単に行えます。
ディレクトリを変更するには、cdコマンド を使用します。このコマンドを単独で使用すると、自分のホーム ディレクトリに戻ります。他のディレクトリへ移動するには pathnameが必要です。
絶対パス名を使用することも できますし、相対 パス名を使う こともできます。絶対パス(の表示法)は、ファイルシステムの 一番上の階層/(rootと呼びます)から 始まり、下に向かって目的のディレクトリまで移動します。 相対パス(の表示法)は、それがどこにあるとしてもユーザーの 現在の位置から下へ向かいます。以下のツリーの例は、 cdの使用法を説明しています。
/ /directory1 /directory1/directory2 /directory1/directory2/directory3 |
現在 directory3にいる時に、 directory1へ移動したい場合、ディレクトリツリーを 上に移動する必要があります。
コマンドの実行
cd directory1 |
directory3にいる状態では、そのような ディレクトリは存在しないことを示すエラーが表示されます。 その理由は、directory3の下に directory1が存在しないからです。
directory1へ移動するには、 次のようにタイプします。
cd /directory1 |
これが絶対パスの1つの例です。これはLinuxに 一番上の ディレクトリツリー(/)から始めて、 directory1へ移動しなさいと指示を します。このように パス名の先頭に/が付いているものが 絶対パスです。そうでないものが相対パスです。
絶対パスを使用すれば、/ディレクトリ から別の任意のディレクトリに移動できます。全パスの完全入力 が要求されます。相対パスでは、現在のディレクトリに対して 相対的に移動できます。ディレクトリ内でサブディレクトリへ 移動する場合には便利です。
The command cd ..コマンドはシステムに 現在作業中のディレクトリから一段だけ上のディレクトリへ 移動するように指示します。二段上のディレクトリへ移動する には、cd ../../コマンドを使用します。
ここまで学んだ絶対パスと相対パスについて、次のコマンドを 使って練習してみましょう。自分のホームディレクトリから 次のように相対パスを入力します。
cd ../../etc/X11 |
上の例のコマンドを使用すると、X11 というディレクトリに移動します。これは、X Window Systemに 関連する設定ファイルやディレクトリが入っているディレクトリ です。
最後に実行した cdコマンドを分析 しましょう。システムに次の事を指示したことになります。
ログインディレクトリの親ディレクトリ(おそらく /home)まで1レベル上に移動しなさい。
さらに、そのディレクトリの親 (おそらく root, /ディレクトリ)まで上に移動しなさい。
そして、下に向かってetc ディレクトリに移動しなさい
最後に、X11 ディレクトリに 移動しなさい。
反対に、絶対パスを使用すると、/etc/X11 までもっと素早く移動することができます。例えば、
cd /etc/X11 |
絶対パスは ルートディレクトリ(/)から始まり、指定する ディレクトリまで表示して下がっていきます。
注意 | |
---|---|
移動先のディレクトリやファイルへの相対パスを入力する 前に、自分が現在いるディレクトリを必ず確認してください。 絶対パスを使用する際は、ファイルシステムの位置について 心配する必要はありません。現在いるディレクトリが不明 であれば、pwdと入力して現在作業中の位置を 表示します。これで、相対パス名を使ってディレクトリを 上下に移動できます。 |
コマンド | 機能 |
---|---|
cd | ログインディレクトリに戻ります。 |
cd ~ | これもログインディレクトリに戻ります。 |
cd / | システム全体のルートディレクトリに移動します。 |
cd /root | インストール時に作成されたroot(スーパーユーザー)アカウントの ホームディレクトリに移動します。このディレクトリにアクセス するにはrootユーザーである必要があります。 |
cd /home | ホームディレクトリ(ここにユーザーのログイン ディレクトリがあります)に移動します。 |
cd .. | 1つ上の階層に移動します。 |
cd ~otheruser | otheruser'sのログイン ディレクトリに移動します。(ただし、otheruser から許可を得ている場合) |
cd /dir1/subdirfoo | この絶対パスを使用するとユーザーがいる ディレクトリにかかわらず、dir1の サブディレクトリであるsubdirfooへ 直接移動します。 |
cd ../../dir3/dir2 | この相対パスは二段上へ移動してから、 dir3へ、そしてdir2 ディレクトリへ移動します。 |
表 13-1. cdオプション
これで、ディレクトリの変更方法がわかってきたと思い ますので、root(スーパーユーザーアカウント)のログイン ディレクトリに移動したときにどのようなことが起こるのかを 見てみましょう。次のように入力します。
cd /root |
rootとしてログインしていない場合は、そのディレクトリへの アクセス拒否をされてしまいます。
rootとその他のユーザーアカウント(またはログイン ディレクトリ)へのアクセス拒否は、Linuxシステムが誤ってあるいは 悪意のある不正操作からシステムを保護するための一つの手段です。 項13.14を参照してください。
rootのログインとrootのディレクトリを変更するには、 suコマンドを使用します。
su |
ヒント | |
---|---|
suコマンドは
代理ユーザー(substitute users)の意味を持ちます。
そして、一時的に他のユーザーとしてログインをさせてくれます。
suだけを入力して |
rootのパスワードを入力するとすぐに、スーパーユーザーを 示すコマンドプロンプトに変化したことがわかります。プロンプト の先頭にあるアカウント名がrootになり、プロンプトが「#」に なります。
rootとしての作業を終了した時に、プロンプトで exitとタイプすると元のユーザーのアカウントに戻り ます。