Linux – операционная система, в которой управление осуществляется не только через встроенный графический интерфейс, но и при помощи терминала. Второй вариант открывает перед пользователем намного больше возможностей и перспектив, но тем, кто раньше был на Windows, с нуля начать полноценную эксплуатацию бывает проблематично. Данная ОС имеет множество команд, зная о которых, клиент сможет выполнять различные действия, выставлять настройки и конфигурации.
В статье будет рассмотрена одна из наиболее популярных терминальных команд Unix-систем (в число которых входит Ubuntu) – LS. Она нужна для отображения информации о файлах и документах, их сортировки. Предложенный материал подойдет как новичкам, так и более опытным пользователям Linux.
Описание и форма представления
Команда LS в Linux выводит на экран (в терминале) содержимое каталогов. Она нужна для того, чтобы посмотреть список всех файлов, перечисленных в командной строке. После этого – для изучения файлов, расположенных в каталогах. Если ни один файл не указан, по умолчанию аргументом становится . (текущий каталог).
LS выводит список файлов в директории. Она может выполнять классификацию и сортировку результатов за счет указания различных опций. Стандартная форма представления LS:
Здесь «директория» отвечает за задание директории, содержимое которой потребуется «считать». Если вместо нее указать конкретный файл, выведутся сведения о конкретном документе.
Опции
Команда LS в командной строке может быть использована различными способами. Нужно знать, какие у нее существуют опции. Каждая из них означает сортировку или вывод с теми или иными параметрами:
- -all или -a. Необходимо использовать соответствующие опции для того, чтобы выводить все файлы, включая скрытые.
- -A, —almost-all. Запись в таком формате позволяет отображать все документы, кроме заданных пользователем.
- —author. Опция для демонстрации владельца файла. Используется вместе с -l.
- —escape, -b. Надо использовать данную команду тогда, когда имена файлов содержат непечатаемые символы. Она позволяет вывести соответствующие компоненты в виде Esc-последовательности в стиле языка C.
- -B, —ignore-backups. Такой командой можно не выводить документы, имена которых заканчиваются на «тильду». Такие элементы обычно создаются редакторами текста в виде резервной копии исходного файла.
- -c – нужна для того чтобы сортировать по времени последнего изменения документа. Новые компоненты располагаются выше. Если использовать с опциями -lt, можно вывести время самой «свежей» корректировки. После этого включается сортировка по времени последней модификации. При применении опции -l происходит сортировка по имени документа.
- -C – вывод файлов колонками в терминале.
- —color=auto – раскрашивание имен документов в разные цвета. Здесь never – это никогда, always – всегда, а auto – автоматически.
- -d, —directory – такой командой можно пользоваться для отображения информации о директории. Ее содержимое выводиться в терминал не будет.
- —block-size=SIZE – формат, в котором выводится размер файлов. Значение SIZE необходимо заменить на один из вариантов: K – килобайты, M – мегабайты, G – гигабайты.
- -D, —dried преобразовывает ввод команды в формат, который совместим в Emacs.
- -f – так можно обозначить отключение параметров сортировки.
- -F, —classify – добавить специальные символы к имени документа. Они покажут, с каким файлом предстоит работать: / –директория, = – сокет, > – door, | – именованная очередь FIFO, @ – символическая ссылка, * – исполняемый файл.
- —file-type работает так же, как и предыдущая опция. Она не добавляет к записям символ «звездочка».
- -l. Такой командой можно отобразить подробный список, включающий в себя права доступа.
- -L, —dereference. Для символических ссылок выводит информацию о файлах, на которую указывает ссылка.
- -l ‘шаблон’, —ignore=ШАБЛОН. Не выводит документы после обработки LS, имена которых соответствуют заданному шаблону.
- -o – отображение полного списка без групп.
- -t – сортировка по времени изменения. В первую очередь будут показаны более новые документы.
- -h – делает информацию о размерах директорий и файлов удобной для восприятия человеком.
- -hide – этой командой можно скрыть файлы, который полностью совпадают с указанной символьной записью.
- -1 – вывод документов в один столбец.
- -V – означает вывод версии приложения.
- -x – формат вывода. Здесь задаются параметры, обозначающие принцип отображения списка файлов. В качестве аргументов могут быть переданы значения: x, m (через запятую), l (подробная информация о документах), -1 (одна колонка), -C (по вертикали).
- -i, —inode – выводит индекс файла (номер индексного дескриптора inode).
- -n – означает, что имена документов не будут заключаться в кавычки.
- -p – имена директорий начинаются со знака «слеш» (/).
- -q – означает вывод в имени документа знака вопроса всегда, когда в строке появляются непечатаемые символы. Вместо соответствующих компонентов будет стоять «?».
- —Q – заключает имена документов в кавычки.
- —quoting-style=WORD – LS будет работать так, как и в прошлом случае. WORD задает стиль кавычек.
- -r, —reverse – сортировка списка документов в обратном порядке.
- -R – вывод содержимого всех директорий (рекурсивный обход директорий).
- -S – при использовании LS S будет активирована сортировка по размеру. Наиболее объемные компоненты отображаются сверху.
- —sort=WORD – сортировка заданным образом. WORD принимает значения –t (время), -S (размер), -U (без сортировки), -X.
- -T – делает возможной настройку ширины табуляции. По умолчанию установлено значение 8.
- -w – ширина колонки при выводе желаемого списка через LS.
- -X – сортирование по расширению.
- -Z – выводить данные, которые предоставлены SELinux.
- —version – при помощи этой опции смотрит на актуальную версию LS.
- —help –справка об LS.
Каждая представленная опция – это ключ (key), который отвечает за выполнение тех или иных операций при выводе данных о документах и директориях. Далее рассмотрим несколько наглядных примеров использования LS. Они помогут понять принцип работы утилиты.
Правильная интерпретация
LS – одна из наиболее популярных команд в Линуксе. При использовании командной строки (терминала) необходимо правильно интерпретировать каждую запись в ней. В противном случае результат вывода данных окажется не тем, что ожидает пользователь.
В заблуждение может ввести команда LS — l. Она включает в себя набор из 10 символов, показывает режимы доступа к документу. Здесь:
- — указывает на то, что работать придется именно с файлом. Для каталога используется символ «d».
- Следующие 10 символов – это три группы, отображающий режимы доступа. Первая (rwx) – права доступа для владельца, вторая (r-x) – режим доступа для группы, третья – права доступа для всех остальных пользователей.
- В полях, отображающих владельца и группу, вместо символьных имен иногда стоят цифровые идентификаторы. Это происходит, когда соответствующие записи были удалены из /etc/passwd или /etc/group.
- Наличие цифровых идентификаторов в именах могут указывать на ошибки в базах данных NIS или LDAP.
При отображении времени последнего изменения необходимо понимать, что на самом деле будет выведена информация не о времени редактирования содержимого, а время внесения изменений в одном или нескольких атрибутах.
Примеры
Теперь можно перейти к практическому применению LS. Сделаем несколько «запросов» в терминале для выполнения различных операций с соответствующей утилитой.
Без параметров
LS без дополнительных опций – это first, что нужно знать пользователям Линукса. Данная «команда» отображает список каталогов и документов в «чистом» формате.
Такие детали как типы, размер, дата и время изменения, ссылки и разрешения тут показываться не будут.
С -l
Команда, которая делает возможной детализацию. Она выводит на экран не только каталог или документ, но и права (1 root root, 2 root), владельца, дату и время внесения корректировок.
Выше – пример того, что получится в терминале при использовании соответствующей опции вместе с LS.
Скрытые файлы
LS a – это запись, которая поможет увидеть все файлы. При ее использовании в терминал будут выведены не только «обычные» компоненты, но и скрытые.
Детализацию LS a не поддерживает. Выше – пример того, что появится в терминале при использовании команды.
Выделение директорий
Для удобства доступа к файлу пользователям иногда хочется просматривать директории в комфортном формате. LS вместе с -F позволит выделить папки и каталоги.
Здесь каждая директория будет помечена в конце символом «слеш».
Рекурсивные списки
Ключи команды LS помогают настраивать особенности и параметры отображения данных. Если воспользоваться -R, на экране появится запись такого формата:
Она выведет на дисплей устройства список деревьев имеющихся каталогов.
Обратный порядок
Ключи -r и -ltr отвечают за отображение информации в обратном порядке. При использовании первой команды с LS получится такой результат:
Если же воспользоваться другой (another one) опцией – -ltr, произойдет сортировка по дате последнего изменения.
Информация выводится от старых компонентов к новым.
Inode
При помощи LS i можно увидеть перед именем файла или каталога некоторое число. Это – индексный дескриптор:
Выше – наглядный пример того, что будет на экране, при использовании соответствующей команды.
Элементы в каталоге
-l помогает отобразить список файлов в каталоге /tmp. Если требуется посмотреть информацию о соответствующей директории, необходимо использовать параметр ld.
Выглядит ситуация так, как показано выше. Ld редко требуется обычным пользователям для выполнения «стандартных» операций.
Версия утилиты
Кроме ld продвинутым клиентам может пригодиться версия утилиты LS. Она выводится через параметр —version.
При обработке соответствующей операции терминал выдаст данные у текущей версии утилиты. Пример продемонстрирован выше.
Интересует Linux и системное администрирование? Добро пожаловать на курс в Otus!