Поиск…


Синтаксис

  • ls [OPTION] ... [FILE] ...

параметры

вариант Описание
-a , --all Перечислите все записи, включая те, которые начинаются с точки
-A , - --almost-all Перечислите все записи, кроме . и ..
-c Сортировка файлов по времени изменения
-d , --directory Список записей в каталоге
-h , --human-readable Показывать размеры в формате, читаемом человеком (например, K , M )
-H То же, что и выше, только с мощностью 1000 вместо 1024
-l Показать содержимое в формате long-listing
-o Формат длинного списка без информации о группе
-r , --reverse Показать содержимое в обратном порядке
-s , --size Размер печати каждого файла в блоках
-S Сортировать по размеру файла
--sort=WORD Сортировка содержимого по слову. (т.е. размер, версия, статус)
-t Сортировать по времени модификации
-u Сортировать по времени последнего доступа
-v Сортировать по версии
-1 Перечислить один файл на строку

Список файлов

Команда ls отображает содержимое указанного каталога, исключая dotfiles. Если каталог не указан, то по умолчанию указывается содержимое текущего каталога.

Перечисленные файлы сортируются по алфавиту по умолчанию и выравниваются по столбцам, если они не помещаются в одну строку.

$ ls
apt  configs  Documents  Fonts    Music      Programming  Templates  workspace
bin  Desktop  eclipse    git      Pictures   Public       Videos

Список файлов в формате Long Listing

Параметр -l команды ls печатает содержимое указанного каталога в формате длинного списка. Если каталог не указан, то по умолчанию указывается содержимое текущего каталога.

ls -l /etc

Пример:

total 1204
drwxr-xr-x  3 root root    4096 Apr 21 03:44 acpi
-rw-r--r--  1 root root    3028 Apr 21 03:38 adduser.conf
drwxr-xr-x  2 root root    4096 Jun 11 20:42 alternatives
...

На выходе сначала отображается total , которое указывает общий размер в блоках всех файлов в указанном каталоге. Затем он отображает восемь столбцов информации для каждого файла в указанном каталоге. Ниже приведены данные для каждого столбца на выходе:

Номер столбца пример Описание
1,1 d Тип файла (см. Таблицу ниже)
1.2 rwxr-xr-x Строка разрешения
2 3 Количество жестких ссылок
3 root Имя владельца
4 root Группа владельцев
5 4096 Размер файла в байтах
6 Apr 21 03:44 Время модификации
7 acpi Имя файла

Тип файла

Тип файла может быть одним из следующих символов.

символ Тип файла
- Обычный файл
b Блокировать специальный файл
c Специальный файл символов
C Файл с высокой производительностью («смежные данные»)
d каталог
D Дверь (специальный IPC-файл только в Solaris 2.5+)
l Символическая ссылка
M Офлайновый («перенесенный») файл (Cray DMF)
n Сетевой специальный файл (HP-UX)
p FIFO (названный канал)
P Порт (специальный системный файл только в Solaris 10+)
s Разъем
? Некоторые другие типы файлов

Список файлов, отсортированных по размеру

Параметр -S команды ls сортирует файлы в порядке убывания размера файла.

$ ls -l -S ./Fruits
total 444
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root  50197 Jul 28 19:19 bananas.jpg

При использовании с параметром -r порядок сортировки меняется на противоположный.

$ ls -l -S -r /Fruits
total 444
-rw-rw-rw- 1 root root  50197 Jul 28 19:19 bananas.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg

Список файлов без использования `ls`

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

# display the files and directories that are in the current directory
printf "%s\n" *

# display only the directories in the current directory
printf "%s\n" */

# display only (some) image files
printf "%s\n" *.{gif,jpg,png}

Чтобы захватить список файлов в переменную для обработки, обычно рекомендуется использовать массив bash :

files=( * )

# iterate over them
for file in "${files[@]}"; do
    echo "$file"
done

Список десяти последних измененных файлов

Ниже перечислены до десяти последних измененных файлов в текущем каталоге, используя длинный формат списка ( -l ) и отсортированный по времени ( -t ).

ls -lt | head

Список всех файлов, включая Dotfiles

Dotfile - это файл, имена которого начинаются с символа . , Они обычно скрыты ls и не перечисляются, если только не запрашиваются.

Например, следующий вывод ls :

$ ls
bin  pki

-a или --all вариант будет список всех файлов, в том числе составляют скрытые.

$ ls -a
.   .ansible       .bash_logout   .bashrc  .lesshst  .puppetlabs  .viminfo
..  .bash_history  .bash_profile  bin      pki       .ssh

Параметр -A или --almost-all будет отображать все файлы, включая dotfiles, но не указывать подразумеваемые . и .. Обратите внимание, что . это текущий каталог и .. является родительским каталогом.

$ ls -A 
.ansible       .bash_logout   .bashrc  .lesshst  .puppetlabs  .viminfo
.bash_history  .bash_profile  bin      pki       .ssh

Список файлов в древовидном формате

Команда tree выводит содержимое указанного каталога в древовидном формате. Если каталог не указан, то по умолчанию указывается содержимое текущего каталога.

Пример:

$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
    └── image.FPWTJY.png

Используйте параметр -L команды tree , чтобы ограничить глубину отображения и параметр -d только списком каталогов.

Пример:

$ tree -L 1 -d /tmp
/tmp
└── evince-20965


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow