Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Командная строка LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 50

Автор Шоттс Уильям

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° PuTTY доступна ΠΏΠΎ адрСсу http://www.chiark.greenend.org.uk/~sgtatham/putty/.

8 ΠΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΡƒΠ·Π»Π° β€˜remote-sys (192.168.1.4)’ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСна. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RSA: 41:ed:7a:df:23:19:bf:3c:a5:17:bc:61:b3:7f:d9:bb. Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС (Π΄Π°/Π½Π΅Ρ‚)? β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

9 Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π·Π΅Π» β€˜remote-sys,192.168.1.4’ (RSA) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΉ список извСстных ΡƒΠ·Π»ΠΎΠ². β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

10 Π’ΠΠ˜ΠœΠΠΠ˜Π•: Π˜Π—ΠœΠ•ΠΠ˜Π›Π‘Π― Π˜Π”Π•ΠΠ’Π˜Π€Π˜ΠšΠΠ’ΠžΠ  Π£Π”ΠΠ›Π•ΠΠΠžΠ“Πž УЗЛА!

Π•Π‘Π’Π¬ Π’Π•Π ΠžΠ―Π’ΠΠžΠ‘Π’Π¬, ЧВО КВО-ВО Π—ΠΠœΠ«Π‘Π›Π˜Π› ЧВО-ВО ΠΠ•Π”ΠžΠ‘Π ΠžΠ•!

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚ΡŒ вас прямо сСйчас (Π°Ρ‚Π°ΠΊΠ° "Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π² сСрСдинС")!

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ просто измСнился ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RSA ΡƒΠ·Π»Π°.

Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ·Π΅Π» прислал ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RSA:

41:ed:7a:df:23:19:bf:3c:a5:17:bc:61:b3:7f:d9:bb.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ со своим систСмным администратором.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡƒΠ·Π»Π° Π² /home/me/.ssh/known_hosts, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этого сообщСния.

ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ»ΡŽΡ‡ хранится Π² Ρ„Π°ΠΉΠ»Π΅ /home/me/.ssh/known_hosts:1

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RSA ΡƒΠ·Π»Π° remote-sys измСнился, Π° Π²Ρ‹ запросили ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ.

β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

11 ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ»ΡŽΡ‡ хранится Π² Ρ„Π°ΠΉΠ»Π΅ /home/me/.ssh/known_hosts:1 β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

17. Поиск Ρ„Π°ΠΉΠ»ΠΎΠ²

БлуТдая ΠΏΠΎ систСмС Linux, ΠΌΡ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ясно ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ типичная Linux-систСма содСрТит мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ связи с этим Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹? ΠœΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ файловая систСма Π² Linux ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² соотвСтствии с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ соглашСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ поколСния Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ рассмотрим Π΄Π²Π° инструмСнта для поиска Ρ„Π°ΠΉΠ»ΠΎΠ² Π² систСмС:

β€’ locate – выполняСт поиск Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ.

β€’ find – выполняСт поиск Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ познакомимся с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ поиска Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ списков с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ:

β€’ xargs – конструируСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°, ΠΈ выполняСт ΠΈΡ….

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² этой Π³Π»Π°Π²Π΅ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна ΠΏΠ°Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΌ Π² Π½Π°ΡˆΠΈΡ… исслСдованиях:

β€’ touch – измСняСт Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ассоциированныС с Ρ„Π°ΠΉΠ»ΠΎΠΌ.

β€’ stat – Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ статус Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

locate β€” простой способ поиска Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° locate выполняСт быстрый поиск Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всС ΠΈΠΌΠ΅Π½Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ искомой строкС. Допустим, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ с zip. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ трСбуСтся Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ оканчиваСтся Π½Π° bin/. БоотвСтствСнно ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ locate, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

[[email protected] ~]$ locate bin/zip

locate Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ поиск Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ всС ΠΈΠΌΠ΅Π½Π°, содСрТащиС строку bin/zip:

/usr/bin/zip

/usr/bin/zipcloak

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipnote

/usr/bin/zipsplit

Если ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ поиска ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ строгиС трСбования, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ locate ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ grep, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТный поиск:

[[email protected] ~]$ locate zip | grep bin

/bin/bunzip2

/bin/bzip2

/bin/bzip2recover

/bin/gunzip

/bin/gzip

/usr/bin/funzip

/usr/bin/gpg-zip

/usr/bin/preunzip

/usr/bin/prezip

