Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Руководство по команде lsattr для начинающих

Оригинал: Linux lsattr Command Tutorial for Beginners (with Examples)
Автор: Himanshu Arora
Дата публикации: 5 сентября 2018 года
Перевод: А. Кривошей
Дата перевода: март 2019 г.

Недавно мы обсуждали команду chattr, которую вы можете использовать для изменения атрибутов файлов в файловой системе Linux. Для вывода списка атрибутов файла есть отдельная команда, названная lsattr. В этом руководстве мы обсудим этот инструмент на нескольких простых для понимания примерах.

Но прежде чем сделать это, необходимо отметить, что все примеры, упомянутые в этой статье, были протестированы на машине с Ubuntu 18.04 LTS.

Команда lsattr

Как уже говорилось в вводной части выше, команда lsattr в Linux выводит список атрибутов файла в stdout. Ниже приводится ее синтаксис:

lsattr [ -RVadlpv ] [ files...  ]

Вот как man-страница утилиты определяет ее:

lsattr выводит список атрибутов файла в файловой системе EXT2.

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам хорошее представление о том, как работает команда.

Q1. Как использовать команду lsattr?

Базовое использование довольно просто. Просто выполните 'lsattr' без каких-либо параметров командной строки. Конечно, вы должны предоставить в качестве входных данных имя файла.

Пример:

$ lsattr file1.txt

И вот вывод команды:

--------------e--- file1.txt

В дополнение к 'e' (в выводе выше), в выводе может быть несколько других букв. Следующий отрывок (взятый из man-страницы chattr) должен дать вам лучшее представление об их значении:

Буквы «aAcCdDeijPsStTu» выбирают новые атрибуты для файлов: только добавление (a), никаких обновлений (A), сжатый (c), без копирования при записи (C), без дампа (d), синхронные обновления каталогов (D), расширенный формат (e), неизменяемый (i), журналирование данных (j), иерархия проектов (P), безопасное удаление (я), синхронные обновления (S), без объединения (t), корневой каталог (T) и неудаляемый (u).
Следующие атрибуты доступны только для чтения и могут быть перечислены с помощью lsattr (1) но не модифицируются chattr: зашифровано (E), индексированный каталог (I) и встроенные данные (N).

Q2. Как заставить lsattr работать с каталогами рекурсивно?

Это можно сделать с помощью параметра командной строки -R.

Например:

$ lsattr -R Downloads/HTF-review/

Вот вывод приведенной выше команды в моей системе:

вывод lsattr -R

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

Q3. Как заставить lsattr обращаться с каталогами как с обычными файлами?

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

работа с каталогами

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

Q4. Как заставить lsattr выводить номера проекта и версии файла?

Это можно сделать с помощью параметров командной строки -p и -v. На следующем скриншоте показаны обе эти опции в действии:

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

Заключение

Согласен, lsattr может не попасть в категорию наиболее часто используемых команд, но если вы используете chattr, то это команда, которую нужно знать. Здесь мы обсудили большинство параметров командной строки, которые она предлагает. Чтобы узнать больше о команде lsattr, посетите ее man-страницу.