Поиск по сайту:

Учебное пособие по команде Linux vdir для начинающих (8 примеров)


На этой странице

  1. Q1. Как использовать вдир?
  2. Вопрос 2. Как заставить vdir отображать записи, начинающиеся с точки (.)?
  3. Вопрос 3. Как сделать размеры vdir масштабными по фиксированному размеру?
  4. Q4. Как заставить vdir производить вывод, подобный ls?
  5. В5. Как заставить vdir производить цветной вывод?
  6. Q6. Как заставить vdir производить несортированный вывод?
  7. Q7. Как сделать групповые каталоги vdir первыми в выводе?
  8. Q8. Как заставить vdir создавать порядковый номер для каждого файла?

Список содержимого каталога — одна из самых основных задач, в которые вовлечены пользователи (как профессионалы, так и новички). Команда ls — самый популярный инструмент, используемый для этой цели. Однако он не единственный. -box-3-0;var ffid=1;var alS=1002%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins. id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive=true;}

Есть несколько альтернатив. Например, есть утилита под названием vdir, основы которой мы обсудим здесь. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры в этом руководстве были протестированы на компьютере с Ubuntu 18.04 LTS и Debian 10.

Как и ls, команда vdir в Linux также используется для просмотра содержимого каталога. Ниже приведен его синтаксис:

vdir [OPTION]... [FILE]...

И вот как это объясняет справочная страница инструментов:

List information about the FILEs (the current directory by default).  
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам хорошее представление о том, как работает команда 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

Таким образом, вы можете видеть, что записи размера производятся в блоках мегабайт (M).

Вот некоторая полезная информация, связанная с входными данными, которые требует эта опция:

       The  SIZE  argument  is  an  integer and optional unit (example: 10K is
       10*1024).  Units are K,M,G,T,P,E,Z,Y  (powers  of  1024)  or  KB,MB,...
       (powers of 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

Вот как man-страница объясняет эту опцию -f:

-f     do not sort, enable -aU, disable -ls --color

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 может оказаться для вас полезным инструментом. В этом уроке мы обсудили некоторые ключевые опции, предлагаемые этой утилитой. Чтобы узнать больше об этом инструменте, перейдите на его справочную страницу.