Есть ли другие способы перемещения, изменения и связи с другими каталогами?

Случайно набрал dir/.. в конце концов, необходимо понять реальную разницу между этими путями:

$ command ../dir

$ command dir/..

Они делают две разные вещи, используя одно и то же ..

также он работает для:

$ ls ~/..

чтобы перечислить один каталог выше $ HOME, и, возможно, если я также использую $ VARIABLE / …

Что еще возможно? На пути к миру Linux.

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

И если у них есть собственные имена, пожалуйста, поделитесь ими.

Если другого нет, ответ должен быть «Нет».

2 ответа
2

Так что специального лечения для .., ../ или же /...

../ нет ни единого жетона. Это .. (родительский каталог), за которым следует / (разделитель каталогов). По аналогии, /.. тоже два жетона.

.. является просто имя каталога, как и любое другое, за исключением того, что он ведет вверх по дереву каталогов, а не вниз. Оболочка понимает cd ../dir точно так же, как он понял бы cd foo/bar: это [directory1]/[directory2].

  • На самом деле я считаю это правильным не только потому, что вы ответили особенно на важную деталь, ваша ссылка также дает много ответов на @ ctrl-alt-delor. Думаю, мне потребуется время, чтобы узнать об этом больше. Спасибо!

    — Tyþë-Ø
    31 мар в 7:53

Путь анализируется слева направо, поэтому ../dir означает подняться, затем перейти к dir; dir/.. означает перейти к dir затем поднимитесь, что то же самое, что и pwd или же $PWD.

Что еще возможно?

В основном все, что связано с относительным путем.

РЕДАКТИРОВАТЬ:

. — это символ, обозначающий текущий каталог, а также может означать источник, если вы хотите запустить файл bash, .. — это символ, обозначающий верхний каталог, то же самое и для ../. ./ — это два символа, явно обозначающие текущий каталог, без запущенного bash, как в предыдущем, /.. — это два символа, означающие переход в верхний каталог корня, который вернет root. Любые другие символы, например ... .... скорее всего псевдонимы.

alias ...="cd ../.."

Более подробную информацию можно найти, используя такие ключевые слова, как directory actions on Linux или же folder actions for Linux.

  • 1

    Добавление к этому «~» означает домашний каталог пользователя.

    — Давидго
    30 мар в 6:39

  • Да и сингл / означает корневой каталог.

    — кузнечное дело
    30 мар в 7:30

  • Мой вопрос был не таким простым, и я полностью понимаю все, что вы сказали. Я считаю, что мне следует переформулировать свой вопрос: «Существуют ли какие-либо другие формы или способы изменения / перемещения из каталогов? Что еще возможно в Linux bash», чтобы я лучше понимал эту тему

    — Tyþë-Ø
    30 мар в 7:32

  • В Linux есть абсолютные и относительные пути. Смена каталога — это просто cd, то вы можете использовать относительный или абсолютный путь от этой точки. Иногда вам может потребоваться объединить абсолютный путь с относительным путем, тогда скажем, у меня есть абсолютный путь, сохраненный в dirname нравиться dirname=/etc. Я сейчас в ~ и я хочу пойти в /etc/apt/, тогда я воспользуюсь cd $dirname/apt/.

    — кузнечное дело
    30 мар в 7:39

  • 2

    @ Tyþë-Ø ваш вопрос очень неясен — похоже, вам почти нужен учебник по навигации по пути — вкратце, если путь начинается с «./», это означает «относительно текущего каталога.» ../ » означает переход на 1 каталог. Начало с «/» означает начало с корневого каталога. Начало с «~ /» подразумевает запуск с домашнего каталога этого пользователя, а начало с «~ user /» означает запуск домашнего каталога указанного пользователя. Абсолютные пути — т.е. с корня файловой системы начинать с «/», а все остальное относится к текущему каталогу.

    — Давидго
    30 марта в 9:00

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *