ls
ls — утиліта UNIX-подібних систем згідно зі стандартами POSIX і Single UNIX Specification (Єдина Специфікація UNIX), яка виводить на стандартний вивід вміст каталогу файлової системи та інформацію про файли.
Уся інформація, що стосується прав доступу до файлу, зберігається як атрибути файлу, тобто становить з ним одне ціле, і може бути переглянута за допомогою виклику ls
з ключем розширеного виводу -l
.
Зразок розширеного виводу (ls -l
) у терміналі з підтримкою кольору:
1 | 2 | 3 | 4 | 5 | 6 | 7 |
brw-r--r-- 1 unixguy staff 64, 64 Jan 27 05:52 block
crw-r--r-- 1 unixguy staff 64, 255 Jan 26 13:57 character
-rw-r--r-- 1 unixguy staff 290 Jan 26 14:08 compressed.gz
-rw-r--r-- 1 unixguy staff 331836 Jan 26 14:06 data.ppm
drwxrwx--x 2 unixguy staff 48 Jan 26 11:28 directory
-rwxrwx--x 1 unixguy staff 29 Jan 26 14:03 executable
prw-r--r-- 1 unixguy staff 0 Jan 26 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> target
-rw-rw---- 1 unixguy staff 217 Jan 26 14:08 regularfile
Колонки розширеного виводу зліва направо:
- тип і права доступу
- перший символ — тип.
- «-» — звичайний файл
- «d» — директорія
- «l» — символічний лінк
- «p» — іменований канал
- «c» — байторієнтований пристрій
- «b» — блокоорієнтований пристрій
- «s» — сокет
- Три групи по три символи — права власника файлу (у наведеному прикладі unixguy), групи та всіх інших.
- Три символи прав вказують, чи дозволено читання (r), зміна (w) та виконання (x) цього файлу для відповідної категорії (користувача-власника файлу, групи та всіх інших). Якщо дія дозволена, то друкується відповідний символ, інакше замість нього друкується дефіс (-).
- перший символ — тип.
- Кількість зв'язків
- Власник
- Група власника
- Розмір в байтах
- Дата модифікації
- Ім'я файлу
Інформація про файл, написаний користувачем george
з правами адміністратора як скрипт, призначений для всіх адміністраторів, але має бути недоступним для звичайних користувачів, виглядатиме наступним чином:
-rwxr-x--- 1 george administrators 10 2006-03-09 21:31 some_script
Набір дозволів файлу означає, що george
має права виконувати всі три операції над цим файлом (читати, змінювати та виконувати), користувачі групи administrators
можуть тільки читати (r) або виконувати (x) цей файл але не змінювати, а всі інші користувачі з цим файлом не можуть робити ніяких операцій.
Незважаючи на опис команди ls в стандартах, вживання цієї команди відрізняється в різних UNIX-подібних ОС. Найвідоміші версії ls: System V, BSD, GNU.
Приклади опцій при користуванні :
- ls версії BSD (FreeBSD)
ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1] [file ...]]
- ls версії SYSV (Solaris)
/usr/bin/ls [-aAbcCdfFghilLmnopqrRstux1@] [file...]]
- ls версії GNU
GNU options (shortest form): [-1abcdfghiklmnopqrstuvwxABCDFGHLNQRSUX] [-w cols]
[-T cols] [-I pattern] [--full-time] [--show-control-chars] [--block-size=size]
[--format={long,verbose,commas,across,vertical,single-column}]
[--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}]
[--color[={none,auto,always}]] [--help] [--version] [--]
Приклади використання
$ ls /home/user/Музика
— список всіх файлів, які знаходяться в каталозі/home/user/Музика
$ ls /home/user/Музика > Музика.txt
— зміст зазначеної директорії буде збережений в файл 'Музика.txt'.
Див. також
- Командна оболонка Unix
- chmod — зміна прав доступу до файлу
Посилання
- – сторінка довідки man про користувацькі команди GNU/Linux (англ.)
- Clement Lefebvre. Робота з розмежуванням прав доступу до файлів у GNU/Linu. linux.org.ua. Процитовано 24.05.2014.