Если вы часто используете терминал, то довольно часто возникает необходимость посмотреть содержимое той или иной папки. Автодополнение спасает во многих случаях, но если вы не знаете что искать и не хотите использовать файловый менеджер, то быстро посмотреть что находится в папке может быть очень полезно. Другое применение команды 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
Выводы
Как видите, команда ls linux достаточно сложная, но вам будет достаточно только несколько основных ее функций. А в плане - "Просто посмотреть что делается в папке", эта команда очень проста. Если у вас остались вопросы, спрашивайте в комментариях!
Сто баллов в карму тем, кто придумал $ ll
Ранее я всегда пользовался $ ls -la
а теперь только $ ll
это просто кайф! 🙂
Это столо бы добавить в статью
У меня еще la и l есть
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
Ошибка.
-B - не выводить резервные копии, их имена ЗАКАНЧИВАЮТСЯ на ~, а не начинаются.
Здравствуйте, уважаемый ADMIN, у мееня есть вопрос, а как вывести содержимое только папок, есть ли какая-то опция для команды ls или здесь нужна какая-то другая команда?
Такой опции нет, разве что можно использовать команду find - find папка -type f
Сто баллов в карму тем, кто придумал $ ll
Ранее я всегда пользовался $ ls -la
а теперь только $ ll
это просто кайф!
Продолжайте дальше.
Пол-царства за ссылку на эту обоину! )))
https://vk.com/albums-110956219?z=photo-110956219_456240583%2Fphotos-110956219
только -l это не только про создание, но и про изменение
Сто баллов в карму тем, кто придумал $ ll
Ранее я всегда пользовался $ ls -la
а теперь только $ ll
это просто кайф!
Продолжайте дальше
:redebalo:
Привет всем! запускают терминал на смартфоне samsung a50, набираю команду LS -a proc/sys/net/ и она мне говорит Permission denied. Походу, надо рутправа сделать? Цель этого всего - хочу узнать номер TTL, которые смартфон ставит в пакеты, которые уходят дальше в сеть МТС. Прикольно, что директории proc/sys открываются.
-d - это не совсем про директории