- Как посмотреть подробные сведения о файле и папке в linux командой ls -l
- Создание файла и просмотр сведений о его владельце, группе и правах доступа
- Создание папки и просмотр сведений о её владельце, группе и правах доступа
- Как отличить папку от файла в linux
- P.S.
- Команда file в Linux
- Синтаксис и опции file
- Примеры использования file
- Выводы
Как посмотреть подробные сведения о файле и папке в linux командой ls -l
Для понимания структуры доступа в файловой системе часто требуется знать, каким пользователям и группам пользователей какие права доступа назначены к папкам и файлам. Одним из способов быстро узнать эту информацию является команда ls с опцией -l . О том, какие подводные камни могут быть при работе с этой командой и как всё-таки посмотреть информацию о распределении доступа к файлам и директориям на диске, подробно рассмотрим на примерах ниже.
Создание файла и просмотр сведений о его владельце, группе и правах доступа
Сперва создадим файл file командой touch так, как описано в → этой статье. Для того, чтобы посмотреть информацию о его владельце, группе и правах доступа нужно набрать команду ls -l ИмяФайла . В итоге получим сводку по этому файлу:
[email protected]:~# ls -l file -rw-r--r-- 1 root root 0 Apr 10 21:06 file
Первый набор символов отвечает за права доступа, далее идет имя владельца, за ним группа, потом дата/время создания и потом имя файла. Этой информации достаточно для того, чтобы определить, кто и что может делать с этим файлом и, если что-то не работает по причине того, что каких-то прав не хватает, то это становится ясно.
Создание папки и просмотр сведений о её владельце, группе и правах доступа
Создадим папку folder командой mkdir так, как описано в → этой статье. Если действовать по такой же схеме, как и описано выше, то окажется, что этого недостаточно. Будет выдана информация только о размере папки:
Поэтому с папками при просмотре сведении о ней работаем по такой схеме: смотрим информацию не об этой папке, а общую информацию о всей папке. Тогда информация о вложенных в неё файлах и папках выдаётся в полной мере:
[email protected]:~# ls -l total 4 -rw-r--r-- 1 root root 0 Apr 10 21:06 file drwxr-xr-x 2 root root 4096 Apr 10 21:18 folder
Как отличить папку от файла в linux
Сразу на этом примере остановлюсь на вопросе о том, как отличить папку от файла в linux. В самом начале строки в символах о правах доступа у файла первым символом идет — тогда, как у папки первый символ это буква d . Именно это отличает папку от файла.
P.S.
Альтернатива есть почти всегда! 😉
Как вывести дерево каталогов с правами, группой и пользователем с помощью команды tree читать по → этой ссылке.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉
Команда file в Linux
Команда file — одна из самых полезных, поскольку позволяет узнать тип данных, которые на самом деле содержатся внутри документа. Если у вас есть какой-либо файл, взятый из ненадёжного источника, не поленитесь проверить его с помощью этой команды, прежде чем нажать кнопку Открыть. Возможно, такая предосторожность покажется лишней, но она оградит вас от «встречи» с нежелательным контентом.
В большинстве дистрибутивов Linux утилита file (работу которой и запускает одноимённая команда) входит в стандартный набор программного обеспечения.
Синтаксис и опции file
Синтаксис команды file достаточно простой. Записывать её в эмуляторе терминала или консоли следует так:
file опции название_документа
Что же касается опций, то их у этой команды несколько десятков. Мы рассмотрим лишь основные:
- -b, —brief — запрет на демонстрацию имен и адресов файлов в выводе команды;
- -i, —mime — определение MIME-типа документа по его заголовку;
- —mime-type, —mime-encoding — определение конкретного элемента MIME;
- -f, —files-from — анализ документов, адреса которых указаны в простом текстовом файле;
- -l, —list — список паттернов и их длина;
- -s, —special-files — предотвращение проблем, которые могут возникнуть при чтении утилитой специальных файлов;
- -P — анализ определенной части файла, которая обозначается различными параметрами;
- -r, —raw — отказ от вывода /ooo вместо непечатных символов;
- -z — анализ содержимого сжатых документов.
Для того, чтобы ознакомиться с полным списком опций, выполните в терминале команду:
Примеры использования file
Если вам нужно всего лишь посмотреть тип файла, использовать опции не обязательно. Достаточно прописать имя команды, а также название файла и путь к нему, при условии, что он находится не в корневой папке:
Случается, что нужно проверить не один, а несколько файлов. Чтобы не выполнять команду много раз подряд, перечисляйте названия всех файлов через пробел:
file /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file2.tiff
Как видно на примере, картинки с расширениями gif и tiff в действительности оказались текстовыми документами, а архив с расширением zip — PDF документом. Кстати, команда file даёт возможность не только проверить, является ли архив архивом, но и заглянуть внутрь, чтобы узнать, что в нём содержится. Для этой цели используется опция -z:
file -z /home/main-user/losst/testarchive.zip
Как вы успели заметить, команда, возвращая ответ, постоянно выводит названия файлов, что в некоторых случаях бывает удобно, но зачастую только усложняет чтение результатов. Отключить эту функцию легко — воспользуйтесь опцией -b:
file -b /home/main-user/losst/test-file.gif /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file2.tiff
Иногда нужно узнать не просто тип файла, а его MIME-тип. В таком случае на помощь приходит опция -i:
file -i -b /home/main-user/losst/fileA.sbin /home/main-user/losst/fileG.aspx /home/main-user/losst/fileH.lua
Нередко по каким-либо причинам утилита не может найти указанный файл: например, вы ошиблись буквой в его названии или неверно указали папку, в которой он находится. Тогда вывод информации об этом файле предваряет фраза cannot open. Впрочем, есть возможность видоизменить результат, добавив в него сообщение об ошибке. Для этого используйте опцию -E.
Сравните вывод команды с опцией -E и без неё:
file -E -b /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file4.raw /home/main-user/losst/test-file.gif
file -b /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file4.raw /home/main-user/losst/test-file.gif
Еще один способ работы с утилитой file — запись названий и адресов документов в простой текстовый файл. Применяя этот способ на практике, не забывайте добавлять к команде опцию —files-from, после которой указывайте имя файла, содержащего список документов, и путь к нему.
file —files-from /home/main-user/losst/list_of_files.txt
Выводы
Команда file помогает избежать ситуаций, когда вам приходится открывать подозрительные файлы, не будучи уверенными в их содержимом. Также вы можете использовать её для проверки содержимого нескольких архивов, если есть необходимость найти потерявшийся в большом массиве файлов документ, но нет желания просматривать все архивы вручную.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.