ryg

LS команда терминала bash в mac OS X

Назначение:

Вывести содержимое папки или папок

Синтаксис:

  ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]

Описание:

     Для каждого параметра file  отличного по типу от папки, ls выводит его имя и информацию, затребованную в параметрах команды. Для параметра file имеющего тип "папка" команда выводит список файлов находящихся в ней и ассоциированную информацию, затребованную в параметрах.
    Если параметр file опущен, то выводится содержимое текущей папки. Если указано несколько параметров file, то сначала выводится информация о параметрах типа файл и потом о содержимом папок в алфавитном порядке.

Параметры:

-@ Включить вывод дополнительных атрибутов ключей и размеров, используется вместе с параметром -l
-1 Число "1". Вывести результаты в одну колонку. Параметр установлен по умолчанию в случае вывода не на экран терминала
-A Вывести все результаты исключая . и .. По умолчанию для супер-пользователя.
-a Включить в результат файлы и папки, начинающиеся на точку (.)
-B Выводить непечатаемые символы (как определено в ctype и в локальных настройках системы), в именах файлов в виде \xxx, где xxx -числа в восьмеричной системе
-b Аналогично -B, но там где возможно будет использованы коды C escape.
-C
Вывод в многоколоночном режиме. Параметр установлен по умолчанию, если вывод идет на экран терминала.
-c Использовать для сортировки время последнего изменения файла. Работает вместе с параметрами -t (сортировка по времени) или -l (подробный вывод)
-d

вывести только папку без рекурсии

-e Используется вместе -l и выводит Access Control List (ACL) связанный с файлом (если он имеется).
-F Сразу после имени папки отобразить символ '/', после исполняемых файлов отобразить '*', после символьной ссылки '@', после сокетов (socket) показать равно '=', знак процентов '%' после whiteout и вертикальную черту '|' после FIFO
-f Вывести без сортировки, автоматически включает параметр -a
-G Включить цветной вывод результатов. Этот параметр определяет значение переменно окружения CLICOLOR (описание переменных описано после таблицы параметров)
-g Этот параметр доступен для совместимости с POSIX. Совместно с параметром -l выводится имя группы-владельца файла, а имя пользователя-владельца опускается.
-H Исследовать символьные ссылки в командной строке. Параметр допустим, если не используются -F, -d и -l
-h При использовании с параметром -l  будут использованы суффиксы для указания размера файла 
-i Для каждого файла печатать его серийный номер (inode number)
-k Если указан параметр -s, то выводить разер файла в килобайтах, а не в блоках. Этот параметр заменяет переменную окружения BLOCKSIZE
-L Следовать за всеми символьными ссылками к финальной цели и вывести список файлов из папки, на которую ссылается ссылка. Отменяет параметр -P
-l Подробный вывод данных. Если вывод в окно терминала, то в первой строке выводится сумма размеров всех файлов папки. Подробнее о параметре написано ниже.
-m Потоковый вывод, файлы выводятся подряд, разделенные запятой.
-n Отображать пользователя и идентификатор группы числом. Более быстрое выполнение, чем отображение с помощью -l, при этом параметр включает параметр -l
-O Выводить признаки файла (file flags). Подробнее команда chflags. Работает вместе с параметром -l.
-o Вывести подробную информацию, опуская при этом Group ID
-P Если параметр file символьная ссылка, вывести сначала саму ссылку и потом файлы, на которые она ссылается. Параметр отменяет параметры -H и -L
-p Обозначить каждую папку символом '/' в конце имени
-q Заменять при выводе непечатные символы символом '?', по умолчанию используется при выводе на терминал
-R Рекурсивный вывод содержимого подпапок
-r Обратная сортировка (по убыванию). 
-S Сортировать файлы по размеру
-s Выводить размер файла в 512-байтных блоках, округляя вверх до ближайшего целого. Если вывод в окно терминала, то в первой строке отображается сумма размеров всех файлов. Подменяет переменную окружения BLOCKSIZE.
-T При использовании с параметром -l будут выводиться месяц, день, часы, минуты, секунды и год создания файла
-t Сортировать по времени модификации файла (более ранние модификации сначала) до сортировки по алфавиту.
-u Использовать время последнего открытия файла, вместо последнего изменения (-t) или подробно (-l)
-U Использовать время создания файлов, вместо последнего изменения (-t) или подробно (-l)
-v Force unedited printing of non-graphic characters. По умолчанию при выводе не в окно терминала.
-W Показать whiteouts когда сканируются папки.
-w Force raw printing of non-printable characters. По умолчанию при выводе не в окно терминала.
-x Аналогично -C за исключением сортировки в мультиколоночном выводе. При параметре -x сортировка по строкам, а в -С по колонкам

