В операционной системе Linux команда lsattr
отображает характеристики атрибутов и их возможные значения для устройств в системе.
Содержание
Синтаксис
$ lsattr [-RVadlpv] [файлы...]
Основные параметры
-D
Отображает значения по умолчанию
-E
Отображает действующие значения (действительны только для настроенных устройств, указанных с флагом -l)
-F
Указывает пользовательский формат
-P
Отображает значения устройства на момент последней настройки устройства
-R
Отображает диапазон допустимых значений
Использование в Linux команды lsattr
Логическое имя устройства следует указывать с помощью флага -l
(Name), либо использовать комбинацию одного или всех флагов -c
(Class), -s
(Subclass) и -t
(Type), чтобы однозначно идентифицировать предопределённое устройство.
По умолчанию
На практике команда lsattr
принимает в качестве аргументов имена файлов и каталогов для проверки. Если мы не указываем файл, он проверяет атрибуты текущего рабочего каталога.
В результате команда lsattr
отображает по одному символу для каждого атрибута, чтобы указать, включён этот атрибут или нет:
oleg@mobile:~:$ lsattr abc.txt
--------------e------- abc.txt
oleg@mobile:~:$
Однако lsattr
не показывает имена атрибутов. Таким образом, нам, возможно, придётся знать значение каждого буквенного кода, чтобы интерпретировать вывод.
Рекурсивный вывод списка атрибутов
Мы можем использовать параметр -R
для рекурсивного вывода списка атрибутов всех файлов в каталоге:
oleg@mobile:~:$ lsattr -R bin/
--------------e------- bin/drush-8.x
bin/drush-8.x:
--------------e------- bin/drush-8.x/drush_logo-black.png
--------------e------- bin/drush-8.x/composer.json
--------------e------- bin/drush-8.x/unish.sh
--------------e------- bin/drush-8.x/shippable.yml
--------------e------- bin/drush-8.x/commands
bin/drush-8.x/commands:
--------------e------- bin/drush-8.x/commands/user
bin/drush-8.x/commands/user:
--------------e------- bin/drush-8.x/commands/user/user.drush.inc
--------------e------- bin/drush-8.x/commands/runserver
bin/drush-8.x/commands/runserver:
--------------e------- bin/drush-8.x/commands/runserver/runserver-prepend.php
--------------e------- bin/drush-8.x/commands/runserver/d8-rs-router.php
--------------e------- bin/drush-8.x/commands/runserver/runserver.drush.inc
--------------e------- bin/drush-8.x/commands/runserver/d7-rs-router.php
--------------e------- bin/drush-8.x/commands/sql
--------------e------- bin/drush-8.x/drush.complete.sh
...
--------------e------- bin/FreeShip
oleg@mobile:~:$
По умолчанию lsattr
не выводит список скрытых файлов. Однако опция -a
отображает атрибуты для всех файлов в указанном каталоге, включая скрытые файлы, начинающиеся с точки:
oleg@mobile:~:$ lsattr -a /home/oleg/
-----------I--e------- /home/oleg/.
---------------------- /home/oleg/..
--------------e------- /home/oleg/.dmrc
--------------e------- /home/oleg/doc02024820240308084102.pdf
--------------e------- /home/oleg/abc.txt
--------------e------- /home/oleg/.icons
--------------e------- /home/oleg/.gtkrc
--------------e------- /home/oleg/.XCompose
--------------e------- /home/oleg/backgrounds
...
--------------e------- /home/oleg/.FBReader
--------------e------- /home/oleg/.mplayer
--------------e------- /home/oleg/.config
--------------e------- /home/oleg/.httrack.ini
--------------e------- /home/oleg/.pki
--------------e------- /home/oleg/.idlerc
--------------e------- /home/oleg/.xbindkeysrc
--------------e------- /home/oleg/.links
--------------e------- /home/oleg/.Xauthority
--------------e------- /home/oleg/.audacity-data
--------------e------- /home/oleg/.xscreensaver
oleg@mobile:~:$
Вывод только каталогов
По умолчанию, если мы указываем имя каталога в качестве аргумента, lsattr
выводит его содержимое. Однако опция -d
указывает команде lsattr
отображать только каталоги, а не их содержимое:
oleg@mobile:~:$ lsattr -d /home/oleg/
-----------I--e------- /home/oleg/
oleg@mobile:~:$
Вывод версии файла
Опция -v
позволяет вывести версию или номер поколения файла:
oleg@mobile:~:$ lsattr -v /home/oleg/
1599448473 --------------e------- /home/oleg/doc02024820240308084102.pdf
3442131419 --------------e------- /home/oleg/abc.txt
2608372242 --------------e------- /home/oleg/backgrounds
...
2608388425 --------------e------- /home/oleg/Desktop
2435438866 --------------e------- /home/oleg/DOSPROG
2608335672 --------------e------- /home/oleg/webprojects
4251532305 --------------e------- /home/oleg/Video
oleg@mobile:~:$
Содержимое вывода
Обычно вывод команды lsattr
состоит из двух столбцов:
- атрибуты;
- имя файла или каталога.
Кроме того, в столбце атрибутов отображается ряд букв, обозначающих различные флаги, которые установлены или сняты для каждого файла или каталога. Следовательно, мы можем классифицировать эти атрибуты на несколько категорий в зависимости от их функций.
Удаление и изменение
Эти категории атрибутов управляют тем, как файлы и каталоги могут быть удалены, изменены или переименованы:
Символ | Атрибут | Описание |
---|---|---|
A | Нет обновления времени | Время доступа к файлу не обновляется при его чтении |
c | Сжатый | Файл автоматически сжимается ядром при записи на диск |
D | Синхронное обновление каталога | Любые операции записи в каталог немедленно синхронизируются с диском |
e | Формат экстента | Файл использует непрерывный диапазон блоков для сопоставления блоков хранения |
S | Синхронное обновление | Любые операции записи в файл немедленно синхронизируются с диском |
t | Без слияния хвостов | В конце файла не будет фрагмента частичного блока, объединенного с другими файлами |
Резервное копирование и восстановление
Следующие атрибуты определяют, как программа резервного копирования и восстановления обрабатывает файлы и каталоги:
Символ | Атрибут | Описание |
---|---|---|
d | Нет дампа | Файл не является кандидатом на резервное копирование с помощью программы дампа |
j | Ведение журнала данных | Любые операции записи файла сначала записываются во внешний журнал, а затем на диск |
Таким образом, мы можем более эффективно управлять процессами резервного копирования и восстановления, используя эти атрибуты.
Структура каталогов
Эти атрибуты применяются только к каталогам и влияют на то, как они хранят свои записи и подкаталоги:
Символ | Атрибут | Описание |
---|---|---|
f | Индексированный каталог | Каталог хранит свои записи в хешированной древовидной структуре для более быстрого поиска |
T | Верхняя часть иерархии каталогов | Каталог является вершиной иерархии каталогов распределителя блоков |
Распределитель блоков, выделяющий дисковые блоки для каталогов пытается сгруппировать связанные подкаталоги в одну группу блоков. Результатом может явиться улучшение производительности.
Заключение
В этой статье показано как в операционной системе Linux с помощью команды lsattr
составить список атрибутов файла. Работу с утилитой обязательно необходимо освоить начинающим системным администраторам.