Библиотека сайта rus-linux.net
Руководство по команде vdir для начинающих
Оригинал: Linux vdir Command Tutorial for Beginners (8 Examples)
Автор: Himanshu Arora
Дата публикации: 8 октября 2018 года
Перевод: А. Кривошей
Дата перевода: ноябрь 2018 г.
Вывод содержимого директории является одной из наиболее частых задач, которые выполняют пользователи (как профессионалы, так и любители). Команда 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 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 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 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
Вы можете видеть, что вывод аналогичен выводу команды '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
В моем случае вывод следующий:
Q5. Как сделать вывод vdir цветным?
Если вы сравните вывод, полученный vdir в предыдущем разделе, с выводом, созданным командой ls, вы заметите одно отличие: вывод команды ls окрашен в разные цвета, а vdir - нет.
Однако вы можете заставить vdir также производить цветной вывод. Это можно сделать с помощью опции командной строки --color.
$ vdir --color
Q6. Как заставить vdir не сортировать вывод?
Вы можете сделать это с помощью опции командной строки -f.
$ vdir -f
В моем случае вывод следующий:
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-страницу.