Если вы часто используете терминал, то довольно часто возникает необходимость посмотреть содержимое той или иной папки. Автодополнение спасает во многих случаях, но если вы не знаете что искать и не хотите использовать файловый менеджер, то быстро посмотреть что находится в папке может быть очень полезно. Другое применение команды ls — посмотреть разрешения для файлов и папок.
Установка правильных прав и владельца файла имеет очень важное значение для работы различного программного обеспечения, например, того же самого веб-сервера. В этой статье будет рассмотрена команда ls linux, основные ее опции и возможности, а также примеры применения.
Содержание статьи:
КОМАНДА LS LINUX
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции /путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
- -a — отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
- -A — не отображать ссылку на текущую папку и корневую папку . и ..;
- —author — выводить создателя файла в режиме подробного списка;
- -b — выводить Escape последовательности вместо непечатаемых символов;
- —block-size — выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
- -B — не выводить резервные копии, их имена начинаются с ~;
- -c — сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
- -C — выводить колонками;
- —color — включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
- -d — выводить только директории, без их содержимого, полезно при рекурсивном выводе;
- -D — использовать режим вывода, совместимый с Emacs;
- -f — не сортировать;
- -F — показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
- —full-time — показывать подробную информацию, плюс вся информация о времени в формате ISO;
- -g — показывать подробную информацию, но кроме владельца файла;
- —group-directories-first — сначала отображать директории, а уже потом файлы;
- -G — не выводить имена групп;
- -h — выводить размеры папок в удобном для чтения формате;
- -H — открывать символические ссылки при рекурсивном использовании;
- —hide — не отображать файлы, которые начинаются с указанного символа;
- -i — отображать номер индекса inode, в которой хранится этот файл;
- -l — выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
- -L — для символических ссылок отображать информацию о файле, на который они ссылаются;
- -m — разделять элементы списка запятой;
- -n — выводить UID и GID вместо имени и группы пользователя;
- -N — выводить имена как есть, не обрабатывать контролирующие последовательности;
- -Q — брать имена папок и файлов в кавычки;
- -r — обратный порядок сортировки;
- -R — рекурсивно отображать содержимое поддиректорий;
- -s — выводить размер файла в блоках;
- -S — сортировать по размеру, сначала большие;
- -t — сортировать по времени последней модификации;
- -u — сортировать по времени последнего доступа;
- -U — не сортировать;
- -X — сортировать по алфавиту;
- -Z — отображать информацию о расширениях SELinux;
- -1 — отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
ИСПОЛЬЗОВАНИЕ LS В LINUX
Как вы уже поняли, ls — это сокращение от list, эта команда представляет из себя аналог команды dir для Linux. Самый простой способ использовать команду, запустить ее без параметров и посмотреть содержимое текущей папки:
ls
Чтобы посмотреть список файлов в папке linux для точно заданной папки, вам нужно указать путь к ней. Например, смотрим содержимое корневой папки:
ls /
Или папки /bin:
ls /bin/
По умолчанию включен цветной вывод, поэтому вы видите столько различных цветов. Например, исполняемые файлы обозначаются салатовым, а ссылки голубым. Теперь посмотрим содержимое домашней папки снова, только на этот раз в виде списка с максимальным количеством информации:
ls -l
Тут вывод уже разделен на отдельные колонки, в первой колонке указаны права доступа к файлу в формате владелец группа остальные. Следующая колонка — это тип файла или папки, дальше владелец и группа, затем размер, дата создания и последний параметр — имя. Если вы еще хотите знать кто создал файл, можно использовать опцию author:
ls -l --author
Колонка создателя будет добавлена после группы. Дальше размер. Он выводится в байтах, килобайтах или еще в чем-то и нам не совсем понятно что там происходит, поэтому добавьте опцию -h чтобы выводить размер в более удобном виде:
ls -lh
Для папок размер выводится не сумой всех размеров всех файлов, а всего лишь то место, которое занимает сама папка, поэтому давайте посмотрим пример с файлами:
ls -l Фото
ls -lh Фото
Если вы хотите видеть скрытые файлы, а в домашней папке их просто море, то используйте опцию -a:
ls -a
Или смотрим скрытые файлы без ссылок на текущую и родительскую папку:
ls -A
Теперь нас будет интересовать сортировка. Сначала отсортируем файлы по размеру:
ls -lSh Фото
Обратите внимание, что файлы расположены от большего к меньшему. Теперь мы можем включить обратный порядок:
ls -lShr
С помощью опции -r мы вывели файлы в обратном порядке. Теперь отсортируем по алфавиту:
ls -lX
Или сортируем по времени последней модификации:
ls -lt
Обратите внимание на колонку времени, действительно, самые новые файлы будут вверху списка. Если вы хотите посмотреть какие метки SELinux присвоены файлу, необходимо использовать опцию -Z:
ls -lZ
Но это возможно только в системах, где установлена надстройка SELinux. Если вы хотите рекурсивно вывести содержимое всех папок, используйте опцию -R:
ls -lR /usr/
Если же вам нужно список папок и файлов в директории через запятую, что можно использовать -m:
ls -m