Параметры команды ls. Объяснение команды ls -l в Linux? Как сортировать вывод команды LS

Я использую следующую команду:

В результате я получаю имя файлов в папке, в которой я сейчас находился, вместе с тем, когда они были в последний раз доступны и т.д. На левой стороне есть строка символов, а иногда и тире. Мне было интересно, может ли кто-нибудь дать мне краткое руководство о том, что представляют из каждого персонажа?

Это то, что я имею в виду:

Dr-xr-xr-x

Спасибо за помощь.

4 ответов

На странице man chmod:

read (r), write (w), выполнить (или получить доступ к каталогам) (x), выполнить, только если файл является каталогом или уже выполнил permis- sion для некоторого пользователя (X), установить идентификатор пользователя или группы на выполнение (и), sticky (t), разрешения, предоставленные пользователю, которому принадлежит файл (u), разрешения, предоставленные другим пользователям, которые являются членами группы файлов (g), и разрешения, предоставляемые пользователям, которые находятся в ни одна из двух предыдущих категорий (o).

имея в виду

User can read | user can execute | | group can not write | | | others can read | | | | others can execute | | | | | dr-xr-xr-x | | | | | | | | | others can not write | | | group can execute | | group can read | user can not Write it is a directory

Слева направо каждая из трех букв - это набор разрешений, предназначенный для каждого типа пользователей. Существует три типа разрешений в каждом наборе

R-read w-write x-execute

Слева направо каждый набор определяет разрешения для

1) owner 2) group 3) others(other users)

соответственно в этом файле

Таким образом, в вашем случае каталог имеет права на чтение и выполнение для владельца, группы и других лиц ("-" указывает, что конкретного разрешения там нет). Разрешения могут быть изменены с помощью команды chmod при условии, что у вас есть права доступа к этому файлу/каталогу.

Первый символ - тип файла, обычно вы увидите d для каталога, - для обычного файла или l для ссылки.

Следующие девять символов представляют три разных типа разрешений для файла: разрешения пользователя, групповые разрешения и другие разрешения.

Первый символ будет либо r либо - , указывая разрешение на чтение.

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

Последний символ будет либо x либо - , либо несколько разных символов в зависимости от специальных свойств файла, как описано в руководстве для ls (см. Ниже).

Также может быть другой символ после этих девяти, указав специальные разрешения доступа, которые описаны в руководстве ls (ниже).

Из руководства для ls

Тип файла - один из следующих символов:

"-" обычный файл

"b" блокировать специальный файл

Специальный файл символа "c"

Файл с высокой производительностью ("смежные данные") C

Каталог "d"

Дверь D (Solaris 2.5 и выше)

"M" off-line ("перенесенный") файл (Cray DMF)

Специальный файл сети "n" (HP-UX)

"p" FIFO (именованный канал)

Порт "P" (Solaris 10 и выше)

"?" другой тип файла

Перечисленные биты режима файла аналогичны спецификациям в символическом режиме (* note Symbolic Modes: :). Но "ls" объединяет несколько бит в третий символ каждого набора разрешений следующим образом:

"s" Если установлены бит set-user-ID или set-group-ID и соответствующий исполняемый бит.

"S" Если бит set-user-ID или set-group-ID установлен, но соответствующий исполняемый бит не установлен.

"t" Если установлены флажок с ограниченным удалением или липкий бит, а другой - исполняемый бит. Флаг ограниченного удаления - это другое имя для липкого бита. * Структура режима записи::.

"T" Если установлен флаг ограниченного удаления или липкий бит, а бит исполняемого файла не установлен.

"x" Если исполняемый бит установлен, и ни одно из вышеизложенного не применяется.

"-" В противном случае.

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

GNU ls" uses a "." для указания файла с контекстом безопасности SELinux, но другого альтернативного метода доступа.

Файл с любой другой комбинацией альтернативных методов доступа помечен символом "+".

Из страниц руководства OpenBSD . Обратите внимание, что это также можно просмотреть в командной строке с помощью man ls . (Удобный для будущих подобных поисков, ах!)

Длинный формат Если заданы опции -g, -l или -n, для каждого файла отображается следующая информация: режим, количество ссылок, владелец (хотя и не для -g), группа, размер в байты, время последней модификации ("mmm dd HH: MM") и имя пути. Кроме того, для каждого каталога, содержимое которого отображается, первая отображаемая строка представляет собой общее количество блоков, используемых файлами в каталоге. Блоки составляют 512 байт, если не переопределены опцией -k или переменной среды BLOCKSIZE.

