Как переходить из одной директории в другую и как посмотреть что внутри директорий, давайте немного рассмотрим в этой статье. Ну и естественно, это все относится к работе в терминале. В графической оболочке, я думаю, разобраться будет не сложно. Во всех популярных дистрибутивах Linux, навигация особо ничем не отличается от таковой в windows. Единственное, что надо учитывать устройство файловой системы. В отличии от Windows, в Linux имеется всегда одна файловая система, независимо от числа устройств хранения, подключенных к компьютеру.
Первый каталог называется корневым. Директории и все устройства хранения подключаются ( или как говорят, монтируются) к разным точкам этого корневого каталога. В итоге получается своеобразное дерево каталогов с корнем вверху и ветвями направленными вниз. Такое, например, можно наблюдать в системе windows. В Linux это, примерно выглядит так:
Но я обычно себе немного по другому это все представляю. В виде одной точки, от которой в разные стороны расходятся каталоги, те в свою очередь в свои каталоги и т.д. Получается своеобразный лабиринт директорий. В лююбой момент времени, мы можем находится только в одном каталоге. Этот каталог называют рабочим каталогом. Каталог, из которого мы попали в рабочий каталог, называют родительским кталогом. Название текущего каталога и путь к нему можно получить командой pwd.
[user@server~] pwd
/home/user
По умолчанию, при первом входе в систему, ну или запуске терминала, текущим рабочим каталогом становится домашний каталог. Такой каталог, обычно, создается для каждого пользователя и расположен по следующему пути
/home/[имя_пользователя]
Это единственный каталог, где, по умолчанию, можно редактировать файлы, имея привилегии обычного пользователя.
Чтобы узнать, что находится в каталоге, используется команда ls:
[user@server~] ls
Documets Music Downloads
На самом деле ls показывает не только содержимого текущего каталога, но и в качестве аргумента можно передать путь до любой директории. А так же получить много полезной информации, но об этом в следующий раз. Сейчас пока только знакомимся.
Чтобы сменить текущий каталог, применяется команда cd. Используется эта команда, обычно, с указанием пути, ведущим в нужный каталог. Этот путь может быть задан двумя способами.
1. Абсолютный путь. Этот путь всегда начинается с корневого каталога и перечисляет все ветви дерева. Например, мы хотим перейти в директорию /tmp из домашнего каталога:
[user@server~] cd /tmp
[user@server tmp] pwd
/tmp
Как можно увидеть, в результате вывода pwd, мы оказались в директории tmp, которая находится в корне /. Так же, обратите внимание, что приглашение в консоле поменяло свой вид. Вывод можно настроить так, чтобы в консоле показывалось полный путь от корня.
2. Относительный путь. Этот путь, в отличии от абсолютного, задается относительно текущей директории, а не от корня. Для этого, пользуются специальными символами.
"."(точка) используется для начала отсчета пути из текущей директории. Например,
[user@server dir2] cd ./dir3
[user@server dir3] pwd
/dir1/dir2/dir3
"." - иногда не указывают. Следующий ввод команды, анологичен предыдущему.
[user@server dir2] cd dir3
[user@server dir3] pwd
/dir1/dir2/dir3
Обратите внимание, что если поставить "/" перед dir3, то этот путь уже будет абсолютным и таким переходом вы попадете в директорию, которая расположена в корне, то есть /dir3.
".." - (точка-точка) используется для перехода в родительский каталог. Например
[user@server dir2] cd ..
[user@server dir1] pwd
/dir1
То есть, грубо говоря, этой командой вы перемещаетесь на уровень вверх в дереве каталогов.
Думаю, у Вас может возникнуть вопрос, а каким способом пользоваться для ввода пути, относительным или абсолютным. Отвечу так, тем в котором надо меньше нажимать клавиши. Ну или тем, который для вас интуитивно понятнее. Тут единого мнения не существует.
Ну и еще несколько приемов для работы с cd:
'cd' - простой ввод команды переместит вас из текущего каталога в домашний
'cd -' -такой ввод перемести вас в каталог, в котором вы были до текущего.
'cd ~[имя_пользователя]' - позволяет переместиться из текущего рабочего каталога, в домашний каталог пользователя "имя_пользователя"
Так же для, ускорения ввода, советую использовать клавишу Tab. Это помогает дописывать имена каталогов. Например, при вводе пути, это значительно сэкономит вам время. Двойное нажатие Tab, в некоторых системах, выводит список возможных вариантов дополнения строки.
Еще хотелось бы немного сказать об имени папок и директорий:
- Файлы, имена которых начинаются с точки, в системах linux считаются скрытыми. Их можно увидеть с помощью параметра -a для команды ls.
- В системах Linux именование файлов и директорий чувствительны к регистру, то есть Dir и dir с точки зрения системы это абсолютно разные директории. Будьте с этим очень внимательны.
- В Linux нет понятия расширения файла, как в Windows. Файлам можно давать любые имена из назначение в Linux определяется другими средствами.
-Ну и хотя в Linux нет ограничений в использовании проблеов и различных знаков пунктуации, советую такие символы не использовать, вместо пробелов лучше использовать нижнее подчеркивание или тире. Наличие пробелов во многом усложняет работу некоторых скриптов.
Заключение.
В этой статье постарался немного затронуть тему перемещения по системе с помощью терминала. Познакомились с тем, что как перейти из директории в директорию, как узнать где мы в данный момент находимся, и узнать что есть в директории. Более подробно с каждой командой познакомимся в следующих статьях. А пока подписывайтесь здесь или в Телеге. Не пропускайте новые статьи, ставьте класс. Ну и не забывайте делиться в комментариях, о том, что бы вы хотели узнать подробнее или делитесь своими приемами навигации, будет интересно узнать.