Как использовать команду ls в Linux
Получить подробную информацию о файлах в вашем хранилище сложно, если вы не знаете, как использовать команду ls. Здесь мы обсудим все, что связано с командой ls в Linux, а также некоторые различные флаги, используемые с ней.
Команда ls в Linux
Команда ls используется для вывода списка всех файлов и папок, имеющихся в вашем текущем рабочем каталоге. Вы также можете получить различную информацию о файлах, используя ту же команду. Поскольку он уже включен в пакет основных утилит GNU, вам не нужно устанавливать какие-либо дополнительные пакеты в вашей системе, чтобы использовать его.
Вы также можете связать ls с другими командами bash. Например, связка оператора grep с ls позволит вам искать и фильтровать каталог для определенных файлов.
Как использовать команду ls
Базовый синтаксис команды ls:
ls [options] [directory]
Один из самых простых способов использования команды – вывести список всех файлов и папок в вашем текущем рабочем каталоге.
ls
Если вы выполните вышеупомянутый оператор в корневом каталоге вашей системы, вы увидите результат, который выглядит примерно так.
bin dev home lib64 mnt proc run srv tmp var
boot etc lib lost+found opt root sbin sys usr
Список файлов в определенном каталоге
Для вывода списка файлов, принадлежащих другой папке (не текущему рабочему каталогу), вам нужно будет передать путь к каталогу вместе с именем команды.
ls [directory]
Чтобы получить список всех файлов в каталоге / boot :
ls /boot
Теперь в выходных данных будут отображаться файлы и папки, представленные в указанном имени каталога.
EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
Использование флага -F с командой добавит символ / в конец каждого каталога.
EFI/ grub/ initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
Вы также можете передать несколько каталогов, разделив имена путей пробелом .
ls /boot /usr
Output
/boot:
EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
/usr:
bin etc include lib lib32 lib64 local sbin share src
Список файлов в корневом каталоге
Корневой каталог содержит все остальные каталоги и файлы в вашей системе. Это самая верхняя папка в иерархии каталогов вашего компьютера. Корневой каталог обычно обозначается символом / .
ls /
Неважно, в каком каталоге вы находитесь во время ввода команды, вышеупомянутая команда выдаст вывод, в котором перечислены все подпапки и файлы, присутствующие в корневом каталоге.
Список файлов в родительском каталоге
Родительский каталог в Linux – это каталог над текущим каталогом. Возьмем для примера / usr / bin . Здесь / bin – ваш текущий рабочий каталог, а / usr – родительский каталог.
Чтобы получить список всех файлов в родительском каталоге:
ls ..
bin etc include lib lib32 lib64 local sbin share src
Добавление еще одного .. перенесет вас в родительский каталог родительского каталога. Например, / var / log / old – это ваш текущий рабочий каталог. ls .. отобразит список папок, находящихся в каталоге / log, тогда как ls ../ .. предоставит вам список всех файлов и папок, содержащихся в каталоге / var .
ls ../..
cache db empty games lib local lock log mail opt run spool tmp
Список файлов в домашнем каталоге
Домашний каталог в Linux обозначается символом ~ . Следовательно, чтобы вывести список содержимого, доступного в вашем домашнем каталоге:
ls ~
Список только каталогов (без файлов)
Если по какой-либо причине вы хотите перечислить только папки, имеющиеся в каталоге, используйте флаг -d с командой ls по умолчанию.
ls -d /home
Список файлов с подкаталогами
Использование символа * с командой ls предоставит вам список всех файлов и папок в текущем рабочем каталоге, а также подкаталоги.
ls *
Рекурсивный список файлов
Использование флага -R с командой по умолчанию выведет список всех файлов и папок, присутствующих в каталоге, до последнего уровня.
ls -R
Обратите внимание, что вы также можете передать путь к каталогу вместе с рекурсивным флагом. Это означает, что ls / usr / home -R – допустимая команда.
Список файлов с указанием их размера
Чтобы получить имена всех файлов вместе с их размером, используйте флаг -s с командой.
ls -s /yay-git
total 2944
4 pkg 4 src 4 yay 2932 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
Список файлов с подробной информацией
Флаг -l позволяет вам получить список содержимого каталога Linux с подробным описанием каждой записи. В вывод включается следующая информация:
- Разрешения для файлов и папок
- Количество ссылок
- Владелец контента
- Владелец группы
- Размер содержимого
- Имя файла
- Дата и время последнего изменения
ls -l
total 2944
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4096 Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4096 Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4096 Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2998674 Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
Первый столбец зарезервирован для прав доступа к файлам и папкам. Первый символ обозначает тип файла, а следующие девять символов обозначают права доступа к файлу.
Различные типы файлов, с которыми вы часто будете сталкиваться:
- Обычные файлы (-)
- Заблокировать специальные файлы (б)
- Специальные файлы символов (c)
- Справочник (d)
- Символическая ссылка (l)
- Сетевой файл (n)
- FIFO (p)
- Розетки)
Что касается прав доступа к файлам, в выводе используются следующие символы.
- Читаемый (r)
- Возможность записи (w)
- Исполняемый файл (x)
Возьмем, к примеру, d rw-r – r– . Первый символ указывает, что запись является каталогом. Следующие два символа обозначают, что текущий пользователь имеет разрешения на чтение и запись. Остальные символы предоставляют информацию о правах доступа к файлам для других пользователей.
Список файлов с читаемым размером
Команда -s предоставляет вам числовое значение, связанное с каждой записью. И, что очевидно, вы не узнаете, что означает это значение. Поэтому, чтобы перечислить файлы и их размеры в удобочитаемой форме, используйте вместе с командой флаг -lh .
ls -lh
total 2.9M
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2.9M Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst
В выводе используются спецификаторы размера для байтов (B), мегабайт (МБ), гигабайт (ГБ) и терабайт (ТБ).
Список скрытых файлов
Команда ls по умолчанию не включает скрытые файлы в вывод. Чтобы вывести список содержимого, которое задано пользователем как скрытое, передайте флаг -a с командой ls.
ls -a
Конвейер ls с командой Grep
Команда grep используется для сопоставления шаблонов, следующих за определенным регулярным выражением. Вы можете связать эту команду с ls, чтобы искать файлы, присутствующие в вашей системе. В корневом каталоге введите:
ls | grep l
Это перечислит все файлы и папки, которые начинаются с символа l. Вы также можете фильтровать свои файлы по их расширениям, используя grep.
Сортировать файлы по времени и дате
Чтобы перечислить все файлы и отсортировать их по времени и дате создания / изменения, используйте флаг -t вместе с ls.
ls -t
Сортировать файлы по размеру
Флаг -S позволит вам сортировать файлы и папки в соответствии с их размером.
ls -S
По умолчанию файлы будут отсортированы в порядке убывания (сначала самый большой файл). Однако вы можете легко изменить это поведение, добавив r с флагом -S .
ls -Sr
Список файлов и отправка вывода в файл
Используя символ > , вы можете отправить вывод команды ls в любой файл.
ls > ls-output.txt
Позже вы можете прочитать содержимое только что созданного файла, набрав в терминале cat ls-output.txt .
Отображение содержимого каталога с помощью команды ls
Команда ls – одна из самых мощных команд, предоставляемых пользователям Linux. Чтобы получить максимальную отдачу от команд в терминале, вы можете попробовать научиться объединять команды вместе. Вы даже можете передать команду mv по конвейеру для перемещения файлов с помощью ls.
Совет номер один, чтобы освоиться с Linux, – это запомнить некоторые основные команды. Это, несомненно, поможет вам стать более эффективным и быстрым при использовании вашей системы.