Примери и опции за използване на командата ls
Командатаls е може би най-използваната команда във всякаUNIX система. Целта му е да показва информация за файлове и директории. Допълнителните командни опции ви позволяват да получите по-подробна информация и да я сортирате по определен начин.Следват примери за опции и примери за тяхното използване.
-Р | Рекурсивно преминаване през срещнатите поддиректории. |
-а | Показване на списък с всички файлове (без тази опция скритите файлове, чиито имена започват с точка, не се показват). |
-д | Ако аргументът е директория, отпечатайте само нейното име, но не и нейното съдържание. Често се използва с флага -l за получаване на информация за състоянието на дадена директория. |
-° С | Изход в множество колони, сортирани по колони. |
-х | Изход в множество колони, сортирани по редове. |
-м | Резултатът е в свободен формат, имената на файловете са разделени със запетаи. |
-л | Резултатът е в дълъг формат: имената на файловете се предхождат от режима на достъп, броя на препратките към файла, имената на собственика и групата, размера в байтове и времето на последната модификация (вижте по-долу). Ако файлът е специален, тогава главният и второстепенният номер на устройството се показват в полето за размер. |
-н | Същото като -l, но идентификаторите на собственика и групата се показват като числа вместо имена. |
-о | Същото като -l, но идентификаторът на групата не се показва. |
-g | Същото като -l, но ID на собственика не се показва. |
-р | Променете реда на сортиране, за да обърнете азбучния ред или, ако флагът -t присъства, изведете първо по-старите файлове. |
-T | Имената на файловете са сортирани не по азбучен ред, а по време (първо най-новите файлове). По подразбиране е времето на последната промяна. Вижте също флаговете -u и -c. |
-u | Вместо времето за последна промяна, използвайте времето за последен достъп за сортиране (с флага -t) или за показване (с флага -l). |
-° С | Вместо последното време на модификация, използвайте последното време на модификация на файловия дескриптор (т.е. времето, когато файлът е създаден, режимът на достъп до файла е променен и т.н.) за сортиране (с флага -t) или за изход (с флага -l). |
-стр | Ако файлът е директория, издайте символ / след името му. |
-Ф | Ако файлът е директория, тогава издайте знак / след името му; ако файлът е изпълним, изведете знака * след името му. |
-б | Изведете непечатаеми знаци, включени в името на файла, в осмичен (ddd). |
-q | Отпечатайте непечатаемите знаци, включени в името на файла като знак?. |
-и | Показване на номерата на файловите дескриптори в първата колона. |
-с | Отпечатайте размерите на файловете в блокове (включително индиректни блокове). |
-f | Третирайте всеки аргумент като директория и изведете съдържанието му. Този флаг отменя флаговете -l, -t, -s, -r и активира флага -a. Сортирането по имена на файлове не се извършва; имената са дадени в реда, в който са изброени в указателя. |
Сега няколко примера за най-полезните опции.
Избройте само директории:
# 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 6 май 10:22 /home/setevoy/Desktop/ drwxr-xr-x 2 setevoy setevoy 4096 5 май 10:38 /home/setevoy/Изтегляния/ drwx—— 16 setevo y setevoy 4096 6 май 07:40 /home/setevoy/Dropbox/ drwxr-xr-x 2 setevoy setevoy 4096 5 май 12:00 drwxrwxr-x 2 setevoy setevoy 4096 5 май 20:15 /home/setevoy /Temp/ drwxrwxr-x 4 setevoy setevoy 4096 5 май 19:09 /home/setevoy/VirtualBox VMs/
Ключът -l е много полезен, тъй като ви позволява да проверявате собственика и разрешенията на файлове/директории:
# ls -l общо 32 drwxr-xr-x 2 root root 4096 23 август 2012 bin drwxr-xr-x 2 root root 4096 23 август 2012 и т.н. drwxr-xr-x 2 root root 4096 23 август 2012 игри drwx r -xr-x 2 root root 4096 23 август 2012 г. включва drwxr-xr-x 4 root root 4096 5 май 11:13 lib lrwxrwxrwx 1 root root 9 май 5 10:22 man -> share/man drwxr-xr-x 2 root root 4096 23 август 2012 г. sbin drwxr-xr-x 7 root root 4096 23 август 2012 г. споделяне drwxr-xr-x 2 root root 4096 23 август 2012 г. src
За да покажете информация за скритите файлове (започващи с точка), използвайте опцията -a:
# ls -la ls: няма достъп до .gvfs: Разрешението е отказано общо 524 drwxr-xr-x 37 setevoy setevoy 4096 6 май 21:20 . drwxr-xr-x 3 root root 4096 5 май 10:25 .. drwx—— 3 setevoy setevoy 4096 5 май 10:39 .adobe -rw——- 1 root root 517 5 май 11:53 .bash_history -rw-r—r— 1 se tevoy setevoy y 220 5 май 10:25 .bash_logout -rw-r—r— 1 setevoy setevoy 133 5 май 11:52 .bashrc drwx—— 17 setevoy setevoy 4096 5 май 18:29.cache drwxrwxr-x 3 setevoy setevoy 4096 5 май 10:54 .compiz-1 drwx—— 20 setevoy setevoy 4096 6 май 10:38 .config drwx—— 3 setevoy setevoy 4096 5 май 10:38 . dbus
Можете да прочетете за грешката с .gvfs в статията ls: няма достъп до .gvfs: Разрешението е отказано.
Нека се спрем накратко на обозначенията на правата за достъп и обозначенията на файлове / директории. Първи знак:
d - файлът е директория; b - файлът е специален блоков файл; c — файлът е файл със специални символи; p — файлът е наименуван канал; ——обикновен файл.
Следват три групи знаци, обозначаващи права за достъп - r (четене), w (запис), x (изпълнение) - съответно четене, запис във файл/директория и изпълнение. Темата за разрешенията вUNIX е доста обширна, така че няма да навлизаме в подробности сега.
Отваряне за редактиране на последния редактиран файл:
# nano file1.txt # nano file2.txt # nano `ls -t head -1`
Нормалният ls изход без опции отпечатва всички файлове/директории на един ред. За да ги покажем в колона, изпълняваме:
# ls -1 Настолен компютър Изтегляния Dropbox file1.txt file2.txt Изображения Soft Temp VirtualBox VM
Ключът -h се използва за показване на информация за размера в "удобна за човека" форма, т.е. в Kb, Mb, Gb:
# ls -lh общо 36K drwxr-xr-x 2 setevoy setevoy 4.0K 6 май 10:22 Десктоп кутия -rw-r—r— 1 корен корен 2 6 май 21:06 file1.txt -rw-r—r— 1 корен корен 2 6 май 21:06 file2.t xt drwxr-xr-x 2 setevoy setevoy 4.0K 5 май 12:00 Изображения drwxr-xr-x 2 setevoy setevo y 4.0K 5 май 18:29 Софт drwxrwxr-x 2 setevoy setevoy 4.0K 5 май20:15 Temp drwxrwxr-x 4 setevoy setevoy 4.0K 5 май 19:09 VirtualBox VMs
Сортирайте файлове/директории по техния размер, като започнете с най-големия:
# ls -lS /var/log/ общо 4152 -rw-r—r— 1 root root 1823273 6 май 19:46 dpkg.log -rw-r—— 1 syslog adm 825505 6 май 08:05 syslog.1 -rw-r—— 1 syslog adm 589 203 6 май 19:25 kern.log -rw-r—r— 1 корен корен 47105 23 август save.log -rw-r—— 1 корен adm 14329 5 май 11:38 dmesg.1.gz -rw-r—r— 1 корен корен 6167 6 май 07:39 kdm.log drwxr-xr-x 2 root root 4096 5 май 10:25 apt -rw-r—— 1 root adm 31 23 август 2012 boot -rw-r—— 1 syslog adm 0 5 май 10:38 ufw.log
Сортиране на файлове/директории по дата на последна промяна, нови в края на списъка:
# ls -rtl /var/log/ общо 4152 drwx—— 2 root-диспечер на речта 4096 6 февруари 2012 г. реч-диспетчер drwxr-xr-x 2 корен на корена 4096 12 март 2012 г. unattended-upgrades … drwxr-xr-x 2 корен на корена 40 9 6 авг. 10 2012 dist-upgrade … -rw-r—r— 1 root root 47105 23 август 2012 bootstrap.log … -rw-r—r— 1 root root 2990 5 май 19:20 fontconfig.log … -rw-r—— 1 sys log adm 60 874 6 май 21:14 syslog
За да покажете нови в началото на списъка, използвайте комбинация от опции без превключвателя -r:
Същото, но сортирайте по дата на последен достъп до файла, а не по дата на модификация, използвайте ключа -u:
Показване на списък с файлове/директории, разделен на 5 колони, разделени от цялата ширина на прозореца:
# ls /usr/local pr -T5 -W$COLUMNS bin games lib sbin src etc include man share
# ls -F -1 Desktop/ Изтегляния/ Dropbox/ file1 file1.txt file2 file2.txt file3 file4.txt@ Images/ Soft/ Temp/ VirtualBox VMs/
Същата информация обаче се показва от ls -l - първият символ на d за директории (директория) и -> ; за връзки:
# ls -l общо 36 drwxr-xr-x 2 setevoy setevoy 4096 6 май 10:22 Работен плот … lrwxrwxrwx 1 root корен 9 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 Изтегляния Dropbox Изображения Soft Temp VirtualBox VM
./Desktop: PDF-Viewer.desktop PDF-Viewer.lnk
./Dropbox: 172210-1920×1080.jpg 271027-1366×768.jpg …
Сортиране на файлове/директории в обратен азбучен ред:
# ls -r VirtualBox VM Temp Soft Images file4.txt file3 file2.txt file2 file1.txt file1 Dropbox Downloads Desktop
Показване на информация за номерата на inode на файлове и директории:
# ls -i -1 2368762 Настолен компютър 1969746 Изтегляния 1987155 Dropbox 1987223 файл1 1969890 файл1.txt 1987865 файл2 1969805 файл2.txt 1987866 файл3 1987863 file4.txt 1969751 Изображения 2141585 Софт 2368300 Temp 2141811 VirtualBox VM
Показване на потребителска/групова информация като UID и GID вместо символни имена:
# ls -n общо 36 drwxr-xr-x 2 1000 1000 4096 6 май 10:22 Десктоп drwxr-xr-x 2 1000 1000 4096 5 май 10:38 Изтегляния drwx—— 16 1000 1000 4 096 6 май 07:40 Dropbox -rw-r—r— 1 0 0 0 6 май 21:10 file1 -rw-r—r— 1 0 0 2 6 май 21:06 file1.txt -rw-r—r— 1 0 0 0 6 май 21:10 file2 -rw-r—r — 1 0 02 6 май 21:06 file2.txt -rw-r—r— 1 0 0 0 6 май 21:10 file3 lrwxrwxrwx 1 0 0 9 6 май 21:20 file4.txt -> file1.txt drwxr-xr-x 2 1000 1000 4096 5 май 12:00 Изображения drwxr-xr-x 2 1000 1000 4096 5 май 18:29 Софт drwxrwxr-x 2 1000 1000 4096 5 май 20:15 Temp drwxrwxr-x 4 1000 1000 4096 5 май 19:09 VirtualBox VMs