Главная > Программы ls - вывод информации о файлах и каталогахКоманда ls: примеры использования и опцииКоманда ls — вероятно наиболее используемая команда в любой UNIX-системе. Её предназначение — вывод информации о файлах и каталогах. Дополнительные опции команды позволяют получить более подробную информацию и сортировать её определённым образом. Далее будут приведены примеры опций и примеры их использования.
Теперь несколько примеров наиболее полезных опций. Вывести список только каталогов: # ls -d -1 /home/setevoy/*/ /home/setevoy/Desktop/ /home/setevoy/Downloads/ /home/setevoy/Dropbox/ /home/setevoy/Images/ /home/setevoy/Soft/ /home/setevoy/Temp/ /home/setevoy/VirtualBox VMs/ То же самое, но с использованием «длинного» (полного) вывода о каталогах: # ls -dl /home/setevoy/*/ drwxr-xr-x 2 setevoy setevoy 4096 May 6 10:22 /home/setevoy/Desktop/ drwxr-xr-x 2 setevoy setevoy 4096 May 5 10:38 /home/setevoy/Downloads/ drwx—— 16 setevoy setevoy 4096 May 6 07:40 /home/setevoy/Dropbox/ drwxr-xr-x 2 setevoy setevoy 4096 May 5 12:00 /home/setevoy/Images/ drwxr-xr-x 2 setevoy setevoy 4096 May 5 18:29 /home/setevoy/Soft/ drwxrwxr-x 2 setevoy setevoy 4096 May 5 20:15 /home/setevoy/Temp/ drwxrwxr-x 4 setevoy setevoy 4096 May 5 19:09 /home/setevoy/VirtualBox VMs/ Ключ -l весьма полезен, так как позволяет проверять владельца и права на файлы/каталоги: # ls -l total 32 drwxr-xr-x 2 root root 4096 Aug 23 2012 bin drwxr-xr-x 2 root root 4096 Aug 23 2012 etc drwxr-xr-x 2 root root 4096 Aug 23 2012 games drwxr-xr-x 2 root root 4096 Aug 23 2012 include drwxr-xr-x 4 root root 4096 May 5 11:13 lib lrwxrwxrwx 1 root root 9 May 5 10:22 man -> share/man drwxr-xr-x 2 root root 4096 Aug 23 2012 sbin drwxr-xr-x 7 root root 4096 Aug 23 2012 share drwxr-xr-x 2 root root 4096 Aug 23 2012 src Для вывода информации о скрытых файлах (начинаются с точки) используйте ключ -a: # ls -la ls: cannot access .gvfs: Permission denied total 524 drwxr-xr-x 37 setevoy setevoy 4096 May 6 21:20 . drwxr-xr-x 3 root root 4096 May 5 10:25 .. drwx—— 3 setevoy setevoy 4096 May 5 10:39 .adobe -rw——- 1 root root 517 May 5 11:53 .bash_history -rw-r—r— 1 setevoy setevoy 220 May 5 10:25 .bash_logout -rw-r—r— 1 setevoy setevoy 133 May 5 11:52 .bashrc drwx—— 17 setevoy setevoy 4096 May 5 18:29 .cache drwxrwxr-x 3 setevoy setevoy 4096 May 5 10:54 .compiz-1 drwx—— 20 setevoy setevoy 4096 May 6 10:38 .config drwx—— 3 setevoy setevoy 4096 May 5 10:38 .dbus … Про ошибку с .gvfs можно почитать в статье ls: cannot access .gvfs: Permission denied. Кратко остановимся на обозначениях прав доступа и обозначениях файлов/каталогов. Первый символ: d — файл является каталогом; Далее следуют три группы символов, обозначающих права доступа — r (read), w (write), x (execute) — чтение, запись в файл/каталог и выполнение соответственно. Тема прав доступа в UNIX весьма обширна, поэтому сейчас не будем вдаваться в подробности. Открыть для редактирования последний редактировавшийся файл: # nano file1.txt # nano file2.txt # nano `ls -t | head -1` Обычный вывод ls без ключей выводит все файлы/каталоги одной строкой. Что бы вывести их в колонку — выполняем: # ls -1 Desktop Downloads Dropbox file1.txt file2.txt Images Soft Temp VirtualBox VMs Ключ -h используется для вывода информации о размере в «человекоудобном» виде, т.е. в Kb, Mb, Gb: # ls -lh total 36K drwxr-xr-x 2 setevoy setevoy 4.0K May 6 10:22 Desktop drwxr-xr-x 2 setevoy setevoy 4.0K May 5 10:38 Downloads drwx—— 16 setevoy setevoy 4.0K May 6 07:40 Dropbox -rw-r—r— 1 root root 2 May 6 21:06 file1.txt -rw-r—r— 1 root root 2 May 6 21:06 file2.txt drwxr-xr-x 2 setevoy setevoy 4.0K May 5 12:00 Images drwxr-xr-x 2 setevoy setevoy 4.0K May 5 18:29 Soft drwxrwxr-x 2 setevoy setevoy 4.0K May 5 20:15 Temp drwxrwxr-x 4 setevoy setevoy 4.0K May 5 19:09 VirtualBox VMs Отсортировать файлы/каталоги по их размеру, начиная с самого большого: # ls -lS /var/log/ total 4152 -rw-r—r— 1 root root 1823273 May 6 19:46 dpkg.log -rw-r—— 1 syslog adm 825505 May 6 08:05 syslog.1 -rw-r—— 1 syslog adm 589203 May 6 19:25 kern.log -rw-r—r— 1 root root 47105 Aug 23 2012 bootstrap.log -rw-r—r— 1 root root 37440 May 6 19:46 aptitude -rw-r—r— 1 root root 20584 May 6 07:39 pm-powersave.log -rw-r—— 1 root adm 14329 May 5 11:38 dmesg.1.gz -rw-r—r— 1 root root 6167 May 6 07:39 kdm.log drwxr-xr-x 2 root root 4096 May 5 10:25 apt -rw-r—— 1 root adm 31 Aug 23 2012 boot -rw-r—— 1 syslog adm 0 May 5 10:38 ufw.log Осотрировать файлы/каталоги по дате последней модификации, новые — в конце списка: # ls -rtl /var/log/ total 4152 drwx—— 2 speech-dispatcher root 4096 Feb 6 2012 speech-dispatcher drwxr-xr-x 2 root root 4096 Mar 12 2012 unattended-upgrades … drwxr-xr-x 2 root root 4096 Aug 10 2012 dist-upgrade … -rw-r—r— 1 root root 47105 Aug 23 2012 bootstrap.log … -rw-r—r— 1 root root 2990 May 5 19:20 fontconfig.log … -rw-r—— 1 syslog adm 60874 May 6 21:14 syslog Что бы вывести новые в начале списка — используйте комбинацию опций без ключа -r: # ls -tl /var/log/ То же самое, но сортировать по дате последнего доступа к файлу, а не дате его модификации, используйте ключ -u: # ls -tlu /var/log/ Вывести список файлов/каталогов, разделённый на 5 колонок, разделённых на всю ширину окна: # ls /usr/local | pr -T5 -W$COLUMNS bin games lib sbin src Добавлять символ обозначения принадлежности файла/каталога — каталог (/), исполняемый файл (*), FIFO (|), символьная ссылка (@), сокеты семейства AF_UNIX (=): # ls -F -1 Desktop/ Downloads/ Dropbox/ file1 file1.txt file2 file2.txt file3 file4.txt@ Images/ Soft/ Temp/ VirtualBox VMs/ Впрочем, ту же информацию выводит и ls -l — первый символ d для каталогов (directory) и ->; для ссылок: # ls -l total 36 drwxr-xr-x 2 setevoy setevoy 4096 May 6 10:22 Desktop … lrwxrwxrwx 1 root root 9 May 6 21:20 file4.txt -> file1.txt Выводить список через запятую: # ls -m Desktop, Downloads, Dropbox, file1, file1.txt, file2, file2.txt, file3, file4.txt, Images, Soft, Temp, VirtualBox VMs Вывести список рекурсивно, включая подкаталоги и их содержимое: # ls -R .: Desktop Downloads Dropbox Images Soft Temp VirtualBox VMs ./Desktop: PDF-Viewer.desktop PDF-Viewer.lnk ./Downloads: ./Dropbox: 172210-1920×1080.jpg 271027-1366×768.jpg … Остортировать файлы/каталоги в обратном алфавитном порядке: # ls -r VirtualBox VMs Temp Soft Images file4.txt file3 file2.txt file2 file1.txt file1 Dropbox Downloads Desktop Вывести информацию о номерах inode файлов и каталогов: # ls -i -1 2368762 Desktop 1969746 Downloads 1987155 Dropbox 1987223 file1 1969890 file1.txt 1987865 file2 1969805 file2.txt 1987866 file3 1987863 file4.txt 1969751 Images 2141585 Soft 2368300 Temp 2141811 VirtualBox VMs Вывести информацию о пользователе/группе в виде UID и GID, вместо символьных имён: # ls -n total 36 drwxr-xr-x 2 1000 1000 4096 May 6 10:22 Desktop drwxr-xr-x 2 1000 1000 4096 May 5 10:38 Downloads drwx—— 16 1000 1000 4096 May 6 07:40 Dropbox -rw-r—r— 1 0 0 0 May 6 21:10 file1 -rw-r—r— 1 0 0 2 May 6 21:06 file1.txt -rw-r—r— 1 0 0 0 May 6 21:10 file2 -rw-r—r— 1 0 0 2 May 6 21:06 file2.txt -rw-r—r— 1 0 0 0 May 6 21:10 file3 lrwxrwxrwx 1 0 0 9 May 6 21:20 file4.txt -> file1.txt drwxr-xr-x 2 1000 1000 4096 May 5 12:00 Images drwxr-xr-x 2 1000 1000 4096 May 5 18:29 Soft drwxrwxr-x 2 1000 1000 4096 May 5 20:15 Temp drwxrwxr-x 4 1000 1000 4096 May 5 19:09 VirtualBox VMsИспользован материал: ls (WikiPedia) Why *not* parse `ls` (and what to do instead)? Главная > Программы |