Параметры -1, -C, -x и -l отменяют друг друга, будет использован  написанный последним.

Параметры -c и -u отменяют друг друга, будет использован  написанный последним.

Параметры -B, -b, -w и -q  отменяют друг друга,  для вывода непечатных символов будет использован последний написанный

Параметры -H, -L и -P отменяют друг друга, будет использован  написанный последним.

По умолчанию стандартно выводится одноколоночный список, за исключением использования параметров -C или -x.

 

Подробный вывод (параметр -l)

Если был использован параметр -l по каждому файлу выводится подробная информация следующего типа: 

  • режим файла (права доступа)
  • количество ссылок
  • имя владельца
  • имя группы
  • размер в байтах
  • дата последней модификации в виде
    • аббревиатура месяца
    • день в месяце
    • час 
    • минута 
  • имя файла (папки)

 Если отображается строка с папкой, то указывается суммарный размер файлов в нем в 512-байтных блоках. Если файл или папка имеют расширенные атрибуты (extended attributes) это отображается символом '@' сразу за правами доступа (устанавливаются командами chflags и setfile), если файл или папка имеют дополнительные параметры безопасности (access list cintrol ACL) это отображается символом плюс '+' сразу за правами доступа.

Если дата последней модификации файла отличается от текущей больше чем на 6 месяцев, то вместо минут и секунд, отображается год.

Если имя пользователя-собственника файла или группы неизвестны или использован параметр -n, будет выведено не имя, а числовой код.

Если файл является символьной ссылкой на другой файл, то путь к конечному файлу отображается после символов '->' 

Первый символ перед правами доступа обозначает тип файла, он может быть:

  • b -block special file
  • c -character special file
  • d - directory (папка)
  • l -Symbolic link (символьная ссылка)
  • s -Socket link
  • p -FIFO
  • -  -стандартный файл

Следующие три поля по три символа означают права доступа к файлу (прав пользователя владельца, права группы, права остальных)

1-й символ может быть 'r' - доступно право чтения или '-' - нет права на чтение
2-й символ может быть 'w' - доступно право записи в файл или '-' - нет права на запись
3-й символ может принимать следующие значения
S в правах пользователя  и групп -нет прав на выполнение, 
s в правах пользователя  и групп -есть права на выполнение, 
x есть права на выполнение и поиск в папке
- нет никаких прав

В правах "остальных пользователей" могут быть указаны дополнительно:

T The sticky bit is set (mode 1000), но выполнение и поиск запрещены. Смотреть команды терминала Mac OS X sticky и chmod
t The sticky bit is set (mode 1000), выполнение и поиск разрешены. Смотреть команды терминала Mac OS X sticky и chmod

Примеры

Вывести подробный список с сортировкой по увеличению размеров

	ls -lrS

Близкие команды:

pwd - вывести имя текущей папки
cd - сменить рабочую папку
mkdir - создать каталог (папку)
chmod - изменить права доступа к файлу или папке
rm - удалить файл
rmdir -удалить папку (папки)
Весь список команд terminal Mac OS X