Если вы только начинаете работать с Linux, то одна из первых команд, которую стоит изучить — это ls. Она помогает вам увидеть список файлов и папок в текущей или указанной директории.
Вместе с командой cd они составляют основу навигации в системе. В этой статье я расскажу, что такое команда ls, как её использовать и приведу простые примеры.
Что такое команда ls?
Команда ls (от английского “list”) выводит список файлов и папок в выбранной директории. По умолчанию она показывает содержимое текущей папки. Это очень полезно, когда нужно быстро понять, что находится внутри папки.
Как использовать команду ls?
В общем виде команда имеет следующий вид:
ls [опция] [директория]
Тривиальный пример использования команды – без дополнительных опций и указания директории:
[root@waky practice]# ls
dir1 dir3 file0.txt
[root@waky practice]#
Вывод содержит список файлов и папок в текущей директории.
Если мы хотим заглянуть в другую директорию, мы должны указать путь до нее. Это может быть как абсолютный, так и относительный путь.
Абсолютный путь:
[root@waky practice]# ls /root/practice/dir1/
dir2 file1.txt
[root@waky practice]#
Относительный путь:
[root@waky practice]# ls ./dir1/
dir2 file1.txt
[root@waky practice]#
При указании относительного пути активно используются следующие сокращения:
- ~ — домашняя директория
- . — текущая директория
- .. — родительская директория
Самые полезные опции команды ls
-a – отображение всего содержимого директории, включая скрытые файлы, чьи имена начинаются с точки
Без опции мы увидим следующий набор объектов:
[root@waky practice]# ls
dir1 dir3 file0.txt
[root@waky practice]#
А если включить отображение скрытых файлов, в вывод попадут . (текущая директория) .. (родительская директория) и скрытый файл .hidden.file:
[root@waky practice]# ls -a
. .. dir1 dir3 file0.txt .hidden.file
[root@waky practice]#
-с – вывод объектов с сортировкой по времени внесения последнего изменения. По умолчанию новые файлы расположены первыми.
Так как при подготовке данной песочницы я сначала создал директорию dir1 затем dir3 и лишь затем файл file0.txt то по времени изменения они стоят в обратном порядке:
[root@waky practice]# ls -c
file0.txt dir3 dir1
[root@waky practice]#
-i – показать inode, в котором находится файл
[root@waky practice]# ls -i
50482776 dir1 194080 dir3 50583044 file0.txt
[root@waky practice]#
-l – показать подробную информацию, включая размер, владельца и доступы
[root@waky practice]# ls -l
итого 0
drwxr-xr-x. 3 root root 35 июл 30 12:17 dir1
drwxr-xr-x. 2 root root 23 июл 30 12:17 dir3
-rw-r--r--. 1 root root 0 июл 30 12:17 file0.txt
[root@waky practice]#
-d – вывод сведений о директории без вывода ее содержимого
Если попробовать получить информацию о директории без использования опции -d мы получим информацию по содержимому директории:
[root@waky practice]# ls -l dir1/
итого 0
drwxr-xr-x. 2 root root 23 июл 30 12:17 dir2
-rw-r--r--. 1 root root 0 июл 30 12:17 file1.txt
[root@waky practice]#
С опцией, информация будет непосредственно о директории:
[root@waky practice]# ls -ld dir1/
drwxr-xr-x. 3 root root 35 июл 30 12:17 dir1/
[root@waky practice]#
-R – рекурсивный вывод содержимого, включая поддиректории
[root@waky practice]# ls -R
.:
dir1 dir3 file0.txt
./dir1:
dir2 file1.txt
./dir1/dir2:
file2.txt
./dir3:
file3.txt
[root@waky practice]#
-р – в выводе добавляет в конце названия директорий слеш
[root@waky practice]# ls -p
dir1/ dir3/ file0.txt
[root@waky practice]#
Использование нескольких опций одновременно
Часто информации полученной от одной из опций недостаточно, поэтому не бойтесь их комбинировать для получения наиболее точного результата.
Получение подробной информации обо всех файлах внутри директории включая скрытые:
[root@waky practice]# ls -al
итого 8
drwxr-xr-x. 4 root root 67 авг 18 04:52 .
dr-xr-x---. 5 root root 4096 июл 30 12:02 ..
drwxr-xr-x. 3 root root 35 июл 30 12:17 dir1
drwxr-xr-x. 2 root root 23 июл 30 12:17 dir3
-rw-r--r--. 1 root root 15 авг 18 05:06 file0.txt
-rw-r--r--. 1 root root 0 авг 18 04:52 .hidden.file
[root@waky practice]#
Опция -a показала скрытые файлы, а -l вывела информацию по всем отображенным файлам.
Рекурсивный вывод -R и обозначение директорий слешем -p:
[root@waky practice]# ls -Rp
.:
dir1/ dir3/ file0.txt
./dir1:
dir2/ file1.txt
./dir1/dir2:
file2.txt
./dir3:
file3.txt
[root@waky practice]#
В процессе работы с утилитой ls подбирайте опции удовлетворяющие потребности решаемой задачи, так вы запомните основные опции и их удачные комбинации.
Заключение
Команда ls — это один из самых простых и полезных инструментов в Linux для просмотра содержимого папок. С её помощью можно быстро получить нужную информацию о файлах и папках.
Если вы хотите стать более уверенным пользователем Linux, обязательно изучите разные варианты использования команды ls. Это поможет вам лучше ориентироваться в системе и управлять файлами быстрее и удобнее.
Надеюсь, эта статья помогла вам понять основы команды ls и научиться использовать её в повседневной работе!