Поиск…


Изменить на последний каталог

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

cd -

Выполняя его несколько раз эффективно «переключает», вы находитесь в текущем каталоге или в предыдущем.

Переход в домашний каталог

Каталог по умолчанию - это домашний каталог ( $HOME , обычно /home/username ), поэтому cd без какой-либо директории отправляет вас туда

cd

Или вы можете быть более явным:

cd $HOME 

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

cd ~

Абсолютные и относительные каталоги

Чтобы перейти в абсолютно определенный каталог, используйте полное имя, начиная с обратного слэша \ , таким образом:

cd /home/username/project/abc

Если вы хотите изменить каталог рядом с текущим, вы можете указать относительное местоположение. Например, если вы уже находитесь в /home/username/project , вы можете ввести подкаталог abc таким образом:

cd abc

Если вы хотите перейти в каталог выше текущего каталога, вы можете использовать псевдоним .. Например, если вы были в /home/username/project/abc и хотели перейти в /home/username/project , то вы сделали бы следующее:

cd ..

Это также можно назвать «вверх» в каталоге.

Перейдите в каталог сценария

В общем, существует два типа сценариев Bash:

  1. Системные инструменты, которые работают из текущего рабочего каталога
  2. Инструменты проекта, которые изменяют файлы относительно их собственного места в файловой системе

Для второго типа скриптов полезно изменить каталог, в котором хранится скрипт. Это можно сделать с помощью следующей команды:

cd "$(dirname "$(readlink -f "$0")")"

Эта команда запускает 3 команды:

  1. readlink -f "$0" определяет путь к текущему скрипту ( $0 )
  2. dirname преобразует путь к скрипту в путь к его каталогу
  3. cd изменяет текущий рабочий каталог на каталог, который он получает от dirname


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow