⚡ ѕ–ќ…ƒ» Ќќ¬џ… ќЌЋј…Ќ  ”–— ѕќ —≈“≈¬џћ “≈’ЌќЋќ√»яћ —ќ — »ƒ ќ… 50%

до конца скидки осталось

Ќачать обучение 🚀
ћерион Ќетворкс

7 минут чтени€

¬ статье пойдет речь о расположении файлов и папок, как использовать поиск дл€ нахождени€ нужной информации. «адача ознакомление с предназначение основных папок в операционной системе Linux и то, что в них находитьс€.

ќбучайс€ в Merion Academy

ѕройди курс по
сетевым технологи€м

Ќачать

–азберемс€ в структуре FHS и посмотрим, как искать файлы и команды. FHS (File System Hierarchy Standard) Ц это стандартна€ иерархи€ ќ—. —огласно Hierarchy FHS - есть стандартные папки, которые должны располагатьс€ в корне.

FHS

¬от классическое расположение файлов и папок в корневой папке ќ— Linux. —тандарт FHS был изначально предназначен дл€ того, чтобы во всех дистрибутивах ќ— Linux могли пон€ть и найти все, что нам нужно. Ќекоторые дистрибутивы Linux отклон€ютс€ от этого стандарта, но не сильно в целом данный стандарт соблюдаетс€. ѕеречислим основные папки и их предназначение.

  • /bin Ц базовые исполн€емые файлы
  • /boot Ц файлы loader
  • /dev Ц устройства
  • /etc Ц конфигураци€ ѕ 
  • /home Ц домашние директории
  • /lib Ц библиотеки €дра
  • /proc Ц информаци€ о работающей системе
  • /media Ц монтирование носителей
  • /mnt Ц монтирование носителей
  • /opt Ц дополнительное программное обеспечение
  • /root Ц домашн€€ директори€ админа
  • /sbin Ц основные программы настройки системы
  • /srv Ц данные системных служб
  • /tmp Ц временные файлы
  • /usr Ц бинарные файлы пользователей
  • /var - переменные

ѕерва€ папка bin в ней наход€тс€ базовые исполн€емые файлы команд, т.е все команды которые может использовать пользователь они наход€тс€ здесь в данной папке. ѕапка boot Ц в данной папке наход€тс€ файлы загрузчика. ќбычно это отдельный диск примонтированный в котором находитьс€ €дро Linux. ¬ папке dev Ц наход€тс€ файлы всех устройств в операционной системе Linux все и даже устройства представл€ют собой файлы. ѕапка etc Ц здесь находитьс€ конфигураци€ нашего конкретного ѕ , в ней много подпапок и в ней лежит конфигураци€. ¬ директории home наход€тс€ домашние папки всех пользователей, кроме пользовател€ root. ¬ данной папке наход€тс€ документы, рабочий стол и т.д все что относитс€ к пользователю. ѕапка lib здесь наход€тс€ общие библиотеки и модули €дра. ѕапка proc Ц здесь наход€тс€ вс€ информаци€ о запущенных в данный момент процессах. ¬ данную папку монтируетс€ виртуальна€ файлова€ система procfs. ѕапка media создана дл€ монтировани€ съемных накопителей типа USB или CD-ROM. ¬ старых верси€х Linux и до сих пор осталась, есть папка mnt. –аньше в нее монтировались съемные носители, теперь же данную папку обычно используют дл€ монтировани€ дополнительных файловых систем. ѕапка opt - дл€ установки дополнительного программного обеспечени€. ѕапка root Ц говорит сама за себ€. ѕапка sbin в данной папке лежат настройки серьезных таких компонент, как файрвол iptables, например, или процесс инициализации init. ѕапка srv в ней лежат данные дл€ всех системных служб. ѕапка tmp Ц пон€тно, что в ней хран€тс€ временные файлы. ѕричем данные файлы там хран€тс€ до перезагрузки операционной системы, во врем€ нее они удал€ютс€. ¬ папке usr хран€тс€ двоичные файлы, которые относ€тс€ непосредственно к пользователю, например, игры или программы, т.е то что пользователь самосто€тельно установил. ѕапка var Ц папка переменные, здесь обычно размещаетс€ почта или логи программ. ѕон€тно, что это стандарт во многих дистрибутивах могут быть отклонени€, но в том или ином виде все эти папки присутствуют в различных дистрибутивах.

ѕодробнее про структуру FHS можно прочитать здесь

¬тора€ часть не менее важна€, как же найти в данных папках необходимую информацию.

 оманды, используемые дл€ поиска:

  • Grep Ц ”тилита поиска по содержимому в том числе и внутри файла
  • Find - ”тилита поиска файлов по свойствам. —ерьезна€ утилита, котора€ начинает поиск файлов по файловой системе в реальном времени, у данной утилиты есть множество ключей и параметров
  • Locate Ц Ёто быстрый поиск файлов.
  • Which Ц ѕоиск команды. ¬ыводит минимальное количество информации
  • Type Ц ¬ывод точной команды
  • Whereis Ц ѕоиск команды, исходников и мануалов. —ерьезный глубокий инструмент

Ќачнем с find / -name mail. ƒанна€ команда начнет искать в корневой папке / все файлы с именем mail.

find / -name mail

ƒанна€ команда рекурсивно осуществл€ет поиск по всей файловой системе. “.к мы запустили поиск от пользовател€ root, то он пробежалс€ по всем папкам спокойно, если запускать от обычного пользовател€, то может не хватать прав.

≈сть друга€ команда - locate mail.

locate mail

ƒанна€ команда отрабатывает практически мгновенно.  оманда find искала именно по синтаксису, плюс можно добавл€ть сложные конструкции поиска.  оманда locate делает проще показывает все где находитс€ сочетание символов.

«апустим поиск с помощью команды find / -user siadmin, поиск будет искать все что касаетс€ данного пользовател€. ѕоиск оп€ть идет дольше, чем поиск командой locate siadmin.

ƒело в том, что данна€ команда по умолчанию ищет не везде и у нее есть конфигурационный файл cat /etc/updatedb.conf.

cat /etc/updatedb.conf

¬ данном конфигурационном файле мы можем увидеть, что данна€ утилита не ищет в примонтированных файловых системах. ƒана€ строчка # PRUNENAMES=".git .bzr .hg .svn", говорит о том , что в данных форматы в поиске не выдаютс€. ѕоиск не производитс€ в папках PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot". » не ищет в перечисленных файловых системах в файле. ƒанный файл можно конфигурировать и будут ман€тс€ параметры поиска.

—оздадим файл текстовый touch Vadim.txt. » попробуем найти - locate Vadim.txt. Ќичего не нашел. find Vadim.txt - поиск успешен.

find Vadim.txt

locate работает с индексной локацией. ƒанный механизм напоминает индексацию файлов в MS Windows. ѕроходит индексаци€ файлов и папок и после этого windows знает, что и где лежит. ј если индексаци€ не была проведена, то операционна€ система Windows или говорит, что ничего не найдено или поиск происходит длительное врем€. јналогично утилита locate работает в Linux. –аз в день, команда locate запускает команду find.  оманда find пробегает по всей файловой системе, а команда locate создает некую Ѕазу данных и запоминает где и что находитьс€. »менно поэтому команда find работает долго, а команда locate работает практически моментально. Locate знает, где и что лежит в тот момент когда find искал. Ќо есть большой минус, данна€ функци€ происходит раз в день и изменени€ могут быть не актуальны. ƒл€ обновлени€ базы данных команды locate, необходимо ее запустить вручную updatedb. “.е ест конфигураци€ /etc/updatedb.conf и мы запускаем обновление Ѕазы данных команды. ѕосле обновлени€, команда будет практически мгновенно находить.

» последн€€ часть статьи, в которой необходимо рассмотреть поиск по командам. “ут достаточно просто, есть команда ls Ц она показывает содержимое папки. ћы можем найти где находитьс€ данна€ команда which ls и получим, что она находитьс€ /bin/ls. “.е. команда ls хранитс€ в папке bin Ц где хран€тс€ бинарники тех команд, которые могут быть вызваны пользовател€ми. ѕо сути когда мы набираем команду ls, мы вводим /bin/ls.

” нас есть команда type. ќбратите внимание, когда мы вызываем команду ls срабатывает подсветка файлов и так далее, т.е. настройки оболочки.  огда мы запускаем напр€мую /bin/ls то вызываетс€ непосредственно команда и игнорируютс€ настройки оболочки. ѕричина заключаетс€ в том, что когда мы запускаем просто команду ls, то она запускаетс€ с некоторыми ключами.

ls

„тобы узнать, что за ключи используютс€ необходимо набрать type ls.

type ls

ќбратите внимание, что команда ls Ц это алиас\псевдоним. “.е запуска€ в таком режиме, фактически мы вводим /bin/ls Цcolor=auto. » получаем красивый вывод. Type позвол€ет выводить псевдоним.

≈сть еще одна команда, котора€ более детальную информацию выводит whereis ls. ƒл€ ls там не много информации.

whereis ls

ѕоказывает, где лежит и к какому пакету относитс€.


>