- Что такое листинг линукс
- 16 практических примеров использования команды ls в Linux
- 1. Вывод имен скрытых файлов/директорий
- 2. Удаление информации о текущей (.) и родительской (..) директориях из вывода
- 3. Вывод информации о файлах и директориях в обратном порядке
- 4. Сортировка имен файлов по расширениям
- 5. Сортировка элементов директории по времени модификации
- 6. Рекурсивный вывод элементов поддиректорий
- 7. Вывод имен файлов с информацией о соответствующих структурах inode
- 8. Вывод подробной информации о файлах и директориях
- 9. Вывод имени автора файла
- 10. Вывод экранирующих последовательностей в стиле C для специальных символов (таких, как символ перехода на новую строки и символ пробела)
- 11. Вывод размеров файлов в единицах, отличных от байтов
- 12. Вывод лишь имен и размеров файлов и директорий
- 13. Удаление информации о файлах резервных копий из вывода
- 14. Вывод информации о типах файлов
- 15. Изменение формата вывода
- 16. Сокрытие имен файлов определенного типа
- Заключение
Что такое листинг линукс
Чтобы просмотреть содержимое подкаталога `work’ в текущем каталоге, введите:
Чтобы просмотреть содержимое каталога `/usr/doc’, введите:
$ ls /usr/doc [Enter]
Из листинга по умолчанию Вы не сможете отличить каталоги и исполняемые файлы от обычных. Используйте ключ `-F’, который заставит ls поместить символ `/’ после имен подкаталогов и символ `*’ после имен исполняемых файлов:
В этом примере текущий рабочий каталог содержит исполняемый файл `repeat’, каталог `words’, и несколько файлов других типов `test1′ и `test2′.
Еще один способ просмотра содержимого каталогов — использование «менеджера файлов» , которых для Linux создано достаточно много; наиболее популярным является «Midnight Commander» или mc.
Чтобы вывести более подробный листинг каталога, используйте ls с ключом `-l’ («long»). Листинг будет содержать размер каждого файла в байтах, время последней модификации, тип файла, имя владельца и права доступа.
Для вывода подробной информации о каталоге `/usr/doc/bash’, введите: Первая строка содержит информацию о полном объеме занимаемого каталогом дискового пространства в блоках по 1024 байта (в данном случае 72). Каждая последующая строка содержит несколько колонок с информацией о каждом файле.
Первая колонка указывает тип файла и права доступа к нему. Первый символ в этой колонке определяет тип файла; тире (`-‘) означает обычный файл (по умолчанию). Каталоги обозначаются буквой `d’, а символические ссылки — буквой `l’. Остальные девять символов в первой колонке указывают права доступа к файлу. Вторая колонка указывает количество жестких ссылов на файл. Третья и четвертая колонки указывают пользователя и группу, которые владеют этим файлом. Пятая колонка содержит размер файла в байтах, шестая — время и дату последней модификации файла, а в последней колонке указано имя файла, к которому относится информация.
Чтобы просмотреть каталог рекурсивно, то есть со всеми содержащимися в нем подкаталогами, используйте опцию `-R’. Например, для текущего каталога введите: В данном примере текущий рабочий каталог содержит два подкаталога, `work’ и `play’, но не содержит файлов. Каждый из подкаталогов содержит файл `notes’.
Чтобы вывести полное оглавление все файловой системы, наберите:
Обычно этот ключ комбинируют с опцией `-l’, чтобы вывести наиболее полный листинг файлов системы:
Примечание: Некоторые каталоги могут не попасть в листинг, если у Вас нет права доступа к ним.
Чтобы отсортировать список файлов в каталоге по времени создания или модификации, используйте опцию `-t’. Например, чтобы вывести список файлов в каталоге `/usr/tmp’, чтобы самые новые файлы были вверху списка, введите:
$ ls -t /usr/tmp [Enter]
По умолчанию, ls не выводит имена файлов, начинающиеся с символа «точка» (`.’). Чтобы уменьшить листинг, многие приложения «скрывают» файлы конфигурации в Вашем домашнем каталоге, присваивая им имена, начинающиеся с точки; они называются dot-файлы, или «скрытые» . Каждый каталог имеет два специальных dot-файла: `..’ — родительский каталог и `.’ — сам этот каталог.
Чтобы увидеть все файлы в каталоге, включая скрытые, используйте опцию `-a’. Например, для текущего каталога:
Чтобы увидеть все файлы, исключая специальные `..’ и `.’, используйте опцию `’-A:
Чтобы увидеть цветной листинг каталога, используйте ls с ключом `—color’ ; тогда все имена файлов будут выведены разными цветами, в зависимости от их содержания. По умолчанию каталоги выводятся синим, текстовые файлы — белым, исполняемые — зеленым и т.д.
Примечание: Обычно для команды `ls -color’ создается псевдоним `ls’, так что листинг выводится в цвете по умолчанию.
Для того, чтобы вывести граф иерархии каталогов, используйте утилиту tree. Например, для вывода дерева каталогов, начиная с текущего, наберите:
В этом примере выводится дерево каталогов, в котором текущий каталог содержит два подкаталога `projects’ и `trip’; а каталог `projects’, в свою очередь, содержит подкаталоги `current’ и `old’.
Чтобы вывести дерево каталогов для определенного каталога, укажите его имя в качестве аргумента tree. Например, для Вашего домашнего каталога, введите:
Чтобы вывести дерево каталогов, в котором будут присутствовать только имена каталогов, используйте опцию `-d’. Это полезно при выводе полного дерева каталогов системы:
$ tree -d / > tree [Enter]
Команда ls имеет много опций для управления листингом и отображаемой информацией о файлах; приведенная таблица описывает некоторые из них.
Опция | Описание |
—color | Вывод имен файлов в цвете, в зависимости от их типа. |
-R | Рекурсивный список файлов. |
-a | Вывод всех файлов, включая скрытые. |
-d | Вывод только имен каталогов, без промсмотра их содержимого. |
-f | Вывод содержимого каталога в том порядке, в котором оно записано на диск. |
-l | Подробный листинг. |
-r | Сортировка содержимого каталога в обратном порядке. |
-s | Вывод размера — в блоках по 1K — для каждого файла. |
-t | Сортировка по времени создания или модификации файла. |
Примечание: Вы можете комбинировать опции в любом порядке; например, чтобы вывести список файлов, отсортированный по времени, со всеми атрибутами, введите `-lt’. Чтобы рекурсивно отобразить все скрытые файлы и их атрибуты, используйте `-lRa’. Порядок опций не имеет значения, так что `-lRa’ означает то же самое, что и `-alR’.
Next: Копирование файлов и каталогов Up: Работа с файлами Previous: Перемещение по каталогам Contents Index Alex Otwagin 2002-12-16
Источник
16 практических примеров использования команды ls в Linux
Оригинал: 16 Practical Examples of Linux LS command for Beginners
Автор: Himanshu Arora
Дата публикации: 18 апреля 2017 г.
Перевод: А.Панин
Дата перевода: 23 апреля 2017 г.
Если пользователю Linux требуется получить информацию о содержимом текущей директории в процессе работы с интерфейсом командной строки системы, он наверняка воспользуется командой ls . Это команда, которая по умолчанию выводит имена файлов из текущей директории в алфавитном порядке.
Хотя данная команда на первый взгляд и кажется крайне простой, она имеет огромное количество дополнительных возможностей (доступных посредством различных параметров), которые могут оказаться полезными в определенных обстоятельствах. В данной статье мы будем обсуждать приемы использования некоторых из этих параметров и иллюстрировать их с помощью простых для понимания примеров.
1. Вывод имен скрытых файлов/директорий
По умолчанию команда не отображает имена скрытых файлов и директорий. Однако, вы можете активировать механизм вывода информации об этих элементах файловой системы с помощью параметра -a . Таким образом, для вывода имен всех файлов/директорий из текущей директории (включая скрытые файлы и директории, имена которых начинаются с символа точки «.» ) достаточно выполнить следующую команду:
2. Удаление информации о текущей (.) и родительской (..) директориях из вывода
При использовании параметра -a , кроме всего прочего, осуществляется вывод информации о текущей и родительской директориях (элементы «.» и «..» соответственно). Если вам не нужна эта информация, вы можете использовать вместо упомянутого параметра параметр -A .
3. Вывод информации о файлах и директориях в обратном порядке
По умолчанию ls сортирует имена файлов и директорий в алфавитном порядке. Но если вам понадобится, вы можете организовать вывод имен элементов директории в обратном порядке. Для этого вам придется использовать параметр -r .
А это пример вывода:
4. Сортировка имен файлов по расширениям
Для сортировки имен файлов в алфавитном порядке по расширениям следует использовать параметр -X .
Это приведенная команда в действии:
При рассмотрении приведенной выше иллюстрации несложно заметить, что файл с именем «echo» и расширением «.c» расположен в выводе перед файлом с именем «byzanz_window» и расширением «.py» .
5. Сортировка элементов директории по времени модификации
Если вам нужно узнать, какие файлы или директории были недавно модифицированы, вы можете использовать параметр -t команды ls.
В случае использования параметра -t первыми выводятся имена самых новых элементов файловой системы.
6. Рекурсивный вывод элементов поддиректорий
Если вам нужно, вы можете использовать команду ls для вывода информации также и об элементах поддиректорий текущей директории. Для этой цели используется параметр -R .
Это приведенная выше команда в действии:
7. Вывод имен файлов с информацией о соответствующих структурах inode
Команда ls также позволяет вам выводить имена файлов/директорий вместе с номерами соответствующих структур inode. Для использования этой возможности предусмотрен параметр -i .
Команда в действии:
Очевидно, что на иллюстрации выше в столбцах слева приведены числа, являющиеся номерами структур inode, а в столбцах справа — соответствующие имена файлов/директорий.
8. Вывод подробной информации о файлах и директориях
Команда ls также может выводить подробную информацию о файлах и директориях. Для активации данного режима вывода (также известного, как «long listing format» или «широкий формат») вам придется использовать параметр -l .
Как видно на иллюстрации выше, вывод состоит из 8 столбцов. А это информация о содержимом каждого из столбцов:
- Первый столбец содержит информации о правах доступа к элементу директории
- Второй столбец содержит количество жестких ссылок на элемент директории
- Третий и четвертый столбцы содержат имена пользователя и группы пользователей, владеющих элементом директории
- Пятый столбец содержит размер элемента директории
- Шестой и седьмой столбцы содержат дату и время модификации элемента директории
- Последний, восьмой столбец содержит имя элемента директории
9. Вывод имени автора файла
Вы можете воспользоваться специальным параметром команды ls для вывода имени автора каждого из файлов в процессе вывода подробной информации о содержимом директории. Это параметр —author , который должен быть скомбинирован с параметром -l .
Как видно на иллюстрации выше, новый, пятый столбец содержит имя автора файла.
Примечание: на официальном веб-сайте проекта GNU по этому поводу сказано следующее: «В системе GNU/Hurd имена авторов файлов могут отличаться от имен их владельцев, в других же системах они совпадают».
10. Вывод экранирующих последовательностей в стиле C для специальных символов (таких, как символ перехода на новую строки и символ пробела)
Предположим, что текущая директория содержит файл, в имени которого содержится символ перехода на новую строку. Если вы попытаетесь вывести список содержимого директории, вы увидите, что в имени этого файла присутствует знак вопроса ( ? ), который обозначает непечатаемый символ.
Однако, команда ls поддерживает параметр, который может использоваться в данном случае, а именно, параметр, который позволяет вывести экранирующую последовательность в стиле C для непечатаемых символов. Этим параметром является параметр -b .
При рассмотрении приведенной выше иллюстрации становится очевидным, что в результате использования параметра -b в имени рассматриваемого файла появляется экранирующая последовательность «\n» . Аналогично, в данном режиме символы пробела заменяются на экранирующую последовательность символов «\[пробел]» .
11. Вывод размеров файлов в единицах, отличных от байтов
Если вам потребуется узнать размер файла, вы наверняка воспользуетесь параметром -l (предназначенным для активации механизма вывода подробной информации о файлах и директориях), который уже обсуждался три раздела назад. По умолчанию размер файлов выводится в байтах. Однако, бывают ситуации, в которых вам может потребоваться вывести размер файлов в килобайтах или мегабайтах.
Команда ls поддерживает параметр, позволяющий указать единицы измерения, которые должны использоваться при выводе размера файлов. Этим параметром является параметр —block-size . Например, если вам нужно, чтобы размер файлов выводился в килобайтах, вы можете воспользоваться следующей командой:
Помните о том, что при использовании параметра -l выводится реальный размер файла, то есть, количество данных. содержащихся в нем. Если же вам нужно знать размер файла в файловой системе или размер зарезервированного для его хранения пространства (да, эти размеры могут отличаться), вам придется использовать параметр -s .
Если вас интересует дополнительная информация о различиях в размерах файлов в случае использования параметров -l и -s , вы можете ознакомиться с материалом, доступным по данной ссылке .
12. Вывод лишь имен и размеров файлов и директорий
Если вы хотите, чтобы вывод команды ls содержал только имена файлов/директорий и их размеры, вы можете использовать параметр -h в комбинации с параметром -l / -s .
13. Удаление информации о файлах резервных копий из вывода
В Linux файлы резервных копий содержат в конце своих имен символ тильды (
). Команда ls поддерживает параметр -B , который позволяет не включать файлы резервных копий в вывод в том случае, если такие файлы не интересуют пользователя.
Например, на приведенной ниже иллюстрации показан вывод двух команд ls. В результате исполнения первой команды выводится имя файла резервной копии, а второй (с параметром -B ) — не выводится.
14. Вывод информации о типах файлов
По умолчанию выводимые имена элементов директории раскрашиваются в разные цвета в зависимости от их типов. Однако, если вам нужно, вы можете активировать режим добавления индикаторов (используемых для тех же целей) в вывод. Для этой цели предназначен параметр -F .
Это пример вывода команды:
Обратите внимание на дополнительный символ «/» после имени директории «example» , а также дополнительный символ «*» после имени исполняемого файла «test» . Это полный список индикаторов с информацией об их значениях:
- @ указывает на символьную ссылку
- * указывает на исполняемый файл
- = указывает на файл сокета
- | указывает на файл именованного программного канала
- > указывает на файл двери
- / указывает на директорию
15. Изменение формата вывода
Если вам понадобится, вы также сможете изменить формат вывода команды ls. Параметр —format позволяет сделать это. Данный параметр требует явного указания названия формата вывода, который вам нужен. Доступны форматы вывода со следующими названиями: «verbose» или «long» , «commas» , «horizontal» или «across» , «vertical» и «single-column» .
Например, вы можете использовать параметр —format=commas , если хотите получить список из разделенных с помощью запятых имен файлов:
По аналогии параметр —format=single-column может использоваться в случае необходимости в выводе имен файлов в одном столбце:
16. Сокрытие имен файлов определенного типа
При желании, вы также можете убрать из вывода команды ls имена файлов определенного типа. Параметр —hide (который предусматривает обязательную передачу шаблона имен файлов командной оболочки) позволяет сделать это. Например, если вам нужно, чтобы в выводе отсутствовали имена файлов с расширением .txt , вы должны выполнить следующую команду:
На иллюстрации ниже показан вывод команды ls без каких-либо параметров и с параметром —hide .
Заключение
Хотя ls и является крайне простой командой, эффективность ее использования зависит от того, насколько хорошо пользователь знаком с поддерживаемыми ею параметрами. Испытайте рассмотренные выше параметры самостоятельно, а в случае возникновения каких-либо сомнений или вопросов сразу же обращайтесь к соответствующей странице руководства .
Источник