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

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 — Разрешение на выполнение файла.
  • s — бит setgid .
  • 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 в свой терминал.

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

Оставьте комментарий