С помощью sh
оболочки (не bash
) какая команда в Linux / UNIX распечатывает мой текущий каталог?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
С помощью sh
оболочки (не bash
) какая команда в Linux / UNIX распечатывает мой текущий каталог?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Ответы:
Попробуй pwd
.
$ pwd
/home/<username>
/dev
что-то о разработке (исходные коды или что-то в этом роде)
Хотя общий ответ таков pwd
, обратите внимание, что это может дать разные результаты в зависимости от того, как вы достигли данного каталога, и от того, включены ли в маршрут символические ссылки.
Например, если у вас есть каталог с именем real
и символическая ссылка на этот каталог virtual
, а вы cd
на virtual
каталог, то вы pwd
увидите это virtual
имя каталога, даже если фактический каталог, в котором вы находитесь, есть real
.
Чтобы показать реальный базовый каталог, используйте либо pwd -P
или readlink -f
(для произвольного пути):
$ mkdir real $ ln -s реальный виртуальный $ cd virtual $ pwd / home / имя пользователя / tmp / virtual $ pwd -P / home / имя пользователя / tmp / real $ readlink -f. / home / имя пользователя / tmp / real
Обратите внимание, что оболочки часто заменяют pwd
команду своей собственной внутренней версией, так что в моей системе (RHEL6), даже несмотря на то, что pwd(1)
страница руководства предлагает, что она --physical
будет работать так же хорошо -P
, потому что я работаю bash
, но это не так:
$ pwd --physical bash: pwd: -: неверная опция pwd: использование: pwd [-LP] $ / bin / pwd --physical / home / имя пользователя / tmp / real $ / usr / bin / env pwd --physical / home / имя пользователя / tmp / real
Как говорили другие, pwd
обычно делает работу достаточно хорошо. Тем не менее, я хотел бы добавить идею, которая помогла мне.
На всех общеупотребительных оболочках сегодня вы можете настроить внешний вид командной строки. Мне нравится настраивать мой так, чтобы он отображал как имя компьютера, на котором я работаю, так и мой рабочий каталог. Таким образом, я всегда знаю, где я. (Часть имени компьютера помогает мне понять, использовалось ли используемое мной окно терминала для SSH на удаленном сервере.) Например, когда я открываю новое окно терминала на моем ноутбуке, которое я называю Plastico, я вижу это:
Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>
Вы можете видеть, что это сокращает мой домашний каталог как ~
. Я считаю, что делать это для моих терминальных подсказок невероятно удобно - я всегда с первого взгляда точно знаю, где я нахожусь, даже больше, чем когда бы я смотрел в окно Finder.
На tcsh я делаю это, добавляя set prompt = 'Plastico %~%# '
мой файл .tcshrc в мой домашний каталог. Я сделал это и на ksh, добавив export PS1="Plastico $PWD $ "
в свой файл .profile. Но, будучи пользователем Linux, вы, вероятно, используете Bash, с которым у меня не так много опыта (я странный, как этот). Но похоже, что я мог бы сделать это, добавив PS1="Plastico \w $ "
в мой файл .bashrc.
Редактировать: только что заметил, что ОП заявляет, что вы заинтересованы sh, а не bash. Ну что ж; Надеюсь, что люди найдут это полезным независимо.
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
или что-то в этом роде.
$ pwd
/your/current/directory
$
pwd
приходит из рабочего каталога печати .
название
pwd - вывести имя текущего / рабочего каталога
конспект
pwd [ВАРИАНТ] ...
Описание
Напечатайте полное имя файла текущего рабочего каталога.
-L , - логический
использовать PWD из среды, даже если он содержит символические ссылки
-P , --physical
избегать всех символических ссылок
--Помогите
показать эту помощь и выйти
--версия
вывести информацию о версии и выйти
ПРИМЕЧАНИЕ: ваша оболочка может иметь свою собственную версию pwd, которая обычно заменяет версию, описанную здесь. Пожалуйста, обратитесь к документации вашей оболочки для деталей о поддерживаемых опциях.
(...)