Команда ls в Linux

Linux 命令大全Справочник команд Linux

Linux ls(Полное английское написание: список содержимого каталога) Команда используется для отображения содержимого указанного рабочего каталога (вывод списка файлов и подкаталогов, содержащихся в текущем рабочем каталоге).

Синтаксис

 ls [-alrtAFR] [name...]

Параметры:

ПараметрыОписание
-aили--allОтобразить все файлы (включая те, что начинаются с.точки, т.е. скрытые файлы).
-Aили--almost-allОтобразить все файлы, кроме.и..записей . и .. (включая скрытые файлы).
-lВыводить список файлов в длинном формате (подробная информация) (права доступа, владелец, размер, время изменения и т.д.).
-hили--human-readableи-lПри совместном использовании отображать размеры файлов в удобочитаемом формате (например, KB, MB).
-tСортировать по времени изменения (сначала новые).
-rили--reverseОбратная сортировка (используется с-t、-Sи т.д.).
-SСортировать по размеру файла (сначала самые большие файлы).
-Rили--recursiveРекурсивно выводить содержимое подкаталогов.
-Fили--classifyДобавлять индикатор к именам файлов (например,/обозначающий каталог,*обозначающий исполняемый файл).
--colorЦветной вывод (обычно включён по умолчанию,--color=auto)。
-iили--inodeПоказать номер inode файла.
-nили--numeric-uid-gidПоказывать UID и GID в числовом виде (вместо имён пользователя и группы).
-dили--directoryПоказывать только сам каталог, а не его содержимое (часто используется с-l)。
-1Выводить только один файл в строке (автоматически включается, когда ширины терминала недостаточно).
-mВыводить файлы в виде списка, разделённого запятыми.
-Qили--quote-nameЗаключать имена файлов в кавычки (полезно для имён файлов, содержащих пробелы).
--group-directories-firstСначала показать каталоги, затем файлы.
--time-style=<格式>Настроить формат отображения времени (например,+%Y-%m-%d)。

Примеры

ls -l                    # Вывести список файлов и каталогов в текущем каталоге в длинном формате
ls -a                    # Показать все файлы и каталоги в текущем каталоге, включая скрытые файлы
ls -lh                   # Показать размеры файлов и каталогов в текущем каталоге в удобочитаемом виде
ls -t                    # Показать файлы и каталоги в текущем каталоге, отсортированные по времени изменения
ls -R                    # Рекурсивно вывести все файлы и подкаталоги в текущем каталоге
ls -l /etc/passwd        # Показать подробную информацию о файле /etc/passwd

Примеры

Вывести список всех файлов в текущем каталоге подробно (включая скрытые файлы):

ls -la

Отсортировать файлы по размеру в обратном порядке (сначала самые большие файлы):

ls -lShr

Рекурсивно вывести содержимое каталога /var/log и отобразить размеры файлов в удобочитаемом виде:

ls -lhR /var/log

Показать только подробную информацию о каталоге (не рекурсивно):

ls -ld /etc

Сортировать по времени изменения (самые новые файлы отображаются в конце):

ls -ltr

Вывести список всех каталогов в корневом каталоге:

# ls /
bin               dev   lib         media  net   root     srv  upload  www
boot              etc   lib64       misc   opt   sbin     sys  usr
home  lost+found  mnt    proc  selinux  tmp  var

Вывести подробную информацию обо всех каталогах и файлах в каталоге /bin:

ls -lR /bin

Когда имена файлов содержат пробелы, специальные символы или начинаются с дефиса, можно использовать обратную косую черту (\) для экранирования или заключать имена файлов в кавычки. Например:

ls "my file.txt"    # 列出文件名为"my file.txt"的文件
ls my\ file.txt     # 列出文件名为"my file.txt"的文件
ls -- -filename     # 列出文件名为"-filename"的文件

Команда ls также может использовать подстановочные знаки для сопоставления с шаблоном, например,*обозначает совпадение с любыми символами,?обозначает совпадение с одним символом,[...]обозначает совпадение с символами в указанном диапазоне. Например:

ls *.txt         # 列出所有扩展名为.txt的文件
ls file?.txt     # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt    # 列出以a、b或c开头、扩展名为.txt的文件

Вывести список всех файлов в текущем рабочем каталоге, имена которых начинаются с s, при этом самые новые в конце:

ls -ltr s*

При использовании командыls -lпервый столбец символов указывает тип и права доступа файла или каталога. Первый символ указывает тип файла, например:

  • - обозначает обычный файл
  • d обозначает каталог
  • l обозначает символическую ссылку
  • c обозначает символьный файл устройства
  • b обозначает блочный файл устройства
  • s обозначает файл сокета
  • p обозначает файл канала

При использовании командыls -lоставшиеся 9 символов в первом столбце обозначают права доступа файла или каталога, соответствующие группам из трёх символовrwx. Например

:
  • r обозначает право на чтение
  • w обозначает право на запись
  • x обозначает право на выполнение
  • - обозначает отсутствие соответствующего права

Первые три символа представляют права владельца, средние три — права группы, а последние три — права других пользователей. Например:

-rw-r--r-- 1 user group 4096 Feb 21 12:00 file.txt

Обозначает файл с именем file.txt; владелец имеет права на чтение и запись, а группа и другие пользователи — только право на чтение.

Найти недавно изменённые файлы:

ls -lt | head -5

Показать 5 самых недавно изменённых файлов.

Подсчитать количество файлов:

ls | wc -l

Подсчитайте количество файлов в текущем каталоге (исключая скрытые файлы).


Примечания

Цветом вывода команды ls можно управлять с помощью опции --color:

  • Синий: каталог
  • Зелёный: исполняемый файл
  • Красный: сжатый файл
  • Голубой: файл ссылки
  • Жёлтый: файл устройства

При использовании ls в скриптах учтите, что прямой разбор вывода ls может быть ненадёжным; рекомендуется использовать другие методы.

Команда ls может немного отличаться в разных дистрибутивах Linux; вы можетеman lsпросмотреть конкретную справочную документацию.

Linux 命令大全Справочник команд Linux

Другие расширения