Если имя владельца или группы не является известным именем пользователя или группы, соответственно, или предоставляется опция -n, отображается числовой идентификатор.

Если файл является специальным символом или блокирует специальный файл, основные и младшие номера устройств для файла отображаются в поле размера.

Если задана опция -T, время последней модификации отображается в формате "mmm dd HH: MM: SS ccyy".

Режим файла, напечатанный в параметрах -g, -l или -n, состоит из типа записи, прав владельца, групповых разрешений и других разрешений. Символ типа записи описывает тип файла следующим образом:

  • - обычный файл
  • b заблокировать специальный файл
  • Специальный символ c
  • d каталог
  • l символическая ссылка
  • p FIFO
  • сокет

Следующие три поля имеют три символа: разрешения владельца, групповые разрешения и другие разрешения. Каждое поле имеет три позиции символов:

  • Если r, файл доступен для чтения; если -, это невозможно прочитать.
  • Если w, файл доступен для записи; если -, он не доступен для записи.

Первое из следующего, которое применяется: - S - Если в разрешениях владельца файл не является исполняемым и установлен режим set-user-ID. Если в групповых разрешениях файл не является исполняемым и установлен -g, установлен режим роуд-идентификатора. - s - Если в разрешениях владельца файл является исполняемым и установлен режим set-user-ID. Если в групповых разрешениях файл является исполняемым и установлен режим setgroup-ID. - x - Файл является исполняемым или каталог доступен для поиска. - - Файл не может быть прочитан, доступен для записи, исполняемый файл или идентификатор пользователя, а также не установлен -g roup-ID, а также липкий (см. Ниже).

Уделим немного времени знакомству с консольными утилитами ls, du и sort в ОС Linux. Рассмотрим их использование с основными ключами и в различных комбинациях, для сортировки файлов и директорий (папок) по размеру.

Использование утилиты ls в linux

1. Вывод списка файлов и директории.

# ls /var/log alternatives.log apt btmp devices dist-upgrade dpkg.log fsck lastlog lxd unattended-upgrades wtmp

Данный вывод неинформативен поэтому лучше использовать ls вместе с ключами.

2. Вывод списока файлов и директорий, включая скрытые файлы в виде "расширеного списка".

# ls -lha /var/log total 308K drwxrwxr-x 1 root syslog 512 Jun 28 21:55 . drwxr-xr-x 1 root root 512 Sep 22 2017 .. -rw-r--r-- 1 root root 364 Dec 19 2017 alternatives.log drwxr-xr-x 1 root root 512 Sep 22 2017 apt -rw-rw---- 1 root utmp 0 Sep 22 2017 btmp drwxr-xr-x 1 root root 512 Jun 28 23:40 devices drwxr-xr-x 1 root root 512 Jul 19 2017 dist-upgrade -rw-r--r-- 1 root root 18K Dec 19 2017 dpkg.log drwxr-xr-x 1 root root 512 Sep 22 2017 fsck -rw-rw-r-- 1 root utmp 286K Dec 19 2017 lastlog drwxr-xr-x 1 root root 512 Aug 23 2017 lxd drwxr-x--- 1 root adm 512 Aug 1 2017 unattended-upgrades -rw-rw-r-- 1 root utmp 0 Sep 22 2017 wtmp

Описание ключей:

"-l" - выводит расширеный листинг.

"-a" - выводит все файлы, в том числе и "скрытые".

Стоит отметить, что "ls" не может вычислять размер директорий, поэтому, для вывода размера директорий / каталогов / папок будем использовать утилиту "du".

Использование утилиты du в linux

1. Вывод списка директории c вложенными директориями.

# du /var 0 /var/backups 0 /var/cache/apparmor 0 /var/cache/apt/archives/partial 1856 /var/cache/apt/archives 61740 /var/cache/apt 3996 /var/cache/debconf 16 /var/cache/ldconfig 0 /var/cache/man/cat1 0 /var/cache/man/cat2 0 /var/cache/man/cat3 0 /var/cache/man/cat4 0 /var/cache/man/cat5 ... ... ...

По-умолчанию "du" выводит размер, не только каждой директории, но и всех вложенных в нее директорий /каталогов / папок.

2. Вывод списка директории без вложенных директорий.

# du -h -s /var 22G /var

3. Вывод списка директории c одним уровнем вложения.

# du --max-depth=1 -h /var 0 /var/backups 65M /var/cache 0 /var/crash 108M /var/lib 0 /var/local 320K /var/log 0 /var/mail 0 /var/opt 0 /var/snap 0 /var/spool 0 /var/tmp 174M /var

Описание ключей:

"--max-depth=1" - задает уровень вложенности директорий равной 1.

"-h" - выводит размер файлов в удобном для чтения формате (GB/MB/KB).

Использование утилиты sort в linux

1. Вывод папок отсортированных по размеру.

# du --max-depth=1 /var | sort -nr 177160 /var 110432 /var/lib 66408 /var/cache 320 /var/log 0 /var/tmp 0 /var/spool 0 /var/snap 0 /var/opt 0 /var/mail 0 /var/local 0 /var/crash 0 /var/backups

Описание ключей:

"-n" - сортировка по числам.

"-r" - отображает в выводе самые большие числа вначале.

2. Вывод директорий / каталогов / папок отсортированных по размеру в мегабайтах.

Du --max-depth=1 -m | sort -nr

3. Вывод директорий / каталогов / папок и файлов отсортированных по размеру.

Du -s *|sort -nr

4. Вывод директорий и файлов отсортированных по размеру и преведенный к удобному виду для восприятия размера (KB/MB/GB).

Самый сложный, но в тоже время самый информативный и красивый вывод.

Du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done

5. Вывод директорий /каталогов / папок и файлов отсортированных по размеру в файл.

Du -s *|sort -nr > name_file.txt

Данный вариант может быть полезен, например в случае очень большошо количества строк в выводе.

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

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

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

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

Для того, чтобы составить список всех файлов в папке откройте окно терминала и перейдите к папке, в которой вы хотите увидеть содержимое для использования команды ls, а затем просто введите следующую команду:

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

Ls /path/to/file

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

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

Вам нужно использовать следующую команду вместо этой.

Ls -a ls --all

Это минус (-а), используемый выше, означает список всех. В этом списке перечислены абсолютно все файлы и папки внутри каталога, в котором команда запускается или в пути, указанном после нее.

Результатом этого является то, что вы видите файл с именем, а другая называется.. .Единственная точка означает текущую папку и двойная точка стоит, то на один уровень вверх.

Если вы хотите исключить из списка файлов, вы можете использовать большой буквы вместо строчной, следующим образом:

Ls -A ls --almost-all

Некоторые команды, такие как команда mv и команды sp используются для перемещения и копирования файлов, и есть переключатели, которые могут быть использованы с этими командами, что создает резервную копию исходного файла. Эти резервные копии файлов, как правило заканчиваются на тильду (~).

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

Ls -B ls --ignore-backups

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

Если вы не хотите, показывать различные цвета, вы можете использовать следующую команду:

Ls --color=never

Если вы хотите получить более подробный вывод, вы можете использовать следующий параметр:

Это предоставляет список с указанием разрешения, количество индексных дескрипторов, владельца и группы, размер файла, дату последнего доступа и время и имя файла.

Если вы не хотите видеть владельца, использовать вместо следующую команду.

Вы также можете опустить детали группы, указав следующий параметр:

Длинный формат листинга может быть использован с другими коммутаторами, чтобы показать еще больше информации. Например, вы можете найти автора файла, выполнив следующую команду.

Ls -l --author

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

Ls -l -h ls -l --human-readable ls -l -s

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

Ls -l -n

Команда ls может быть использована, чтобы показать все файлы и папки из указанного пути.

Например:

Ls -R /home

Приведенная выше команда покажет все файлы и папки ниже домашней директории, таких как фотографии, музыка, видео, загруженные файлы и документы.

Изменение выходного формата

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

Однако вы можете указать формат, как показано ниже:

Ls -X ls --format=across

Отображение списка в столбцах по всему экрану.

Ls -m ls --format=commas

Показать список в формате через запятую.

Ls -x ls --format=horizontal

Отображение списка в горизонтальном формате

Ls -l ls --format=long

Как уже упоминалось в предыдущем разделе, это показывает список в длинном формате.

Ls -1 ls --format=single-column ls --format=verbose

Показывает все файлы и папки, по одному на каждой строке.

Ls -c ls --format=vertical

Отображение списка по вертикали.

Как сортировать вывод команды LS

Для сортировки выходных данных в команде ls можно использовать –sort переключатель следующим образом:

Ls --sort=none ls --sort=size ls --sort=time ls --sort=version

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

Сортировка по времени показывает файл, который был доступ последним, первый и самый доступный файл в последнюю очередь.

Кстати все перечисленные выше сортировки могут быть достигнуты следующими командами:

Ls -U ls -S ls -t ls -v

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

Ls -r --sort=size ls --reverse --sort=size

Резюме

Есть целый ряд других команд способных менять форматирование. Вы можете прочитать обо всех остальных переключателей, прочитав LS Linux Manual Page.




Top