#2 Перемещение между папками в Linux: Команды cd, pwd, домашняя директория пользователя, абсолютный и относительный пути
Primary tabs
Использование «cd». Ходим между папками/директориями
Давайте начнем использовать bash для навигации по файловой системе. Для начала напечатайте следующую команду:
cd /
Этой командой мы указали bash-у что хотим переместиться в корневую директорию — /. Все директории в системе организованы в древовидную структуру и / это её начало (или корень). Команда cd служит для изменения текущей рабочей директории.
Пути в Linux
Чтобы узнать в каком месте файловой системы в данный момент вы находитесь (текущую рабочую директорию) наберите:
pwd
В приведенном выше примере / — аргумент команды cd — называется путь. Это место файловой системы, куда мы хотим переместиться. В данном случае / — абсолютный путь, это значит что путь указан относительно корневой директории.
Абсолютные пути
Вот несколько примеров абсолютных путей
/dev /usr /usr/bin /usr/local/bin
Как вы уже могли заметить, все эти пути объединяет то, что они начинаются с /. Указывая путь /usr/local/bin в качестве аргумента команде cd мы говорим ей перейти в корневую директорию /, затем в директорию usr, потом в local и bin. Абсолютные пути всегда начинаются с /
Относительные пути
Второй вид путей называется относительными. Bash, команда cd и другие команды отсчитывают эти пути относительно текущей директории. Относительные пути никогда не начинаются с /. Например, если мы находимся в /usr
cd /usr
Затем мы можем перейти в /usr/local/bin используя относительный путь и затем второй командой запросим текущий путь
cd local/bin pwd
получим:
/usr/local/bin
Использование «..». Переход к родительской директории
Относительные пути могут содержать одну или несколько директорий «..». «..» указывает на родительскую директорию по отношению к нашей рабочей директории. Пример:
pwd
/usr/local/bin
cd .. pwd
/usr/local
Как вы видите, команда cd ..
‘поднимает нас на уровень выше’.
Можно добавить .. к относительному пути. Это позволит переместиться в директорию, которая находится на одном уровне с той в которой мы находимся. Пример:
pwd
/usr/local
cd ../share pwd
/usr/share
Примеры с использованием относительных путей
Относительные пути могут быть довольно сложными. Вот несколько примеров. Результат выполнения команд не показан, попробуйте определить в какой директории вы окажетесь используя bash.
cd /bin cd ../usr/share/zoneinfo cd /usr/X11R6/bin cd ../lib/X11 cd /usr/bin cd ../bin/../bin
Рабочая директория «.» -- текущая директория, обозначается точкой
Перед тем как закончить разговор о команде cd, следует упомянуть еще несколько вещей. Во-первых, существует ещё одна специальная директория «.», которая указывает на текущую директорию. Эта директория используется для запуска исполняемых файлов, находящихся в текущей директории.
./myprog
В последнем примере myprog это исполняемый файл находящийся в текущей директории, который будет запущен на исполнение (если он есть).
cd и домашняя директория пользователя
Для того чтобы перейти в домашнюю директорию, нужно набрать:cd
-- т.е. просто команда cd без аргументов. Без аргумента cd переместит вас в домашнюю директорию. Для суперпользователя домашней обычно является директория /root, а для обычных пользователей — /home/имяпользователя/, например:
/home/qwe/
. Но что если мы хотим указать конкретный файл, находящийся в домашней директории. Например, как аргумент к программе ‘myprog’? Можно написать:
./myprog /home/user/myfile.txt
Однако, использовать абсолютные пути к файлам не всегда удобно. Эту же операцию можно сделать при помощи ~–тильды:
./myprog ~/myfile.txt
~ — специальное имя, указывающее в bash на домашнюю директорию пользователя.
Домашние директории других пользователей
Но что если нам нужно указать файл в домашней директории другого пользователя? Для этого после тильды нужно указать имя этого пользователя. Например, чтобы указать на файл fredsfile.txt находящийся в домашней директории пользователя fred:
./myprog ~fred/fredsfile.txt
- Log in to post comments
- 690 reads