На этом уроке рассмотрим перемещение по каталогам Linux. Научимся перемещаться по дереву каталогов и создавать новые каталоги.
Определение текущего или рабочего каталога
Все команды на этом уроке можно выполнять и на Ubuntu 22.04 и на Debian 11, при этом поведение будем одинаковым!
Первым делом нужно понять в каком каталоге вы находитесь, для этого есть команда pwd:
alex@deb:~$ pwd /home/alex
Из вывода ясно что вы находитесь в каталоге /home/alex, это домашний каталог пользователя alex. Тот каталог в котором вы находитесь называют текущим или рабочим каталогом.
Перемещение по каталогам
Перемещаться по каталогам в Linux не сложно, и для этого используют команду — cd:
alex@deb:~$ cd / alex@deb:/$ pwd /
Я перешёл в корневой каталог «/», и посмотрел в каком каталоге я нахожусь.
Просмотр списка файлов и подкаталогов
Чтобы посмотреть какие файлы и каталоги находятся в текущем каталоге нужно использовать команду ls:
alex@ubu:/$ ls bin etc lib lib64 lost+found mnt proc run snap swap.img tmp var boot dev home lib32 libx32 media opt root sbin srv sys usr
alex@deb:/$ ls bin dev home initrd.img.old lib32 libx32 media opt root sbin sys usr vmlinuz boot etc initrd.img lib lib64 lost+found mnt proc run srv tmp var vmlinuz.old
Как вы видите многие каталоги взяты из стандарта FHS, хотя есть небольшие отхождения от стандарта. Например в Ubuntu есть каталог snap.
Абсолютный и относительный пути
Для перемещения по дереву каталогов используют команду cd и путь к каталогу в который хотят попасть. Различают два вида пути:
- относительный — относительно текущего каталога;
- абсолютный — всегда начинающийся с корня (/).
Например чтобы перейти обратно в свой домашний каталог из корня нужно выполнить:
alex@deb:/$ cd /home/alex
А чтобы тоже самое сделать из каталога /home можно использовать или относительный путь или абсолютный. Вот пример с относительным путём:
alex@deb:~$ cd /home/ alex@deb:/home$ cd alex alex@deb:~$ pwd /home/alex
То есть в каталоге home существует каталог alex, поэтому при переходе из home в alex необязательно указывать абсолютный путь (/home/alex/), можно просто указать относительный (alex).
Еще при переходе по каталогам можно использовать служебные символы:
- . — текущий каталог;
- .. — родительский каталог;
- — — предыдущий каталог;
- ~ — домашний каталог;
Если команде cd не указать в какой каталог переходить, то вы перейдете в свой домашний каталог.
Например из каталога /home/alex перейдём в каталог /home и вернёмся обратно в свой домашний каталог:
alex@deb:~$ pwd /home/alex alex@deb:~$ cd .. alex@deb:/home$ pwd /home alex@deb:/home$ cd alex@deb:~$ pwd /home/alex
Создание каталогов
Для создания нового каталога используется команда mkdir. Давайте в домашнем каталоге создадим два подкаталога:
alex@deb:~$ mkdir dir1 alex@deb:~$ mkdir dir2 alex@deb:~$ ls dir1 dir2
Дополнительные примеры
Как вы могли заметить, некоторые команды выводят на экран какую-то информацию (ls, pwd), а другие нет (mkdir, cd).
Теперь перейдем в каталог dir1 и из него перейдем в каталог dir2 используя относительный путь, и вернемся обратно:
alex@deb:~$ cd dir1 alex@deb:~/dir1$ cd ../dir2 alex@deb:~/dir2$ cd - /home/alex/dir1 alex@deb:~/dir1$ pwd /home/alex/dir1
Как вы могли заметить, приглашение ввода команды меняется в зависимости от того в каком каталоге вы находитесь, это настроено по умолчанию и в Ubuntu 22.04 и в Debian 11.