ћерион Ќетворкс

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

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

Ѕазова€ навигаци€ в Linux

¬ этом разделе мы обсудим инструменты, которые позвол€т вам это сделать. –азберем базовые команды с примерами.


pwd

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

„тобы узнать, где находитс€ ваш домашний каталог по отношению к остальной файловой системе, вы можете использовать команду pwd. Ёта команда отображает каталог, в котором мы сейчас находимс€:

pwd

¬ы должны получить обратно информацию, котора€ выгл€дит следующим образом:

/home/demo

ƒомашний каталог назван в честь учетной записи пользовател€, поэтому в приведенном выше примере значение будет, если бы вы вошли на сервер с учетной записью под названием demo. Ётот каталог находитс€ в каталоге с именем /home, который сам находитс€ в каталоге верхнего уровн€, который называетс€ root, но представлен одинарной косой чертой /.


ls

“еперь, когда вы знаете, как отображать каталог, в котором вы находитесь, мы можем просматривать содержимое каталога.

ѕока в нашем каталоге ничего нет, поэтому мы перейдем в другой, более насыщенный каталог дл€ изучени€. ¬ведите в терминале следующее, чтобы перейти в каталог /usr/share.

cd /usr/share

ѕосле этого используем pwd, чтобы проверить, что мы успешно переехали:

/usr/share

“еперь, когда мы находимс€ в новом каталоге, давайте посмотрим, что внутри. ƒл€ этого мы введем команду ls:

adduser            groff                          pam-configs
applications       grub                           perl
apport             grub-gfxpayload-lists          perl5
apps               hal                            pixmaps
apt                i18n                           pkgconfig
aptitude           icons                          polkit-1
apt-xapian-index   info                           popularity-contest
. . . 

 ак видите, в этом каталоге много элементов. ћы можем добавить в команду несколько необ€зательных флагов, чтобы изменить поведение. Ќапример, чтобы перечислить все содержимое в расширенной форме, мы можем использовать флаг -l (дл€ Ђдлинногої вывода):

total 440
drwxr-xr-x   2 root root  4096 Apr 17  2021 adduser
drwxr-xr-x   2 root root  4096 Sep 24 19:11 applications
drwxr-xr-x   6 root root  4096 Oct  9 18:16 apport
drwxr-xr-x   3 root root  4096 Apr 17  2021 apps
drwxr-xr-x   2 root root  4096 Oct  9 18:15 apt
drwxr-xr-x   2 root root  4096 Apr 17  2021 aptitude
drwxr-xr-x   4 root root  4096 Apr 17  2021 apt-xapian-index
drwxr-xr-x   2 root root  4096 Apr 17  2021 awk
. . .

Ётот вид дает нам много информации, больша€ часть которой выгл€дит довольно необычно. ѕервый блок описывает тип файла (если в первом столбце стоит d, это каталог, если -, это обычный файл) и разрешени€.  аждый последующий столбец, разделенный пробелом, описывает количество жестких ссылок, владельца, владельца группы, размер элемента, врем€ последнего изменени€ и им€ элемента. ¬ы можете просмотреть эту информацию с помощью флага -l команды ls.

„тобы получить список всех файлов, включа€ скрытые файлы и каталоги, вы можете добавить флаг -a. ѕоскольку в каталоге /usr/share нет насто€щих скрытых файлов, давайте вернемс€ в наш домашний каталог и попробуем эту команду. ¬ернутьс€ в домашний каталог можно набрав cd без аргументов. ѕосле этого выполним команду ls -a:

.  ..  .bash_logout  .bashrc  .profile  

 ак видите, в этом выводе есть три скрытых файла вместе с . и .., которые €вл€ютс€ специальными индикаторами. „асто файлы конфигурации хран€тс€ как скрытые файлы, как здесь.

ƒл€ записей с точками и двойными точками это не совсем каталоги, а встроенные методы обращени€ к св€занным каталогам. ќдиночна€ точка указывает текущий каталог, а двойна€ точка указывает родительский каталог этого каталога.

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

Ќапример, мы можем просмотреть содержимое каталога с именем /etc, доступного во всех системах Linux, набрав:

ls /etc

ѕолучим вывод:

acpi            fstab        magic        rc.local
adduser.conf    fstab.d      magic.mime   rc.local.orig
aliases         fuse.conf    mailcap      rcS.d
aliases.db      gai.conf     mailcap.order    reportbug.conf
alternatives    groff        mailname     resolvconf
anacrontab      group        mail.rc      resolv.conf
apm           group-       manpath.config   rmt
. . .

cd

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

Ќачните с возврата в каталог /usr/share, набрав следующее:

cd /usr/share

Ёто пример изменени€ каталога путем указани€ абсолютного пути. ¬ Linux каждый файл и каталог находитс€ в самом верхнем каталоге, который называетс€ Ђкорневымї (root), но обозначаетс€ одинарной косой чертой в начале пути /. јбсолютный путь указывает расположение каталога по отношению к этому каталогу верхнего уровн€. Ёто позвол€ет нам однозначно обращатьс€ к каталогам из любого места файловой системы.  аждый абсолютный путь должен начинатьс€ с косой черты.

јльтернативой €вл€етс€ использование относительных путей. ќтносительные пути относ€тс€ к каталогам относительно текущего каталога. ƒл€ каталогов, близких к текущему каталогу в иерархии, это обычно проще и короче. Ќа любой каталог в текущем каталоге можно ссылатьс€ по имени без косой черты в начале. ћы можем перейти в каталог locale в /usr/share из нашего текущего местоположени€, набрав:

cd locale

ћы также можем переместитьс€ на несколько уровней каталогов с относительными пут€ми, указав часть пути, котора€ идет после пути к текущему каталогу. ќтсюда мы можем перейти в каталог LC_MESSAGES в каталоге en, набрав:

cd en/LC_MESSAGES

ƒл€ возврата к родительскому элементу текущего каталога мы используем специальный индикатор с двум€ точками, о котором мы говорили ранее. Ќапример, теперь мы находимс€ в каталоге /usr/share/locale/en/LC_MESSAGES. „тобы подн€тьс€ на один уровень вверх, мы можем ввести:

cd ..

Ёто приведет нас в каталог /usr/share/locale/en.

ћы можем вернутьс€ в наш предыдущий каталог, набрав: cd -

Ўорткат, который вы видели ранее, который всегда будет возвращать вас в ваш домашний каталог - это использовать cd без указани€ каталога:

cd

—кидки 50% в Merion Academy

¬ыбрать курс