/usr/bin/prezip-bin

/usr/bin/unzip

/usr/bin/unzipsfx

/usr/bin/zip

/usr/bin/zipcloak

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipnote

/usr/bin/zipsplit

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° locate сущСствуСт ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚, ΠΈ Π·Π° эти Π³ΠΎΠ΄Ρ‹ Π±Ρ‹Π»ΠΎ создано нСсколько Π΅Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС. Π”Π²Π° ΠΈΠ· Π½ΠΈΡ…, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² соврСмСнных дистрибутивах Linux, β€” это slocate ΠΈ mlocate, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ символичСскими ссылками, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π° locate. Π Π°Π·Π½Ρ‹Π΅ вСрсии locate ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ мноТСства ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². НСкоторыС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ поиск с использованиСм рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рассказываСтся Π² Π³Π»Π°Π²Π΅ 19) ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹Π΅ символы. ЗаглянитС Π½Π° страницу справочного руководства (man) для locate, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, какая вСрсия установлСна Ρƒ вас.

ΠΎΡ‚ΠΊΡƒΠ΄Π° бСрСтся Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для locate?

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ locate сразу послС установки ΠΎΠ½Π° ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠΈΡ‚ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, Π½ΠΎ Ссли ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ дСнь, всС, ΠΊΠ°ΠΊ Π½ΠΈ странно Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. Π’Π°ΠΊ Π² Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°? Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для locate создаСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ updatedb. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° пСриодичСски запускаСтся ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π½ΠΈΠ΅ cron; Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½Π° запускаСтся систСмным ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ cron Ρ‡Π΅Ρ€Π΅Π· рСгулярныС ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм, Π² состав ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ locate, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° updatedb запускаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² сутки. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ обновляСтся Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ, скорСС всСго, locate Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ самыС свСТиС Ρ„Π°ΠΉΠ»Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ updatedb Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

find β€” слоТный способ поиска Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ locate, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ поиск Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° find ΠΈΡ‰Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ согласно Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (ΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…). Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠΌ врСмя Π½Π° исслСдованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство интСрСсных особСнностСй, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ столкнСмся, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ‡Π½Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠΈ программирования Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ….

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ find ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΈΠΌΠ΅Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² для поиска. НапримСр, с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список содСрТимого домашнСго ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°:

[[email protected] ~]$ find ~

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠ½Π° выдаст Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список. Π’Π°ΠΊ ΠΊΠ°ΠΊ список выводится Π² стандартный Π²Ρ‹Π²ΠΎΠ΄, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ wc, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ число Ρ„Π°ΠΉΠ»ΠΎΠ²:

[[email protected] ~]$ find ~ | wc -l

47068

Π£Ρ… Ρ‚Ρ‹, Π²ΠΎΡ‚ это ΠΌΡ‹ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ! Вся ΠΏΡ€Π΅Π»Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска Ρ„Π°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ критСриям. Она Π΄Π΅Π»Π°Π΅Ρ‚ это посрСдством (Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ странно) примСнСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

[[email protected] ~]$ find ~ -type d | wc -l

1695

Π”ΠΎΠ±Π°Π²ΠΈΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ -type d, ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΈΡΡŒ поиском Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Но Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ поиск Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ:

[[email protected] ~]$ find ~ -type f | wc -l

38737

Π’ Ρ‚Π°Π±Π». 17.1 пСрСчислСны ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²,Β Β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find.

Π’Π°Π±Π»ΠΈΡ†Π° 17.1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² Π² find

Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ²

ОписаниС

b

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства

c

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» символьного устройства

d

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³

f

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

l

БимволичСская ссылка

Π”ΠΎΠ±Π°Π²ΠΈΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°ΠΉΠ΄Π΅ΠΌ всС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ *.JPG, ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ большС 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°:

[[email protected] ~]$ find ~ -type f -name "*.JPG" -size +1M | wc -l

840

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ -name с шаблоном ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ шаблон Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ подстановку ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ -size со строкой +1M. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ символ «плюс» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ трСбуСтся ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ символ «минус» ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строки Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅: «мСньшС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ числа». Число Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: Β«Π² точности соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽΒ». Π‘ΡƒΠΊΠ²Π° M Π² ΠΊΠΎΠ½Ρ†Π΅ опрСдСляСт Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния – ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ (Megabytes). Π’ Ρ‚Π°Π±Π». 17.2 пСрСчислСны символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для обозначСния Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния.