Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда dir в Linux

Автор: admin, 28 ноября, 2023
Команды

В Linux команда dir используется для просмотра содержимого каталога и если он не указан, то выводится содержимое текущего рабочего каталога.

Примеры использования команды dir в Linu

Содержание

  • Синтаксис
  • Параметры
  • Использование в 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. Умение пользоваться ей значительно повысит комфортность вашей работы.

Последние материалы

  • Файловый менеджер Thunar
    2 hours 53 minutes ago
  • Эмулятор терминала Terminator
    5 days 4 hours ago
  • Приложение scanimage
    1 week 4 days ago
  • Утилита sensors
    2 weeks 1 day ago
  • Сканер Rkhunter
    3 weeks 1 day ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru