Командная строка Linux, навигация в системе и просмотр директорий: команды pwd, ls, cd
Приветствую!

Это второй пост из цикла, посвященного работе в командной строке Linux. Сегодня мы рассмотрим базовую навигацию по файловой системе и просмотр содержимого каталогов.

Обязательно прочитайте первый пост:

Практические примеры из постов данного цикла выполнялись в среде дистрибутива Linux Mint 21.

Получение справки о командах

Получить исчерпывающую справку о командах можно прямо в терминале Linux.

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

Например:

BASH
ls --help
Нажмите, чтобы развернуть и увидеть больше

Более развернутую справку по какой-либо команде всегда можно получить с помощью отдельной утилиты man. Просто выполните man <имя_программы>

Например:

BASH
man ls
Нажмите, чтобы развернуть и увидеть больше

Для навигации при просмотре man страниц воспользуйтесь стрелочками вверх, вниз на клавиатуре для построчного просмотра.

Отмечу, что в описании синтаксиса команд в квадратных скобках обозначаются необязательные параметры команды.

Список команд

Итак, сегодня наш арсенал инструментов пополнится следующими командами:

КомандаОписание
pwdвыводит адрес текущего рабочего каталога в файловой системе
lsвыводит содержимое каталога
cdпозволяет перейти в какой-либо каталог

Эти команды относятся к числу наиболее часто используемых в Linux. Они
применяются для вывода адреса рабочего каталога, просмотра содержимого и перехода в другой каталог.

У каждой команды существует определенное количество параметров (ключей), которые определяют режим работы команды и ее функциональность. Ключи бывают двух типов: короткие и длинные. Они имеют, например такой вид:

Во многих командах оба таких ключа будут иметь одно и то же значение, но так бывает не всегда.

Теперь приступим к практике. Давайте рассмотрим по несколько примеров для каждой из команд из таблицы выше.

Начнём по порядку.

Команда pwd (print working directory) — вывод текущего рабочего каталога

Синтаксис:

BASH
pwd [ключи]
Нажмите, чтобы развернуть и увидеть больше

Команда имеет всего два ключа:

КлючЗначение
-L или --logicalвывод адреса текущего рабочего каталога учитывая символические ссылки
-P или --physicalвывод фактического (физического) адреса без учет символических ссылок

Открываем терминал и выполняем эту команду без ключей:

По умолчанию, при в ходе в систему мы попадаем в свой домашний каталог. В моём примере это /home/ivan что и показала нам команда pwd.

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

В графическом файловом менеджере адрес домашней директории выглядит так:

Также значение pwd каждый раз перезаписывается в переменную окружения (environment variables) $PWD. Посмотреть значение переменной в терминале можно так:

BASH
echo $PWD
Нажмите, чтобы развернуть и увидеть больше

*Утилиту echo мы рассмотрим в следующем посте.*Про переменные в будущем будет отдельный пост.

Команда ls (list) — просмотр содержимого каталога

Синтаксис:

BASH
ls [ключи] [каталог]
Нажмите, чтобы развернуть и увидеть больше

Часто используемые ключи:

КлючЗначение
-aпоказать скрытые файлы, название таких файлов в Linux начинается с точки .
-lвывести содержимое в виде списка с подробностями (дата изменения, размер файла и т.д)
-hв сочетании с ключом -l выводит размеры файлов в человекочитабельном формате
-tсортировать вывод по времени изменения
-rсортировка вывода содержимого в обратном алфавитном порядке
-iпоказывает индекс дискового дескриптора
-Rвыводит содержимое каталогов рекурсивно

Если выполнить эту команду без ключей и аргументов, то программа выведет нам содержимое текущего рабочего каталога, который мы узнали с помощью pwd:

Посмотрим, что будет если вывести содержимое в виде списка:

BASH
ls -l
Нажмите, чтобы развернуть и увидеть больше

Добавим ключ -a ⁣, чтобы увидеть скрытые файлы:

