- Команда ls
- Описание команды ls
- Синтаксис
- Опции
- Примеры использования команды ls
- Подробный список файлов
- Показать скрытые файлы
- Понятный размер файлов
- Обозначить директории
- Список файлов в одну колонку
- Вывести только файлы с определенным расширением
- Файлы, начинающиеся на определенную букву
- Список файлов с сортировкой по времени
- Сортировка по размеру
- Список файлов, включая вложенные директории
- Linux ls ignore directories
- ОПИСАНИЕ
- ОПЦИИ POSIX
- ПОДРОБНОСТИ ВЕРСИИ GNU
- ОПЦИИ GNU
- СТАНДАРТНЫЕ ОПЦИИ GNU
- ОКРУЖЕНИЕ
Команда ls
Описание команды ls
Синтаксис
директория — задает директорию, содержимое которой нужно вывести. Если вместо директории указать файл, то будет выведена информация о данном файле.
Если директория не указана, то выводится содержимое текущей директории.
Опции
- K — килобайты.
- M — мегабайты.
- G — гигабайты.
SIZE может принимать значения K, M, G, T, P, E, Z, Y (используется множитель 1024) или KB, MB, GB. (используется множитель 1000).
(такие файлы обычно создаются текстовыми редакторами в качестве резервной копии исходного файла).
- auto — автоматически.
- always — всегда.
- never — не раскрашивать.
- / — директория
- * — исполняемый файл.
- @ — символическая ссылка.
- = — сокет.
- > — door.
- | — именованная очередь FIFO (pipe).
- -x (across)
- -m (commas) — через запятую.
- -x (horizontal)
- -l (long) — подробная информация о файлах.
- -1 (single-column) — в одну колонку.
- -l (verbose)
- -C (vertical)
- none ( -U )
- size ( -S )
- time ( -t )
- version ( -v )
- extension ( -X )
- atime, access или use ( -u )
- ctime или status ( -c )
Если указана опция —sort=time , то выполняется сортировка по соответствующему времени (новые файлы располагаются сверху).
Примеры использования команды ls
Рассмотрим несколько примеров использования команды ls.
Подробный список файлов
Выведем содержимое текущей директории, в которой мы в данной момент находимся. Используем опцию -l , чтобы выводить подробную информацию о файлах.
Если необходимо вывести содержимое другой директории, то нужно указать путь до директории, например:
Показать скрытые файлы
По умолчанию команда ls не показывает скрытые файлы. Что их показать, используется опция -a :
Понятный размер файлов
Вывести размер файлов в понятном формате (опция -h ):
Обозначить директории
У команды ls есть очень полезная опция -F , про которую не все знают. Она добавляет к именам файлов дополнительные обозначения, по которым сразу понятно что это за файл. Например, для директорий она добавляет символ /, и в списке файлов сразу видно где директории а где обычные файлы.
Список файлов в одну колонку
Вывести список в одну колонку:
Вывести только файлы с определенным расширением
Выведем файлы только с расширением .txt :
Выведем файлы с определенными расширениями ( .html , .php и .txt ):
Файлы, начинающиеся на определенную букву
Показать только файлы, имена которых начинаются на одну из букв указанного множества (a, d, u и x):
Список файлов с сортировкой по времени
Выведем список файлов с сортировкой по времени последнего изменения файла. Более свежие файлы располагаются сверху.
Сортировка по времени, но в обратном порядке:
Сортировка по размеру
Отсортируем файлы по размеру. Большие файлы располагаются первыми.
Список файлов, включая вложенные директории
Выведем список файлов, включая все файлы внутри вложенных директорий (рекурсивный обход всех директорий):
Источник
Linux ls ignore directories
Опции POSIX: [-CFRacdilqrtu1] [—]
ОПИСАНИЕ
Каждый список файлов (для файлов, которые не являются каталогами и для каждого каталога, содержащего список файлов) сортируется отдельно в алфавитной последовательности текущих региональных настроек (locale). Когда указана опция -l, то перед каждым списком выводится итоговая строка с общим размером всех файлов в списке, который измеряется в полу-килобайтах (512 байт).
Результаты печатаются на стандартный вывод, по одному файлу на строку, если с помощью опции -C не задан многоколоночный вывод. Однако при выводе на терминал не определено, будет ли вывод осуществляться в одну колонку или в несколько. Для задания одноколоночного или многоколоночного режима вывода могут использоваться опции -1 и -C, соответственно.
ОПЦИИ POSIX
Типы файлов могут принимать следующие значения: — для обычного файла, d для каталога, b для блочного устройства, c для символьного устройства, l для символической ссылки, p для FIFO и s для гнезда (socket).
По умолчанию, временной штамп является временем последней модификации; опции -c и -u позволяют выбрать два других временных штампа. Для файлов устройств, поле размера обычно заменяется на старший и младший номера устройства. -q Вместо непечатаемых символов в имени файла при выводе будут ставиться знаки вопроса. (Эта опция включена по умолчанию при выводе на терминал.) -r Производить сортировку в обратном порядке. -t Сортировать по показываемому временному штампу. -u Использовать при сортировке (опция -t) или перечислении (опция -l) время последнего доступа к файлу вместо времени последней модификации файла. -1 Выдавать в одноколоночном формате. — Завершает список опций.
ПОДРОБНОСТИ ВЕРСИИ GNU
Программа dir (также установленная под именем d ) является эквивалентом `ls -C -b’; таким образом, файлы по умолчанию выдаются в многоколоночном формате (с вертикальной сортировкой). Программа vdir (также установленная под именем v ) эквивалентна `ls -l -b’; таким образом, файлы по умолчанию выдаются в длинном формате.
ОПЦИИ GNU
Каждый каталог со списком содержимого предваряется строкой `total blocks ‘, где blocks — это общее дисковое пространство, используемое всеми файлами в данном каталоге. По умолчанию, размер блока составляет 1024 байта; если установлена переменная окружения POSIXLY_CORRECT , то используется размер блока 512 байт (если не задана опция -k ). blocks считает каждую жесткую ссылку отдельно; задать по другому через аргументы невозможно.
Права доступа отображаются в практически обычном символьном виде, но ls комбинирует несколько битов в третий символ каждого набора прав доступа: s Если setuid или setgid бит установлены вместе с соответствующим битом прав на выполнение. S Если setuid или setgid бит установлены, но соответствующий бит прав на выполнение не установлен. t Если sticky-бит установлен вместе с битом прав на выполнение остальными. T Если sticky-бит установлен, но бит прав на выполнение остальными нет. x Если бит прав на выполнение установлен, и не выполняется ни одно из вышеуказанных условий. — Во всех остальных случаях. -m, —format=commas Выдавать список файлов в строчку с максимально возможным количеством имен файлов на строку, разделяя имена запятой и пробелом. -n, —numeric-uid-gid Выдавать числовые UID и GID вместо имен владельца и группы. -o Применять длинный формат, но не показывать информацию о группе. Данная опция эквивалентна —format=long —no-group . Данная опция предоставляется для совместимости с другими версиями ls . -p, —file-type, —indicator-style=file-type Добавлять символ, показывающий тип файла, к каждому имени файла. Данная опция похожа на -F , за исключением того, что исполняемые файлы не помечаются. (Фактически в fileutils-4.0 опция —file-type эквивалентна —classify.) -q, —hide-control-chars Выдавать знаки вопроса вместо неграфических символов в имени файла. Эта опция включена по умолчанию. -r, —reverse Сортировать содержимое каталога в обратном порядке. -s, —size Выдавать размер каждого файла в блоках по 1024 байта слева от имени файла. Если установлена переменная окружения POSIXLY_CORRECT , то применяется размер блока 512, если не задана опция -k . -t, —sort=time Сортировать по времени последней модификации (поле `mtime’ в inode) вместо того, чтобы производить сортировку по алфавиту. Самые свежие файлы будут отображаться первыми. -u, —time=atime, —time=access, —time=use Сортировать по времени последнего доступа к файлу, вместо времени последней модификации (поле `atime’ в inode). Если задан длинный формат вывода, выдавать время последнего доступа вместо времени последней модификации. -v Производить сортировку в соответствии с номером версии файлов. При этом учитывается, что имена файлов часто содержат номера версий или порядковые номера. Стандартные функции сортировки обычно не обеспечивают сортировку, которую мог бы ожидать человек, так как сортировка производится на основе посимвольного сравнения. Сортировка по версиям решает эту проблему и особенно полезна, когда производится просмотр каталогов, содержащих много файлов, у которых в имени есть номер версии. Например:
Заметим, что цифровые части с лидирующими нулями определяются как более маленькие:
(Новое в fileutils-4.0.) -w, —width cols Назначает вывод на экран в cols колонок. По умолчанию, если это возможно, данное значение узнается от драйвера терминала; в противном случае используется значение переменной окружения COLUMNS , если она установлена; в противном случае, по умолчанию, устанавливается 80. -x, —format=across, —format=horizontal Выдавать список файлов в многоколоночном режиме, с сортировкой по горизонтали. -A, —almost-all Выдавать все файлы, кроме `.’ и `..’. -B, —ignore-backups Не показывать файлы, которые заканчиваются на `
‘, если они не заданы в командной строке. -C, —format=vertical Выдавать файлы в многоколоночном режиме, с сортировкой по вертикали. Опция устанавливается по умолчанию, если стандартный вывод является терминалом. Данная опция всегда устанавливается по умолчанию для программ dir и d . -D, —dired При длинном формате ( -l ) , после основного вывода, выдавать дополнительную строку вида:
//DIRED// BEG1 END1 BEG2 END2 .
Здесь BEGn и ENDn — это целые беззнаковые числа, которые для каждой записи показывают байтовую позицию начала и конца каждого имени файла. Таким образом, Emacs может легко найти имена, даже когда они содержат необычные символы, такие как пробелы или символы новой строки.
Если каталоги отображаются рекурсивно ( -R ), то похожая строка выводится после каждого подкаталога:
//SUBDIRED// BEG1 END1 . -F, —classify, —indicator-style=classify Добавлять к каждому имени файла символ, показывающий его тип. Для обычных исполняемых файлов это `*’. Для каталога добавляется `/’, для FIFO — `|’, для символических ссылок `@’, для гнезд `=’, для обычных файлов ничего не добавляется. -G, —no-group Не отображать информацию о группе в длинном формате вывода. -H, —si Делает то же, что и опция -h , но использует официальные единицы измерения SI (где для расчетов используется 1000 вместо 1024 и, таким образом, M — это 1000000 вместо 10485576). (Новое в fileutils-4.0.) -I, —ignore= шаблон Не показывать файлы, имена которых совпадают с заданным шаблоном (шаблон — это не регулярное выражение), если только они не заданы в командной строке. Как и в shell, начальная `.’ в имени файла не совпадает с символом `*’, заданным в начале шаблона . Чтобы спрятать ваши каталоги, вы можете просто добавить LS_OPTIONS=»$LS_OPTIONS -I mystuff» в /etc/profile. -L, —dereference Выдавать информацию о файлах, на которые указывают символические ссылки, вместо информации о самих символических ссылках. -N, —literal Не заключать в кавычки имена файлов. -Q, —quote-name, —quoting-style=c Заключать имена файлов в двойные кавычки и показывать неграфические символы как в языке С. -R, —recursive Рекурсивно выдавать список содержимого всех каталогов. -S, —sort=size Производить сортировку по размеру файла, вместо сортировки по алфавиту. Таким образом, наибольшие файлы будут показаны сначала. -T, —tabsize cols Назначить ширину табуляции в cols колонок. По умолчанию 8, может быть также задано с помощью переменной окружения TABSIZE, если при этом не установлена переменная окружения POSIXLY_CORRECT. ls использует табуляцию для выравнивания вывода, когда это возможно. Если cols равно нулю, то табуляция не используется. -U, —sort=none Не производить сортировку; список файлов будет выдаваться в том порядке, в каком файлы записаны на диск. (отличие между опциями -U и -f состоит в том, что данная опция не запрещает и не разрешает другие опции). Эта опция может быть особенно полезна, когда выдаются списки содержимого очень больших каталогов, при этом сортировка не выполняется и весь процесс происходит быстрее). -X, —sort=extension Производить сортировку в алфавитном порядке по расширениям файлов (символы после последней `.’); файлы без расширений будут показаны первыми. —block-size= size Выдает размеры в блоках по size байт. (Новое в fileutils-4.0.) —color[= when ] Задает цвет для различения типов файлов. Цвета задаются с использованием переменной окружения LS_COLORS . Информацию о том, как нужно задавать значение этой переменной, можно найти в странице руководства dircolors (1). Параметр when может быть опущен или принимать одно из следующих значений: none Вообще не использовать цвет. Установлено по умолчанию. auto Использовать цвет, только если стандартный вывод является терминалом. always Всегда использовать цвет. Задание —color без параметра when эквивалентно —color=always . —full-time Выдавать время в полном, а не в стандартном сокращенном варианте. Данный формат выглядит так же, как и в команде date (1) по умолчанию; его невозможно изменить, но вы можете извлечь строку с датой через команду cut (1) и пропустить результат через `date -d’.
Это может быть очень полезно, потому что время в таком формате включает секунды. (Файловые системы Unix записывают временной штамп файла с округлением до секунды, так что данная опция показывает полную информацию о временном штампе). Например, это может помочь, если вы разбираетесь, почему некий Makefile неправильно перегенерирует файлы. —quoting-style= word Используйте стиль word для выбора режима квотинга имен файлов. Стиль word может принимать следующие значения: literal Вывод имен файлов как есть. Это поведение ls по умолчанию. shell Заключает имена файлов в одиночные кавычки для shell, если они содержат метасимволы или могут привести к неоднозначной выдаче. shell-always Заключает имена файлов в одиночные кавычки для shell, даже если этого не требуется. c Заключает имена файлов в двойные кавычки, как в языке C; это равносильно опции -Q . escape Как и для c , за исключением того, что имя не заключается в двойные кавычки; эквивалентно опции -b.
Значение по умолчанию для данной опции может быть задано в переменной окружения QUOTING_STYLE. (См. ниже главу ОКРУЖЕНИЕ ). —show-control-chars Выдавать неграфические символы в именах файлов как есть. Так задано по умолчанию, если вывод осуществляется на терминал, а программа называется ls .
СТАНДАРТНЫЕ ОПЦИИ GNU
ОКРУЖЕНИЕ
При работе обычным образом используются значения переменных LANG, LC_ALL, LC_CTYPE и LC_MESSAGES. Переменная TZ задает временную зону для временных меток, которые выдает ls . Переменная LS_COLORS используется для задания цветов. Переменная LS_OPTIONS хранит опции по умолчанию.
Переменная QUOTING_STYLE используется для задания значения по умолчанию для опции —quoting-style . Данная опция по умолчанию установлена в literal , но авторы предупреждают, что это умолчание может когда-нибудь в следующей версии измениться на shell .
Источник