Команда Ls в Linux (список файлов и каталогов)

Команда Linux ls

ls — одна из основных команд, которую должен знать любой пользователь Linux.

Команда ls выводит список файлов и каталогов в файловой системе и показывает подробную информацию о них. Она входит в пакет основных утилит GNU, установленный во всех дистрибутивах Linux.

В этой статье будет показано, как использовать команду ls, с помощью практических примеров и подробных объяснений наиболее распространенных параметров ls.

Как использовать команду ls

Синтаксис команды ls следующий:

 ls [ OPTIONS ] [ FILES ]

При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :

 ls

Файлы перечислены в алфавитном порядке в максимально возможном количестве столбцов на вашем терминале:

 cache db empty games lib local lock log mail opt run spool tmp

Чтобы вывести список файлов в определённом каталоге, передайте путь к нему в качестве аргумента команде ls . Например, чтобы вывести список содержимого каталога /etc , введите:

 ls /etc

Вы также можете передать несколько каталогов и файлов, разделив их пробелом:

 ls /etc /var /etc/passwd

Если у пользователя, под которым вы вошли в систему, нет прав на чтение каталога, вы получите сообщение о том, что ls не может открыть каталог:

 ls /root
 ls: cannot open directory '/root': Permission denied

Команда ls имеет ряд опций. В следующих разделах мы рассмотрим наиболее часто используемые из них.

Формат длинного списка

По умолчанию вывод команды ls показывает только имена файлов и каталогов, что не очень информативно.

Опция -l (строчная L) указывает ls выводить файлы в формате длинного списка.

При использовании формата длинного списка вы можете увидеть следующую информацию о файле:

  • Тип файла.
  • Права доступа к файлу.
  • Количество жестких ссылок на файл.
  • Владелец файла.
  • Группа файлов.
  • Размер файла.
  • Дата и время.
  • Имя файла.

Вот пример:

 ls -l /etc/hosts
 -rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts

Давайте поясним наиболее важные столбцы вывода.

Первый символ указывает тип файла. В этом примере первый символ — - , что означает обычный файл. Значения для других типов файлов следующие:

  • - — Обычный файл.
  • b — Блокировать специальный файл.
  • c — Специальный файл символов.
  • d — Справочник.
  • l — Символическая ссылка.
  • n — Сетевой файл.
  • p — ФИФО.
  • s — Гнездо.

Следующие девять символов указывают права доступа к файлу. Первые три символа относятся к пользователю, следующие три — к группе, а последние три — к остальным. Вы можете изменить права доступа к файлу с помощью команды chmod . Символ разрешения может принимать следующие значения:

  • r — Разрешение на чтение файла.
  • w — Разрешение на запись в файл.
  • x — Разрешение на выполнение файла.
  • ssetgid бит.
  • tsticky кусочек.

В нашем примере rw-r--r-- означает, что пользователь может читать и записывать файл, а группа и остальные могут только читать. Цифра 1 после символов прав доступа — это количество жёстких ссылок на этот файл.

Следующие два поля, root root содержат данные о владельце файла и группе, а также размер файла ( 337 ) в байтах. Используйте опцию -h , чтобы вывести размеры в удобном для восприятия формате. Изменить владельца файла можно с помощью команды chown .

Дата и время последнего изменения файла — Oct 4 11:31 .

Последний столбец — имя файла.

Показать скрытые файлы

По умолчанию команда ls не отображает скрытые файлы. В Linux скрытым считается любой файл, имя которого начинается с точки ( . ).

Чтобы отобразить все файлы, включая скрытые, используйте опцию -a :

 ls -la ~/
 drwxr-x--- 10 linuxize linuxize 4096 Feb 12 16:28 . drwxr-xr-x 18 linuxize linuxize 4096 Dec 26 09:21 .. -rw------- 1 linuxize linuxize 1630 Nov 18 2017 .bash_history drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 bin drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 Desktop drwxr-xr-x 4 linuxize linuxize 4096 Dec 12 2017 .npm drwx------ 2 linuxize linuxize 4096 Mar 4 2018 .ssh

Сортировка выходных данных

Как мы уже упоминали, по умолчанию команда ls выводит список файлов в алфавитном порядке.

Параметр --sort позволяет сортировать вывод по расширению, размеру, времени и версии:

  • --sort=extension (или -X ) — сортировка в алфавитном порядке по расширению.
  • --sort=size (или -S ) — сортировка по размеру файла.
  • --sort=time (или -t ) — сортировка по времени изменения.
  • --sort=version (или -v ) — Естественная сортировка номеров версий.

Если вы хотите получить результаты в обратном порядке сортировки, используйте опцию -r .

Например, чтобы отсортировать файлы в каталоге /var по времени изменения в обратном порядке сортировки, можно использовать:

 ls -ltr /var

Стоит отметить, что команда ls не показывает общий объём, занимаемый содержимым каталога. Чтобы узнать размер каталога , используйте команду du .

Рекурсивный список подкаталогов

Опция -R указывает команде ls рекурсивно отображать содержимое подкаталогов:

 ls -R

Заключение

Команда ls выводит информацию о файлах и каталогах.

Для получения дополнительной информации о ls посетите страницу GNU Coreutils или введите man ls в терминале.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал ls

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *