В Linux команда dir
используется для просмотра содержимого каталога и если он не указан, то выводится содержимое текущего рабочего каталога.
Содержание
Синтаксис
$ dir [ПАРАМЕТР]… [ФАЙЛ]…
Выдаёт информацию о ФАЙЛАХ (по умолчанию о текущем каталоге). Сортирует в алфавитном порядке, если не задан ни --sort
, ни один из параметров -cftuvSUX.
Параметры
Аргументы, обязательные для длинных параметров, обязательны и для коротких.
- -a, --all
- Не скрывать файлы начинающиеся с
.
- -A, --almost-all
- Не выдавать подразумеваемые
.
и..
- --author
- Вместе с
-l
, печатать автора каждого файла - -b, --escape
- Печатать экранирующие последовательности в стиле С для не графических символов
- --block-size=РАЗМЕР
- С
-l
, масштабировать размеры значением РАЗМЕРА; например,---block-size=M
; смотрите формат РАЗМЕРА далее - -B, --ignore-backups
- Не выводить подразумеваемые названием элементы оканчивающиеся на
~
- -c
- С
-lt
: sort by, and show, ctime (time of last change of file status information); с-l
: show ctime and sort by name; otherwise: sort by ctime, newest first - -C
- Выдавать список в несколько колонок
- --color[=КОГДА]
- Расцвечивать вывод; о КОГДА смотрите ниже
- -d, --directory
- Выдавать имена каталогов, а не их содержимое
- -D, --dired
- Генерировать вывод для режима Emacs dired
- -f
- Вывести все элементы в порядке, указанном в каталоге
- -F, --classify[=КОГДА]
- Добавлять индикатор (один из */=>@|) к элементам согласно значению КОГДА
- --file-type
- То же самое, но не добавлять
*
- --format=СЛОВО
- across (как
-x
), commas (как-m
), horizontal (как-x
), long (как-l
), single-column (как-1
), verbose (как-l
), vertical (как-C
) - --full-time
- Тоже что и
-l
--time-style=full-iso
- -g
- Как
-l
, но не выводить владельца - --group-directories-first
- Группировать каталоги раньше файлов; может дополняться параметром
--sort
, но любое использование --sort=none (-U) выключает группировку - -G, --no-group
- В длинном формате не печатать имена групп
- -h, --human-readable
- С
-l
и/или-s
печатать размеры в удобном для человека виде (например, 1K 234M 2G) - --si
- То же, но использовать степень 1000, а не 1024
- -H, --dereference-command-line
- Переходить по символьным ссылкам, указанным в командной строке
- --dereference-command-line-symlink-to-dir
- Переходить по каждой символьной ссылке из командной строки, которая указывает на каталог
- --hide=ШАБЛОН
- Не выводить элементы, соответствующие ШАБЛОНУ оболочки (изменяется при указании
-a
или-A
) - --hyperlink[=КОГДА]
- Имена файлов, гиперссылок в соответствии с КОГДА
- --indicator-style=СТИЛЬ
- Добавлять к именам элементов индикатор с указанным СТИЛЕМ: none (по умолчанию), slash (
-p
), file-type (--file-type
), classify (-F
) - -i, --inode
- Показывать иноду каждого файла
- -I, --ignore=ШАБЛОН
- Не показывать записи, соответствующие ШАБЛОНУ оболочки
- -k, --kibibytes
- По умолчанию использовать блоки по 1024 байта при показе использования файловой системы; использовать только с
-s
и для итогового значения каталога - -l
- Расширенный формат вывода
- -L, --dereference
- При выводе информации для символьной ссылки, показывать информацию о файле, на который указывает ссылка, на не о самой ссылке
- -m
- Выдавать список на всю ширину через запятую
- -n, --numeric-uid-gid
- Как
-l
, но выдавать числовые UID и GID - -N, --literal
- Печатать имена как есть, без экранирования
- -o
- Как
-l
, но не выводить информацию о группе - -p, --indicator-style=slash
- Добавлять индикатор
/
к каталогам - -q, --hide-control-chars
- Печатать
?
вместо непечатных символов - --show-control-chars
- Показывать непечатные символы как есть (по умолчанию, если
ls
запускается в терминале) - -Q, --quote-name
- Заключать имена в двойные кавычки
- --quoting-style=ТИП
- Использовать ТИП заключения в кавычки: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape (заменяет переменную окружения QUOTING_STYLE)
- -r, --reverse
- Обратный порядок сортировки
- -R, --recursive
- Рекурсивно показывать каталоги
- -s, --size
- Печатать размер каждого файла в блоках
- -S
- Сортировать по размеру файлов, сначала большие
- --sort=СЛОВО
- Сортировать по СЛОВУ, а не по имени: none (
-U
, без сортировки), size (S
, размер), time (-t
, время), version (-v
, версия), extension (-X
, расширение), width (ширина) - --time=WORD
- Выбрать, какая временная метка используется для отображения или сортировки; время доступа (-u): время, доступ, использование; время изменения метаданных (-c): ctime, статус; время изменения (по умолчанию): mtime, модификация; время рождения: рождение, творение; с -l WORD определяет, какое время показывать; с --sort=time, сортировка по СЛОВУ (сначала самые новые)
- --time-style=TIME_STYLE
- Формат даты/времени с
-l
; смотрите описание TIME_STYLE ниже - -t
- Сортировать по времени; смотрите --time
- -T, --tabsize=РАЗМЕР
- Использовать табуляцию указанного РАЗМЕРА, а не 8
- -u
- С
-lt
: сортировать и показывать время доступа; c-l
: показывать время доступа и сортировать по имени; иначе сортировать по времени доступа, сначала самые новые - -U
- Не сортировать; выводить в соответствии с физическим расположением в каталоге
- -v
- Сортировать по номерам (версии) в текстовом представлении
- -w, --width=ЧИСЛО
- Устанавливать ширину вывода равной ЧИСЛУ.
0
означает отсутствие ограничения - -x
- Перечислять по строкам, а не по столбцам
- -X
- Сортировать по расширению в алфавитном порядке
- -Z, --context
- Печатать любой контекст безопасности каждого файла
- -zero
- Завершать каждую выводимую строку символом
NUL
, а не новой строки - -1
- Перечислять по одному файлу на строке
- --help
- Показать эту справку и выйти
- --version
- Показать информацию о версии и выйти
Аргумент РАЗМЕР представляет собой целое число и необязательную единицу измерения (пример: 10K — 10*1024). Единицы измерения: K,M,G,T,P,E,Z,Y,R,Q (степени 1024) или KB,MB,... (степени 1000). Также можно использовать двоичные префиксы: KiB=K, MiB=M и так далее.
Значением TIME_STYLE могут быть: full-iso, long-iso, iso, locale или +ФОРМАТ. Значение ФОРМАТа как в date(1). Если значение ФОРМАТа равно ФОРМАТ1<новая строка>ФОРМАТ2, то ФОРМАТ1 применяется не к последним файлам, а ФОРМАТ2 к новым. Если TIME_STYLE начинается с posix-
, то он применяется только для локалей отличных от POSIX. Также, используемый стиль по умолчанию задаёт переменная окружения TIME_STYLE.
Значение КОГДА по умолчанию равно always
(всегда»), а также может быть auto
или never
.
Использование цветов для различения типов файла по умолчанию выключено, это же можно сделать и с помощью --color=never
. С параметром --color=auto
, ls
выдаёт цветовые коды только когда стандартный вывод подключён к терминалу. Переменная окружения LS_COLORS служит для изменения значений. Для её установки используйте команду dircolors
(1).
Коды выхода:
- 0
- Всё отлично
- 1
- Небольшие проблемы (например, недоступен подкаталог)
- 2
- Серьёзная проблема (например, недоступен аргумент командной строки)
Использование в Linux команды dir
Просмотр содержимого текущего каталога
Самым простым использованием команды dir
является просмотр содержимого текущего каталога. Для этого утилита запускается без каких-либо параметров, а затем нажимается Enter:
oleg@mobile:~:$ dir
2023-11-26-111919_1366x768_scrot.png Apps bin docs Downloads store www Загрузки
2023-11-26-111947_1366x768_scrot.png aur Desktop Documents Mail tmp Yandex.Disk Изображения
abc.txt backgrounds Directory DOSPROG mailbox webprojects Документы
oleg@mobile:~:$
Просмотр содержимого с отображением скрытых файлов
В данном случае при просмотре содержимого текущего каталога команда dir
запускается с опцией -a
:
oleg@mobile:~:$ dir -a
. .bash_profile .dosemu .gnome2 .rnd .Xauthority
.. .bashrc DOSPROG .gnupg .solfege .xbindkeysrc
2023-11-26-111919_1366x768_scrot.png bin Downloads .gtkrc .solfegerc .XCompose
2023-11-26-111947_1366x768_scrot.png .cache .drush .icons .ssh .xinitrc
abc.txt .calc_history .esd_auth .idlerc .stellarium .xscreensaver
Apps .claws-mail .etr .lesshst store .xsession
.audacity-data .config .FBReader .links .sudo_as_admin_successful .yandex
aur Desktop .fehbg .local tmp Yandex.Disk
backgrounds .dia .fluxbox .lyx .vim .yarnrc
.bash_history Directory .fontconfig Mail .vimrc Документы
.bash_history-00806.tmp .dmenu_cache .fonts mailbox webprojects Загрузки
.bash_history-00809.tmp .dmrc .gconf .mozilla .wget-hsts Изображения
.bash_history-26080.tmp docs .gimp-2.8 .mysql_history .wine
.bash_history-48833.tmp Documents .gnome .pki www
oleg@mobile:~:$
Выведены также сигналы от текущем .
и предыдущем ..
каталоге.
Просмотр содержимого с отображением владельца
Здесь команда dir
запускается со следующими опциями -l --author:
:
oleg@mobile:~:$ dir -l --author
итого 268
-rw-r--r-- 1 oleg users oleg 93092 ноя 26 11:19 2023-11-26-111919_1366x768_scrot.png
-rw-r--r-- 1 oleg users oleg 84860 ноя 26 11:19 2023-11-26-111947_1366x768_scrot.png
-rw-r--r-- 1 oleg users oleg 1879 ноя 26 14:04 abc.txt
drwxr-xr-x 11 oleg users oleg 4096 янв 15 2023 Apps
drwxr-xr-x 2 oleg users oleg 4096 апр 11 2023 aur
drwxr-xr-x 2 oleg users oleg 4096 фев 20 2022 backgrounds
drwxr-xr-x 3 oleg users oleg 4096 мая 21 2022 bin
drwx------ 2 oleg users oleg 4096 янв 15 2023 Desktop
drwxr-xr-x 2 oleg users oleg 4096 авг 4 14:21 Directory
drwxr-xr-x 24 oleg users oleg 4096 ноя 24 16:08 docs
drwxr-xr-x 2 oleg users oleg 4096 мар 10 2022 Documents
drwxr-xr-x 5 oleg users oleg 4096 мар 3 2023 DOSPROG
drwxr-xr-x 3 oleg users oleg 4096 янв 31 2023 Downloads
drwx------ 7 oleg users oleg 4096 апр 18 2023 Mail
drwxr-xr-x 5 oleg users oleg 4096 янв 31 2014 mailbox
drwxr-xr-x 13 oleg users oleg 4096 сен 21 17:53 store
drwxrwxr-x 20 oleg users oleg 4096 сен 5 16:21 tmp
drwxr-xr-x 32 oleg users oleg 4096 сен 21 10:52 webprojects
drwxr-xr-x 9 oleg users oleg 4096 июн 6 08:20 www
drwxr-xr-x 4 oleg users oleg 4096 авг 10 14:31 Yandex.Disk
drwxr-xr-x 9 oleg users oleg 4096 янв 15 2023 Документы
drwxr-xr-x 8 oleg users oleg 12288 ноя 27 12:18 Загрузки
drwxr-xr-x 2 oleg users oleg 4096 мая 8 2023 Изображения
oleg@mobile:~:$
Опция -l
требуется для отображения содержимого в виде списка.
Раскрашивание вывода
Для раскрашивания вывода команда dir
запускается с опцией --color
:
oleg@mobile:~:$ dir -l --author --color /home/ebooks/poetry/
итого 253800
-rw-r--r-- 1 oleg users oleg 254565296 ноя 27 11:46 PushkinEvgeniyOnegin--audio.zip
-rw-r--r-- 1 oleg 100 oleg 127976 фев 10 2016 PushkinEvgeniyOnegin.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 152180 ноя 7 2017 PushkinEvgenyOnegin.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 53112 июл 26 2019 ShakespeareDvaVeronca.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 136893 июл 26 2019 ShakespeareDvenadcatayaNoch.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 111308 июл 26 2019 ShakespeareGamletPerPasternaka.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 174622 июл 26 2019 ShakespeareGamletPrincDatskiyII.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 175233 июл 26 2019 ShakespeareKakVamEtoPonravitsya.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 163462 июл 26 2019 ShakespeareKomediyaOshibok.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 274846 июл 26 2019 ShakespeareKorolGenrih.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 141996 июл 26 2019 ShakespeareMacbeth.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 154342 июл 26 2019 ShakespeareOtelloVenecianskiyMavr.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 148268 июл 26 2019 ShakespeareRomeoDjulettaIIII.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 144983 июл 26 2019 ShakespeareRomeoJuliet.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 92393 июл 26 2019 ShakespeareSonety1609.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 127727 июл 26 2019 ShakespeareSonLetnyuyuNochI.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 136800 июл 26 2019 ShakespeareSonnetsI.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 136626 июл 26 2019 ShakespeareUkroshchenieStroptivoyI.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 110798 июл 26 2019 ShakespeareVenecianskiyKupec.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 1411159 июл 26 2019 ShakespeareVindzorskieNasmeshnicy.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 2987 июл 26 2019 ShakespeareVosemSonetov.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 62135 июл 26 2019 ShakespeareVseHoroshoChtoHoroshoKonchaetsya.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 69201 июл 26 2019 ShakespeareZimnyayaSkazka.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 151906 июл 26 2019 ShekspirHamletI.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 140852 июл 26 2019 ShekspirKorolLirII.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 707240 июл 26 2019 ShekspirSonety.fb2.zip
-rw-r--r-- 1 oleg 100 oleg 58730 фев 10 2016 TvardovskiyTerkinTomSveve.fb2.zip
oleg@mobile:~:$
В данном случае утилите в качестве рабочего каталога был указан /home/ebooks/poetry/
.
Классификация файлов по типу
Опция -F
добавляет к именам файлов индикатор (один из */=>@|), классифицирующий их по типу:
oleg@mobile:~:$ dir -Fl /usr/local/bin/
итого 2380
-rwxr-xr-x 1 oleg users 2287395 ноя 29 2021 composer*
-rwxr-xr-x 1 root root 43416 июл 12 2021 dmenu*
-rwxr-xr-x 1 root root 240 июл 12 2021 dmenu_path*
-rwxr-xr-x 1 root root 58 июл 12 2021 dmenu_run*
lrwxrwxrwx 1 root root 52 ноя 30 2021 drush -> /home/oleg/.config/composer/vendor/drush/drush/drush*
-rwxr-xr-x 1 root root 61880 авг 17 2021 dwm*
lrwxrwxrwx 1 root root 23 апр 6 2022 FreeShip -> /home/oleg/bin/FreeShip*
-rwxr-xr-x 1 oleg users 843 авг 27 2021 n2dissite*
-rwxr-xr-x 1 oleg users 1080 авг 27 2021 n2ensite*
-rwxr-xr-x 1 root root 17080 июл 12 2021 stest*
lrwxrwxrwx 1 root root 18 мар 1 2022 tor -> /home/oleg/bin/tor*
lrwxrwxrwx 1 root root 34 окт 19 2022 yandex-browser -> /opt/yandex/browser/yandex-browser*
oleg@mobile:~:$
Значения символов следующие:
- /
- Каталог
- *
- Исполняемый файл
- @
- Символическая ссылка
- %
- Пробел
- =
- Сокет
- |
- FIFO
Версия утилиты
Для отображения версии утилиты dir
при её запуске используется опция --version
:
oleg@mobile:~:$ dir --version
dir (GNU coreutils) 9.4
Copyright (C) 2023 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее .
Это свободное ПО: вы можете изменять и распространять его.
Нет НИКАКИХ ГАРАНТИЙ в пределах действующего законодательства.
Авторы программы — Ричард М. Столлман (Richard M. Stallman) и Дэвид Маккензи (David MacKenzie).
oleg@mobile:~:$
Заключение
В этой статье приведена лишь малая часть возможностей команды dir
в Linux. Умение пользоваться ей значительно повысит комфортность вашей работы.