Вывод содержимого директории является одной из наиболее частых задач, которые выполняют пользователи (как профессионалы, так и любители). Команда ls представляет собой самый популярный инструмент, используемый для этой цели. Однако он не единственный.
Есть несколько альтернатив. Например, есть утилита, называемая vdir, основы которой мы рассмотрим здесь. Прежде чем мы это сделаем, стоит упомянуть, что все примеры в этом руководстве были протестированы в системе Ubuntu 18.04 LTS.
Команда vdir
Как и ls, команда vdir в Linux также используется для отображения содержимого каталога. Ниже приводится ее синтаксис:
vdir [OPTION]... [FILE]...
И вот как объясняет ее назначение man-страница утилиты:
Выводит информацию о FILE (по умолчанию это текущий каталог).
Сортирует записи в алфавитном порядке, если не указано ни одного из ключей -cftuvSUX или --sort.
Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам представление о том, как работает команда vdir.
Q1. Как использовать vdir?
Базовые принципы очень простые - просто выполните команду vdir без опций.
vdir
Например, в моем случае, я получил следующий вывод:
total 12
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Desktop
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Documents
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Downloads
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 2513 Apr 16 14:33 examples.desktop
drwxrwxr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Files-From-Desktop
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Music
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Pictures
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Public
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Templates
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Apr 16 14:33 Videos
Вы можете видеть, что вывод аналогичен выводу команды 'ls -l'.
Q2. Как с помощью vdir выводить файлы, имена которых начинаются с точки?
По умолчанию вывод команды vdir не показывает имена, начинающиеся с точки (.). Однако вы можете изменить это поведение, используя опцию -a командной строки.
vdir -a
В моем случае вывод следующий:
total 52
drwx------ 20 guest-A8CLd9 guest-A8CLd9 540 Sep 26 09:30 .
drwxrwxrwt 7 root root 16384 Sep 26 10:17 ..
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 220 Sep 26 09:29 .bash_logout
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 3637 Sep 26 09:29 .bashrc
drwxr-xr-x 12 guest-A8CLd9 guest-A8CLd9 260 Sep 26 09:37 .cache
drwxr-xr-x 16 guest-A8CLd9 guest-A8CLd9 360 Sep 26 09:29 .config
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Desktop
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Documents
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Downloads
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 8980 Sep 26 09:29 examples.desktop
drwxrwxr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Files-From-Desktop
drwx------ 3 guest-A8CLd9 guest-A8CLd9 60 Sep 26 09:30 .gconf
drwx------ 3 guest-A8CLd9 guest-A8CLd9 60 Sep 26 09:30 .gnome2
drwx------ 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:30 .gnome2_private
-rw------- 1 guest-A8CLd9 guest-A8CLd9 358 Sep 26 09:29 .ICEauthority
drwxr-xr-x 3 guest-A8CLd9 guest-A8CLd9 60 Sep 26 09:29 .kde
drwx------ 3 guest-A8CLd9 guest-A8CLd9 60 Sep 26 09:29 .local
drwx------ 4 guest-A8CLd9 guest-A8CLd9 80 Sep 26 09:30 .mozilla
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Music
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Pictures
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 697 Sep 26 09:29 .profile
drwxrwxr-x 2 guest-A8CLd9 guest-A8CLd9 60 Sep 26 09:29 .psensor
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Public
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Templates
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 40 Sep 26 09:29 Videos
-rw------- 1 guest-A8CLd9 guest-A8CLd9 61 Sep 26 09:29 .Xauthority
-rw------- 1 guest-A8CLd9 guest-A8CLd9 108 Sep 26 09:29 .xsession-errors
Q3. Как заставить vdir показывать размер файлов в заданных единицах?
Предположим, вы хотите, чтобы vdir выводил размеры (5-й столбец вывода) в мегабайтах, вы можете сделать это, используя опцию -block-size и поставив «M» в качестве ключа для нее.
vdir --block-size=M
В моем случае вывод следующий:
total 1M
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Desktop
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Documents
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Downloads
-rw-r--r-- 1 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 examples.desktop
drwxrwxr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Files-From-Desktop
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Music
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Pictures
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Public
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Templates
drwxr-xr-x 2 guest-A8CLd9 guest-A8CLd9 1M Sep 26 09:29 Videos
Вот некоторая полезная информация, связанная со вводом, который требуется для этой опции:
Аргумент SIZE представляет собой целочисленную и необязательную опцию (пример: 10K - это 10*1024). Единицами являются K, M, G, T, P, E, Z, Y (степени 1024) или KB, MB, ... (степени 1000).
Q4. Как сделать вывод vdir таким же, как у ls?
По умолчанию команда ls не выводит детальные данные - просто имя файлов/каталогов в текущем каталоге.
В то же время, vdir по умолчанию выводит множество информации . Но если вы хотите, вы можете ограничить vdir выводом в стиле «ls». Это можно сделать с помощью опции командной строки -C.
vdir -C
В моем случае вывод следующий:
Desktop Documents Downloads examples.desktop Files-From-Desktop Music Pictures Public Templates Videos
Q5. Как сделать вывод vdir цветным?
Если вы сравните вывод, полученный vdir в предыдущем разделе, с выводом, созданным командой ls, вы заметите одно отличие: вывод команды ls окрашен в разные цвета, а vdir - нет.
Однако вы можете заставить vdir также производить цветной вывод. Это можно сделать с помощью опции командной строки --color.
vdir --color
Q6. Как заставить vdir не сортировать вывод?
Вы можете сделать это с помощью опции командной строки -f.
vdir -f
В моем случае вывод следующий:
. .gnome2 Files-From-Desktop .local Music Templates .xsession-errors .cache .bash_logout
.. .mozilla .ICEauthority Videos Documents Downloads .Xauthority .config .profile
.gnome2_private .psensor .gconf Pictures Public Desktop .kde examples.desktop .bashrc
Q7. Как заставить vdir сначала выводить директории?
Если вы хотите, чтобы команда vdir сначала группировала каталоги в выводе, используйте параметр -group-directories-first.
vdir --group-directories-first
В моем случае вывод следующий:
total 12
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Desktop
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Documents
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Downloads
drwxrwxr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Files-From-Desktop
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Music
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Pictures
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Public
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Templates
drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Videos
-rw-r--r-- 1 guest-eugepN guest-eugepN 8980 Aug 22 2011 examples.desktop
Q8. Как заставить vdir выводить индекс каждого файла?
Это можно сделать с помощью опции -i командной строки.
vdir -i
В моем случае вывод следующий:
total 12
22 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Desktop
26 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Documents
23 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Downloads
6 -rw-r--r-- 1 guest-eugepN guest-eugepN 8980 Aug 22 2011 examples.desktop
155 drwxrwxr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Files-From-Desktop
27 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Music
28 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Pictures
25 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Public
24 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Templates
29 drwxr-xr-x 2 guest-eugepN guest-eugepN 40 Aug 22 2011 Videos
Заключение
В зависимости от потребностей, команда vdir может оказаться полезным для вас инструментом. В этой статье мы обсудили некоторые ключевые опции, предлагаемые этой утилитой. Чтобы узнать больше, прочитайте ее man-страницу.
Комментариев нет:
Отправить комментарий