Linux/UNIXのshシェルで、カレントディレクトリを返すコマンドはどれですか?
sh
シェル(bash
ではありません)を使って、Linux/UNIXのどのコマンドがカレントディレクトリを表示しますか?
$ *showmewhereiam*
/sys/kernel/debug
$
sh
シェル(bash
ではありません)を使って、Linux/UNIXのどのコマンドがカレントディレクトリを表示しますか?
$ *showmewhereiam*
/sys/kernel/debug
$
pwd
を試してみてください。
$ pwd
/home/<username>
```.
一般的な答えは pwd
ですが、これは指定されたディレクトリにどのようにして到達したか、ルートにシンボリックリンクが含まれているかどうかによって異なる結果が得られる可能性があることに注意してください。
例えば、real
という名前のディレクトリがあり、そのディレクトリへのシンボリックリンクが virtual
という名前であり、cd
ディレクトリに virtual
した場合、実際のディレクトリは pwd
であるにも関わらず、virtual
はその real
ディレクトリ名を表示します。
実際に存在するディレクトリを表示するには、(任意のパスに対して) pwd -P
または readlink -f
のどちらかを使用します:
$ mkdir real $ ln -s real virtual $ cd virtual $ pwd /home/_username_/tmp/virtual $ pwd -P /home/_username_/tmp/real $ readlink -f . /home/_username_/tmp/real
シェルはしばしば pwd
コマンドを独自の内部バージョンに置き換えることが多いことに注意してください。
$ pwd
/your/current/directory
$
pwd
は print作業ディレクトリ から来ています。
名前
pwd - カレント/ワーキングディレクトリの名前を表示する
シノプシス
pwd [OPTION]…
説明
現在の作業ディレクトリの完全なファイル名を表示する。
-L , –logical シンボリックリンクを含む場合でも環境からPWDを使用する
-P . –physical
すべてのシンボリックリンクを避ける
–help
ヘルプを表示して終了
–version
バージョン情報を出力して終了
注. あなたのシェルは独自のバージョンの pwd を持っているかもしれません。あなたのシェルは独自のバージョンの pwd を持っているかもしれませんが、通常はここで説明したバージョンよりも優先されます。サポートしているオプションの詳細については、お使いのシェルのドキュメントを参照してください。
(…)
他の人が言っていたように、pwd
は通常十分に仕事をしてくれます。しかし、私の助けになったアイデアを追加したいと思います。
現在一般的に使われている全てのシェルでは、コマンドプロンプトの表示をカスタマイズすることができます。私は自分のコンピュータ名と作業ディレクトリの両方を表示するようにカスタマイズするのが好きです。そうすることで、自分がどこにいるのかを常に把握することができます。(コンピュータ名の部分は、使用しているターミナルウィンドウがリモートサーバへの SSH 接続に使われているかどうかを知るのに役立ちます)。例えば、ラップトップで新しいターミナルウィンドウを開くと、私はPlasticoと呼んでいますが、このように表示されます。
Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>
私のホームディレクトリを ~
と省略しているのがわかります。これをターミナルプロンプトで行うと、自分がどこにいるのかが一目でわかるので、Finderのウィンドウを見るよりもはるかに便利だ。
tcsh では、ホームディレクトリの .tcshrc ファイルに set prompt = 'Plastico %~%# '
を追加することでこれを行います。ksh でも .profile ファイルに export PS1="Plastico $PWD $ "
を追加しています。しかし、Linuxユーザであれば、おそらくBashを使っていると思いますが、私はあまり経験がありません(私はそういう変人です)。でも、 私の.bashrcファイルにPS1="Plastico \w $ "
を追加すればできるかもしれません。
編集:ただ、OPではbashではなくshに興味があると書いてあるのに気づきました。まあ、これが役に立つことを願っています。