- 締切済み
Linuxを勉強している超初心者です。
現在、CentOSを使って、Unixコマンドを勉強しているのですが、 コマンドプロンプト[root@localhost ~]#の "~" の意味がわかりません。 現在、どのディレクトリにいるのでしょうか。 初歩の初歩的な質問で申し訳ございません。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yakan9
- ベストアンサー率54% (2247/4135)
> [root@localhost ~]#の > "~" の意味がわかりません。 GNOME端末を起動すると、GNOME端末上に [root@localhost ~]# の表示が出ます。 この表示はシェルプロンプト(コマンドの入力を促す記号)といい、ユーザーからの指示待ちの状態を表しています。 ここでそれぞれは、 root 現在のユーザー名 localhost ホスト名 ~ カレントディレクトリ をそれぞれ示します。 今現在のディレクトリは、 pwd コマンドで何時でも参照できます。 特にroot権限になるときの一般ユーザーでログインした後の次のコマンド、 su su - の違いはpwdコマンドで比較すると面白いですね。
- vaidurya
- ベストアンサー率45% (2714/5983)
~は、自分(ログインユーザー)のホームディレクトリーを意味する特殊な記号として使われています。 ですから、fooとbarというユーザーがいたとします。 そして touch ~/test.txt という内容のスクリプトを実行したとします。 スクリプトは、誰もが共通に使えるように書かれたため どのログインユーザーが実行しても 書きこみ(と削除など)の権限がある自分自身のホームディレクトリーにファイルが作成されます。 rootが実行した場合は、/home/rootではなく、/rootがホームディレクトリーです。 suやsudoを使った場合は、また挙動が違うんですが、いまいち私は理解していません。 (たぶん、suやsudoを使ったユーザーのホームディレクトリーが対象となります) 余談ですが、こういった特殊な記号やコマンド出力を代入した処理は UNIX系OSでのコマンドラインではいろいろと使われます。 それが合理的で便利だからです。 たとえば、`uname -r`も特殊な表現で… (`はTYUIOP@と並んだ日本語キーボードで、SHIFT+@で入力される記号です) この記号でくくったuname -rというコマンドの出力は 使用中のカーネルバージョンを意味し、それが代入されることによって カーネルバージョンごとのディレクトリー群の中から 使用中のカーネルに合わせたディレクトリーを指定することができます。
- Wr5
- ベストアンサー率53% (2173/4061)
>"~" の意味がわかりません。 「操作中のユーザのホームディレクトリ」です。 作業中のユーザはwhoamiコマンドで確認できるでしょう。 # まぁ、プロンプトにも出ているんですけど。 >現在、どのディレクトリにいるのでしょうか。 pwdコマンドで表示されるかと。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45712&forum=10 こんな例もあったりします。
お礼
ありがとうございます。助かりました。
お礼
とてもわかりやすくて助かりました。ありがとうございます。