BASH
ls -la
Нажмите, чтобы развернуть и увидеть больше

Видим, что в нашем домашнем каталоге много скрытых файлов. Подробнее разберем вывод предыдущей команды:

№ столбцаОписание
1Первый символ в этой колонке — это тип файла ( обычный файл, d — директория, l — линк). Далее идут права доступа (rwx — read, write, execute) — чтение, запись, исполнение для пользователя, группы и остальных (ugo — user, group others).
2Количество жестких ссылок (линков — об этом как нибудь в другой раз).
3Владелец файла.
4Группа владельца, по умолчанию при создании файлов имя группы совпадает с именем владельца, если не заданы специальные параметры (маска).
5Размер файлов (по умолчанию в байтах). Размер директорий таким образом оценить не удастся. В выводе команды ls они будут иметь размер 4 килобайта. Для просмотра размера файлов, в текущем каталоге (в т.ч. размеры каталогов), можно воспользоваться командой: du -sh ./*
6,7,8Дата и время последнего изменения.
9Имя файла.

Добавив команде ls ключ -h размер файлов отобразится в более удобном для человека формате:

Команда cd (change directory) — переход в какой-либо каталог

Синтаксис:

BASH
cd [каталог]
Нажмите, чтобы развернуть и увидеть больше

Данная команда меняет текущей рабочий каталог на другой. При выполнении команды cd без аргументов мы попадём в наш домашний каталог.

Давайте для примера перейдём в «корень» нашей системы Linux Mint, затем проверим наш текущий рабочий каталог и выведем его содержимое:

BASH
cd /

pwd

ls -l
Нажмите, чтобы развернуть и увидеть больше

Вывод команды будет примерно таким:

Прорубаемым перейти в каталог /usr и узнать его содержимое:

BASH
cd /usr

# или

cd ./usr

ls -la
Нажмите, чтобы развернуть и увидеть больше

Тут стоит упомянуть, что в Linux существуют такие понятия, как абсолютный путь и относительный.

Абсолютные пути всегда начинаются с «корня» т.е символа слэша /

Относительные пути подразумевают указание пути относительно ткущей или родительской директории, которые обозначаются:

. или ./обозначает текущую директорию
.. или ../обозначает родительскую директорию

Сейчас мы находимся в /usr. Попробуем перейти в каталог на уровень выше выполнив:

BASH
cd ..

pwd
Нажмите, чтобы развернуть и увидеть больше

И видим, что мы вернулись в «корень» нашей системы.

Попасть обратно в домашний каталог с помощью команды cd можно четырьмя способами:

BASH
cd

cd /home/ivan/

cd ~

cd $HOME
Нажмите, чтобы развернуть и увидеть больше

Завершающий слэш в пути обозначает, что типом последнего элемента в пути (например /home/ivan/) является директория. Во многих случаях его можно и не ставить.

Все эти команды будут иметь одинаковый эффект:

Еще один трюк. Если передать команде cd в качестве аргумента минус - она вернет нас в предыдущий каталог и выведет его адрес:

BASH
cd -
Нажмите, чтобы развернуть и увидеть больше

Послесловие

Сегодня мы научились перемещаться по файловой системе в командной строке, выводить наш рабочий каталог и просматривать содержимое каталогов.

В следующем посте мы, с учетом полученных сегодня знаний, подробно рассмотрим работу утилит: echo, cat, less с помощью которых можно выводить произвольный текст и смотреть содержимое файлов в терминале.

Спасибо, что читаете. Успехов в изучении Linux

Полезные источники

Предыдущие посты цикла

  1. Командная строка Linux, введение: типы команд, plain text, файловая система, shell prompt

Авторские права

Автор: Иван Чёрный

Ссылка: https://r4ven.me/linux/komandnaya-stroka-linux-navigaciya-v-sisteme-i-prosmotr-direktorij-komandy-pwd-ls-cd/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша