〜$は何を表していますか?


27

何の~$略ですか?例えば:

user@ubuntu:~$

これまでのところ、私はその$サインが一般ユーザーのシンボルであることを知っています。間違っrootていなければ#最後に持っています。

また、フォーラムには次のようなコマンドがたくさんあります$

$ sudo apt-get update 

それでは、$実際に何を表しているのでしょうか?

編集(28.01.2014):

今日、私は8か月前の私の質問に完全に答えるこのビデオに出会い、ここでそれを共有することにしました:)

BASHの基本-https ://www.youtube.com/watch?v = x73WTEltyHU

回答:


33

要素であるコマンドラインプロンプト。これは、コンピューター(より正確には、実行しているシェル)がユーザー入力を待っていることを示しています。それはされてプロンプト入力Aコマンドにあなたを。~$

$単にセパレータまたはディバイダです。コマンドプロンプトとそれに続くコマンドを分離します。$ sudo apt-get update(あなたの例のような)ものを書くとき、彼らは単にコマンド(この場合sudo apt-get update)をコマンドプロンプトで入力する必要があるとあなたに言っています。厳密に言えば、おそらく、$このコンテキストでは冗長です。

他の状況では、他のセパレーターを使用できます。たとえば#、ルートシェルに使用されます。

~(「チルダ」と呼ばれる)自分のホームディレクトリの省略形です。たとえば、コマンドプロンプトuser@hostame:~$に表示される場合、現在の作業ディレクトリがホームディレクトリであることを示します。したがって、ls特定のディレクトリを指定せずにlistコマンドを実行すると、ホームディレクトリの内容が一覧表示されます。

(ちなみに$HOME、、お勧めのように、コマンドではなく、環境変数です。ホームディレクトリの場所を決定します。実行して値を確認できます$ echo $HOME。)


10
@FEarBGこの答えは1つの小さな側面で失敗すると思います。プロンプトは完全にカスタマイズ可能であり、単なる装飾です。空のプロンプトを使用するか、その中に好きな記号を使用することを決定できます(たとえば、私のコンピューターでは$プロンプト記号として `̃∴`に置き換えました)。PS1環境変数を好みに合わせてプロンプトを変更できます。
バクリウ

@Bakuriuもちろんbashを想定しています。他のシェルは異なる場合があります。
CVn

1
「厳密に言えば、おそらく、このコンテキストでは$は冗長です。」-はい、だから私たちは通常$、必要がない場合(たとえば、ログのコピーや出力例など)を避けることを好むのです。
ユーザー98085

12

従来、シェルプロンプトは$、%、または#で終了します。$で終わる場合、これはBourneシェルと互換性のあるシェル(POSIXシェル、Kornシェル、またはBashなど)を示します。%で終わる場合、これはCシェル(cshまたはtcsh)を示します。#で終わる場合、これはシェルがシステムのスーパーユーザーアカウント(ルート)として実行されていることを示します。

ソースこちら


一部の(通常、通常の)システムでは、通常のユーザーとしても「#」を使用します(たぶんつま先を維持するためです)。つまり、一部の古いシェルは、rootであればシンボルを変更しませんvs-通常のユーザー。
オリビエデュラック


10

したがって、$それで始まるコマンドが見つかった場合、その前に何も追加しないでくださいとだけ言っています。

user@ubuntu:~$

userログインしているユーザー名です。
@ここにリンクがあると言うだけです。
ubuntuログインしているシステムの名前です。
:~あなたはuser今ホームディレクトリにいると言います。
$はの\$エスケープシーケンスに由来し$PS1ます。マニュアルページ。

しかし、これはすべてmanページを読むことで変更できます。 @demureに感謝します。


2
具体的には、それが\$表示するように設計されて$ PS1の部分が$ない場合は、ルート(それ以外の場合は次のようになります#のmanページを発揮
おとなしそうな

@denureは私の答えを更新しました。あなたがそれを改善できると感じたら、そうしてください。
アルヴァ

6

$は、表示したようなコマンドを追加するときに、ターミナルのプロンプトの終わりに署名します。それ以外の場合は、$を入力しないでください。

だから、$須藤はapt-getを更新

次のように入力します。

sudo apt-get update 

お役に立てば幸いです。

編集

〜はホームフォルダーの略name@pc_name:~/Desktop$で、ホーム>デスクトップフォルダーにいることを示します。


3
おそらく、プロンプトでコマンドを入力する必要があることを示すためです。
SimplySimon

4
また、通常のユーザー($プロンプト)とroot(#プロンプト)によって実行されるコマンドを区別するためにも。
cone落者

@FEarBG:これは任意の規則であり$、変数名を示すための使用とは無関係です(私の知る限り)。キーボードで使用できる印刷可能な文字は非常に多くあります。DOSおよびWindows >はプロンプトで使用しますが、Unixは通常$またはを使用し%ます。画面(または、昔はインクと紙)のスペースを無駄にすることなく、「これはプロンプトです」と表示されます。
キーストンプソン

そしてもちろん、DOSおよびWindows環境変数ではを使用します%。あなたが言うように、それはほとんどarbitrary意的です。そこにかなりのニーズがあることを何か(それがあった場合、それは一種の素敵なのだろうが)、それはどこでも同じである必要はありません。
CVn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.