Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

3.2. Ориентация в файловой системе‌‌


3.2.1. Путь


Когда вы хотите, чтобы система выполнила команду, вам почти никогда не нужно указывать полный путь к этой команде. Например, мы знаем, что ls команда находится в / бен каталог (проверьте с помощью , которые -a ls), но нам не нужно вводить команду / bin / ls чтобы компьютер отобразил содержимое текущего каталога.


Команда PATH Об этом позаботится переменная окружения. Эта переменная перечисляет те каталоги в системе, где могут быть найдены исполняемые файлы, и, таким образом, избавляет пользователя от необходимости много печатать и запоминать расположение команд. Таким образом, путь, естественно, содержит множество каталогов, содержащих бункер где-то в их именах, как демонстрирует пользователь ниже. В эхо команда используется для отображения содержимого ("$") переменной PATH:


Роджер:> echo $ PATH

/ opt / local / bin: / usr / X11R6 / bin: / usr / bin: / usr / sbin /: / bin

Роджер:> echo $ PATH

/ opt / local / bin: / usr / X11R6 / bin: / usr / bin: / usr / sbin /: / bin

В этом примере каталоги / opt / local / bin, / usr / X11R6 / bin, / USR / бен, / usr / sbin и

/ бен впоследствии выполняется поиск требуемой программы. Как только совпадение найдено, поиск останавливается, даже если не все каталоги на пути были просмотрены. Это может привести к странным ситуациям. В первом примере ниже пользователь знает, что существует программа под названием Отправить смс для отправки SMS-сообщения, и другой пользователь в той же системе может использовать его, но она не может. Разница в конфигурации PATH переменная:


[Дженни @ blob Дженни] $ Отправить смс bash: sendms: команда не найдена [jenny @ blob jenny] $ echo $ PATH

/ bin: / usr / bin: / usr / bin / X11: / usr / X11R6 / bin: / home / jenny / bin [jenny @ blob jenny] $ su - tony

Пароль: tony: ~> который отправляет SMS

sendms - это / usr / local / bin / sentms


Тони: ~> echo $ PATH

/home/tony/bin.Linux: / home / tony / bin: / usr / local / bin: / usr / local / sbin: \

/ usr / X11R6 / bin: / usr / bin: / usr / sbin: / bin: / sbin

[Дженни @ blob Дженни] $ Отправить смс bash: sendms: команда не найдена [jenny @ blob jenny] $ echo $ PATH

/ bin: / usr / bin: / usr / bin / X11: / usr / X11R6 / bin: / home / jenny / bin [jenny @ blob jenny] $ su - tony

Пароль: tony: ~> который отправляет SMS

sendms - это / usr / local / bin / sentms


Тони: ~> echo $ PATH

/home/tony/bin.Linux: / home / tony / bin: / usr / local / bin: / usr / local / sbin: \

/ usr / X11R6 / bin: / usr / bin: / usr / sbin: / bin: / sbin

Обратите внимание на использование su (переключение пользователя) средство, которое позволяет запускать оболочку в среде другого пользователя при условии, что вы знаете пароль пользователя.


Обратная косая черта указывает на продолжение строки на следующей, без символа Enter отделяя одну строку от другой.


В следующем примере пользователь хочет позвонить в wc (количество слов), чтобы проверить количество строк в файле, но ничего не происходит, и он должен прервать свое действие, используя Ctrl+C комбинация:


перемычка: ~> wc -l тест


(Ctrl-С)

перемычка: ~> какой туалет

wc хешируется (/ home / jumper / bin / wc)


перемычка: ~> echo $ PATH

/ домашний / перемычка / bin: / usr / local / bin: / usr / local / sbin: / usr / X11R6 / bin: \

/ usr / bin: / usr / sbin: / bin: / sbin

перемычка: ~> wc -l тест


(Ctrl-С)

перемычка: ~> какой туалет

wc хешируется (/ home / jumper / bin / wc)


перемычка: ~> echo $ PATH

/ домашний / перемычка / bin: / usr / local / bin: / usr / local / sbin: / usr / X11R6 / bin: \

/ usr / bin: / usr / sbin: / bin: / sbin

Использование , которые команда показывает нам, что у этого пользователя есть бункер-каталог в его домашнем каталоге, содержащий программу, которая также называется wc. Поскольку программа в его домашнем каталоге обнаруживается первой при поиске в


пути по призыву wc, эта "самодельная" программа выполняется, с вводом, который она, вероятно, не понимает, поэтому мы должны остановить ее. Для решения этой проблемы есть несколько способов (всегда есть несколько способов решить проблему в UNIX / Linux): одним из ответов может быть переименование пользователя. wc программу, или пользователь может указать полный путь к конкретной команде, которую он хочет, которую можно найти с помощью -a вариант для , которые команда.


Если пользователь чаще использует программы в других каталогах, он может изменить свой путь, чтобы в последний раз искать в своих каталогах:


перемычка: ~> экспорт ПУТЬ = / usr / local / bin: / usr / local / sbin: / usr / X11R6 / bin: \

/ usr / bin: / usr / sbin: / bin: / sbin: / home / jumper / bin

перемычка: ~> экспорт ПУТЬ = / usr / local / bin: / usr / local / sbin: / usr / X11R6 / bin: \

/ usr / bin: / usr / sbin: / bin: / sbin: / home / jumper / bin


изображениеИзменения не постоянные!

 

Лучшие облачные вычисления для ОС в OnWorks: