лс
Оригинальный автор(ы) | coreutils: Ричард Столлман и Дэвид Маккензи |
---|---|
Разработчик(и) | Различные с открытым исходным кодом и коммерческие разработчики разработчики |
Написано в | С |
Операционная система | Multics , Unix , Unix-подобные , Plan 9 , Inferno , MSX-DOS |
Тип | Команда |
Лицензия | основные утилиты : GPLv3+ BusyBox : только GPL-2.0 Ящик для игрушек : 0BSD План 9: МОЯ лицензия |
В вычислениях , ls
— это команда для вывода списка компьютерных файлов и каталогов в Unix и Unix-подобных операционных системах. Он определяется POSIX и Единой спецификацией UNIX .
Он доступен в оболочке EFI , [1] как отдельный пакет для Microsoft Windows как часть UnxUtils коллекции собственных Win32- портов распространенных GNU Unix-подобных утилит, [2] или как часть ASCII инструментов MSX -DOS2 для MSX-DOS версии 2. [3]
Среды численных вычислений MATLAB и GNU Octave включают в себя ls
функция с аналогичным функционалом. [4] [5]
В других средах, таких как DOS , OS/2 и Microsoft Windows , аналогичная функциональность обеспечивается dir
команда.
История
[ редактировать ]Ан ls
Утилита появилась в первой версии AT&T UNIX , ее название унаследовано от аналогичной команды в Multics, также называемой «ls», сокращенно от слова «list». [6] [7] [8] ls
является частью руководства по переносимости X/Open, начиная с выпуска 2 1987 года. Он был унаследован в первой версии POSIX.1 и единой спецификации Unix . [9]
Поведение
[ редактировать ]Unix и Unix-подобные операционные системы поддерживают идею рабочего каталога . При вызове аргументов без ls
перечисляет файлы в рабочем каталоге. Если в качестве аргумента указан каталог, отображаются файлы в этом каталоге; если файл указан, этот файл отображается в списке. Можно указать несколько каталогов и файлов.
Во многих Unix-подобных системах имена, начинающиеся с точки ( .
) скрыты . Примеры: .
, который относится к рабочему каталогу, и ..
, который ссылается на его родительский каталог. По умолчанию скрытые имена не отображаются. С -a
, отображаются все имена, включая все скрытые имена. С использованием -A
показывает все имена, включая скрытые имена, кроме .
и ..
. Имена файлов, указанные явно (например, ls .secret
) всегда указаны.
Без вариантов, ls
отображает только имена.
Различные реализации имеют разные параметры, но общие параметры включают в себя:
-l
Длинный формат, отображающий типы файлов Unix , разрешения, количество жестких ссылок , владельца, группу, размер, дату и время последнего изменения и имя. Если измененная дата старше 6 месяцев, время заменяется годом. Некоторые реализации добавляют к разрешениям дополнительные флаги. Тип файла может состоять из одного из 8 символов:-
, обычный файл;d
, каталог;l
, символическая (мягкая) ссылка ;n
, сетевые файлы ;s
, розетка ;p
, именованный канал (FIFO);c
, специальный файл символов ;b
, заблокировать специальный файл .-h
Выходные размеры в удобочитаемом формате (например, 1K ( килобайты ), 234M ( мегабайты ), 2G ( гигабайты )). Эта опция не является частью стандарта POSIX, хотя реализована в нескольких системах, например, GNU coreutils в 1997 году. [10] FreeBSD 4.5 в 2002 году, [11] и Солярис 9 в 2002 году. [12]
Дополнительные параметры, управляющие отображением элементов, включают в себя:
-R
Рекурсивно перечислять элементы в подкаталогах.-t
Сортировка списка по времени изменения (по умолчанию сортировка по алфавиту).-u
Отсортируйте список по времени последнего доступа.-c
Отсортируйте список по времени последнего изменения атрибута (статуса).-r
В обратном порядке, например самое последнее время последним.--full-time
Показывать время с точностью до секунды и миллисекунды, а не только до минуты.-1
Одна запись в строке.-m
Формат потока; перечислите элементы на странице, разделив их запятыми.-g
Включить группу, но не владельца.-o
Включить владельца, но не группу (в сочетании с-g
и группа, и владелец подавляются).-d
Показывать информацию о каталоге или символической ссылке, а не о содержимом каталога или цели ссылки.-F
Добавляйте «/» к именам каталогов и «*» к исполняемым файлам.
Различные типы предметов можно выделить разными цветами. Это область, где реализации различаются:
- ГНУ
ls
использует--color
вариант; [13] он проверяет тип файла Unix, права доступа к файлу и расширение файла и использует свою собственную базу данных для управления цветами, поддерживаемыми с помощью dircolors . - FreeBSD
ls
использует-G
вариант; он проверяет только тип файла Unix и права доступа к файлу и использует termcap. базу данных [14]
Если выбрана опция использования цвета для обозначения типов элементов, выходные данные могут выглядеть так:
-rw-r--r-- 1 tsmitt nregion 26650 Dec 20 11:16 audio.ogg brw-r--r-- 1 tsmitt nregion 64 Jan 27 05:52 bd-block-device crw-r--r-- 1 tsmitt nregion 255 Jan 26 13:57 cd-character-device -rw-r--r-- 1 tsmitt nregion 290 Jan 26 14:08 image.png drwxrwxr-x 2 tsmitt nregion 48 Jan 26 11:28 di-directory -rwxrwxr-x 1 tsmitt nregion 29 Jan 26 14:03 ex-executable -rw-r--r-- 1 tsmitt nregion 0 Dec 20 09:39 fi-regular-file lrwxrwxrwx 1 tsmitt nregion 3 Jan 26 11:44 ln-soft-link -> dir lrwxrwxrwx 1 tsmitt nregion 15 Dec 20 10:57 or-orphan-link -> mi-missing-link drwxr-xrwx 2 tsmitt nregion 4096 Dec 20 10:58 ow-other-writeable-dir prw-r--r-- 1 tsmitt nregion 0 Jan 26 11:50 pi-pipe -rwxr-sr-x 1 tsmitt nregion 0 Dec 20 11:05 sg-setgid srw-rw-rw- 1 tsmitt nregion 0 Jan 26 12:00 so-socket drwxr-xr-t 2 tsmitt nregion 4096 Dec 20 10:58 st-sticky-dir -rwsr-xr-x 1 tsmitt nregion 0 Dec 20 11:09 su-setuid -rw-r--r-- 1 tsmitt nregion 10240 Dec 20 11:12 compressed.gz drwxrwxrwt 2 tsmitt nregion 4096 Dec 20 11:10 tw-sticky-other-writeable-dir
Пример использования
[ редактировать ]Следующий пример демонстрирует вывод команды:
$ ls -l
drwxr--r-- 1 fjones editors 4096 Mar 2 12:52 drafts
-rw-r--r-- 3 fjones editors 30405 Mar 2 12:52 edition-32
-r-xr-xr-x 1 fjones bookkeepers 8460 Jan 16 2022 edit.sh
В каждой строке показаны d
(каталог) или -
(файл), обозначение разрешений файла Unix , количество жестких ссылок (1 или 3), владелец файла, группа файла, размер файла, дата/время изменения и имя файла. В рабочем каталоге владелец fjones
имеет каталог с именем drafts
, обычный файл с именем edition-32
и исполняемый файл с именем edit.sh
который является «старым», т.е. измененным более 6 месяцев назад, на что указывает отображение года.
┌─────────── file (not a directory)
|┌─────────── read-write (no execution) permissions for the owner
|│ ┌───────── read-only permissions for the group
|│ │ ┌─────── read-only permissions for others
|│ │ │ ┌── number of hard links
|│ │ │ │ ┌── owner
|│ │ │ │ │ ┌── user group
|│ │ │ │ │ │ ┌── file size in bytes
|│ │ │ │ │ │ │ ┌── last modified on
|│ │ │ │ │ │ │ │ ┌── filename
-rw-r--r-- 3 fjones editors 30405 Mar 2 12:52 edition-32
См. также
[ редактировать ]- статистика (Unix)
- чаун
- chgrp
- ты (Юникс)
- мдлс
- Идентификатор пользователя (Unix)
- Идентификатор группы (Unix)
- Список команд Unix
- Структура каталогов Unix
Ссылки
[ редактировать ]- ^ «Оболочки EFI и сценарии» . Интел . Архивировано из оригинала 27 сентября 2013 года . Проверено 25 сентября 2013 г.
- ^ «Собственные порты Win32 некоторых утилит GNU» . unxutils.sourceforge.net .
- ^ «Руководство пользователя по инструментам MSX-DOS2 - Руководство пользователя по инструментам MSX-DOS2» 1 апреля 1993 г. - через Интернет-архив.
- ^ «Содержимое папки списка — MATLAB ls» .
- ^ «Ссылка на функцию: Ls» . Октав Фордж .
- ^ «Страница руководства Multis для команды ls или list» . 14 февраля 1985 г.
- ^ Фишер, Эрик. «Краткая история команды ls» . Проект документации Linux .
- ^ «Руководство программатора Multitics — Команды и активные функции» (PDF) . п. 397.
- ^ Единая спецификация UNIX , версия 4 от Open Group. – Справочник по оболочке и утилитам,
- ^ «(decode_switches): -h и -H переопределяют выходные единицы» . coreutils.git. 1997-12-31.
- ^ «[база] Журнал /stable/10/bin/ls/ls.c» . 28 декабря 2001 г.
- ^ Что нового в операционной среде Solaris 9 , Sun Microsystems, 2002 г.
- ^ «Общее форматирование вывода (GNU Coreutils 9.1)» . www.gnu.org . Проверено 7 января 2023 г.
- ^ «Страницы руководства FreeBSD — ls» . Проверено 23 июня 2013 г.
Внешние ссылки
[ редактировать ]- Единая спецификация UNIX , версия 4 от Open Group. – Справочник по оболочке и утилитам,
- FreeBSD по основным командам Руководство –
- NetBSD по общим командам Руководство –
- OpenBSD по общим командам Руководство –
- Solaris 11.4 по пользовательским командам Справочное руководство –
- Linux пользователя Руководство – Пользовательские команды –
- Plan 9 , том 1 Руководство программиста –
- Inferno по общим командам Руководство –
- ГНУ
ls
исходный код (как часть coreutils) ls
на вики LinuxQuestions.org