Попытка понять файлы.bashrc,.profile и т. д.

Использование cdи cd -позволяет переключаться только между двумя последними использованными каталогами. Размер вашего «рабочего набора каталогов» равен двум.

Используя pushd, вы можете хранить произвольно большое количество каталогов в своем рабочем наборе.

В большинстве случаев я использую pushd, а не cd. После того, как вы создали стек активных каталогов с помощью pushd directory_name, вы можете прыгать между ними весь день с помощью pushd ~#.

pushd dir1
pushd../dir2
pushd /full/path/to/dir3

# There are now three directories in the stack.

pushd ~3
pushd ~2

# The same three directories are still on the stack, 
# just in a different order.

Я использую popdредко, только когда я хочу удалить каталог из стека, когда я знаю, что я закончил использовать этот каталог.

Перейти в каталог и удалить его из стека:

popd ~2

Остаться в текущем каталоге и удалить другой каталог из стека:

popd +2

Вы получаете рабочий стиль, похожий на открытие нескольких окон или вкладок терминала (по одному для каждого каталога, в котором вы активно работаете ), но все в одном терминале. Это экономит место на экране, плюс, поскольку все пути к каталогам доступны в одной оболочке, вы можете делать такие вещи, как:

  • копировать файлы между каталогами, с которыми вы сейчас работаете
  • просматривать или редактировать файлы в другом каталоге, не переходя туда

Примеры:

cp ~2/myfile.txt ~4
less ~2/myfile.txt

В tcsh(, но не в bash), вы даже можете сохранить свой стек каталогов в файл и восстановить его позже.

Сохранить:

dirs -S ~/dirstack

Восстановить:

dirs -L ~/dirstack

В противном случае просто замените ~в примерах bashна =для использования в tcsh.

pushd =2
popd =4
popd +1
-4
21.04.2021, 17:59
1 ответ

Во-первых, см. комментарий Уолтинатора. Однако для ответа на некоторые ваши вопросы (больше концептуальности, чем технической точности )...

  1. Ни один из обычных файлов оболочки не загружается при входе в графический интерфейс. Они загружаются, когда вы входите в оболочку TUI (только текст )или терминальную программу из графического интерфейса. По правде говоря, графический интерфейс сам по себе является оболочкой, очень похожей на bash, за исключением того, что он дает вам графический интерфейс вместо текстового. Он также имеет свои собственные файлы конфигурации и файлы запуска.

  2. Конкретные файлы, которые загружаются, зависят от оболочки. См. документацию по используемой оболочке.

  3. См. выше. Виртуальные терминалы и терминальные программы из графического интерфейса идут по одному и тому же маршруту :. Они приводят к тому, что вы входите в ту оболочку, которая определена как ваша основная оболочка входа (, определенная/настроенная в /etc/passwd для вашего имени пользователя ).

На самом деле то же самое почти по всем вопросам.

Задачей оболочки является выполнение других программ. Это могут быть внутренние программы для оболочки (, внутренние команды ), файлы инструкций для оболочки (, сценарии оболочки, очень похожие на пакетные файлы DOS ),или другие приложения/программы, установленные в системе (внешние программы ). Он также может работать во многих различных режимах; интерактивный режим означает, что он отобразит командную строку и будет ждать, пока вы введете команду. Не интерактивный режим -означает, что когда оболочка была запущена, ей был задан сценарий оболочки для выполнения, и она получает свои команды из сценария вместо того, чтобы вы их вводили.

Еще одна важная вещь, которую нужно понять, это то, что в системе un *x оболочка запрограммирована почти так, как если бы вы отправляли ей команды через Интернет с дальнего конца планеты. Даже когда вы сидите прямо перед компьютером --, он по-прежнему обрабатывает ваш сеанс входа в систему, как если бы он был по сети. Вот почему он всегда действует одинаково, независимо от того, является ли он терминалом, консолью, сетью, ssh/telnet, TUI/GUI, последовательным или любым видом входа в систему, который вы можете себе представить. Возможно, когда-нибудь у нас даже будет телепатический вход --, но оболочка по-прежнему будет вести себя так, как если бы это был обычный вход, и по-прежнему будет работать так же, как и сейчас.

И последнее замечание о оболочках без входа в систему; Они тоже одно и то же. Единственная разница для вас заключается в том, что вы можете запустить один из уже зарегистрированной оболочки без необходимости повторного входа в систему (, вводя свое имя и пароль ).

Конечно, многие технические детали всего этого немного отличаются и имеют как очевидные, так и тонкие побочные эффекты и последствия. Но именно здесь вам нужно будет искать в Интернете ресурсы и сайты, которые более подробно рассказывают о том, как работают оболочки.

0
28.04.2021, 22:51

Теги

Похожие вопросы