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

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

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

Команда find ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. Π’ Ρ‚Π°Π±Π». 17.3 приводится ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠ· Π½ΠΈΡ…. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² случаях, ΠΊΠΎΠ³Π΄Π° трСбуСтся числовой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, допустимо использованиС Ρ„ΠΎΡ€ΠΌΡ‹ записи с символами + ΠΈ -, ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π²ΡˆΠ΅ΠΉΡΡ Π²Ρ‹ΡˆΠ΅.

Π’Π°Π±Π»ΠΈΡ†Π° 17.2. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find

Π‘ΠΈΠΌΠ²ΠΎΠ»

Π•Π΄ΠΈΠ½ΠΈΡ†Π° измСрСния

b

Π‘Π»ΠΎΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎ 512 Π±Π°ΠΉΡ‚ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли ΠΈΠ½ΠΎΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ явно)

c

Π‘Π°ΠΉΡ‚Ρ‹

w

2-Π±Π°ΠΉΡ‚Π½Ρ‹Π΅ слова

k

ΠšΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Ρ‹ (Kilobytes, Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ 1024 Π±Π°ΠΉΡ‚)

M

ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ (Megabytes,Β Β Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ 1 048 576 Π±Π°ΠΉΡ‚)

G

Π“ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ (Gigabytes, Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ 1 073 741 824 Π±Π°ΠΉΡ‚)

Π’Π°Π±Π»ΠΈΡ†Π° 17.3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find

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

ОписаниС

-cmin n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, содСрТимоС ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдний Ρ€Π°Π· измСнялись Ρ‚ΠΎΡ‡Π½ΠΎ n ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ условиС Β«ΠΌΠ΅Π½Π΅Π΅ n ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄Β», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ -n; Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ условиС Β«Π±ΠΎΠ»Π΅Π΅ n ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄Β», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ +n

-cnewer имя

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, содСрТимоС ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдний Ρ€Π°Π· измСнялись ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ Ρƒ Ρ„Π°ΠΉΠ»Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

-ctime n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, содСрТимоС ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдний Ρ€Π°Π· измСнялись Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ n*24 часа Π½Π°Π·Π°Π΄

-empty

БоотвСтствуСт пустым Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ

-group Π³Ρ€ΡƒΠΏΠΏΠ°

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. Π“Ρ€ΡƒΠΏΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ»ΠΈ числовым ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π³Ρ€ΡƒΠΏΠΏΡ‹

-iname шаблон

ДСйствуСт Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° -name, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ рСгистр символов

-inum n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ индСксного ΡƒΠ·Π»Π° (inode) n. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска всСх ТСстких ссылок Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ индСксный ΡƒΠ·Π΅Π»

-mmin n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдний Ρ€Π°Π· измСнялось n ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄

-mtime n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдний Ρ€Π°Π· измСнялось n*24 часов Π½Π°Π·Π°Π΄

-name шаблон

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ шаблоном

-newer имя

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

-nouser

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ допустимому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌ записям, ΠΈΠ»ΠΈ для обнаруТСния слСдов Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ²

-nogroup

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ допустимой Π³Ρ€ΡƒΠΏΠΏΠ΅

-perm Ρ€Π΅ΠΆΠΈΠΌ

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ доступа. Π Π΅ΠΆΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ числом ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

-samefile имя

ДСйствуСт Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° -inum. БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ с Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ индСксного ΡƒΠ·Π»Π° (inode), Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°ΠΉΠ» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

-size n

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ n

-type c

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ с Ρ‚ΠΈΠΏΠΎΠΌ c

-user имя

БоотвСтствуСт Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. АргумСнт имя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ»ΠΈ числовым ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π­Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ Π½Π° страницС справочного руководства (man) для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

НСсмотря Π½Π° большоС число ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find, ΠΌΡ‹ всС Π΅Ρ‰Π΅ нуТдаСмся Π² способС опрСдСлСния логичСских ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ. НапримСр, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ с нСбСзопасными Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск всСх Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΎΡ‚ 0600, ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΎΡ‚ 0700. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, find ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ комбинирования ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², с Ρ†Π΅Π»ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΡ‚Π±ΠΎΡ€Π°. Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

[[email protected] ~]$ find ~ \( -type f -not -perm 0600 \) -or \( -type d -not –perm 0700 \)

Π€-Ρ„Ρƒ! Как нСизящно! Π§Ρ‚ΠΎ всС это Π·Π½Π°Ρ‡ΠΈΡ‚? На самом Π΄Π΅Π»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пСрСстанут ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎ слоТными, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ с Π½ΠΈΠΌΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ (Ρ‚Π°Π±Π». 17.4).

ИмСя список ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ find. На самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ -or:

(Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 1) -or (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2)

Π’Π°Π±Π»ΠΈΡ†Π° 17.4. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ОписаниС

-and

БоотвСтствуСт, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ условия Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ… с ΠΎΠ±Π΅ΠΈΡ… сторон ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. МоТно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ -a. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² отсутствиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ подразумСваСтся -and

-or

БоотвСтствуСт, Ссли выполняСтся условиС с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· сторон ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. МоТно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ -o

-not

БоотвСтствуСт, Ссли условиС Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Π½Π΅ выполняСтся. МоТно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ -!

( )

Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для формирования ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для управлСния порядком ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для измСнСния порядка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π”Π°ΠΆΠ΅ Ссли скобки Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΠ»Π΅Π΅ наглядными. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, поэтому ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»ΠΈΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ экранированиС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слСша

Π’ этом Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ смысл, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΎΠ΄Π½ΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ – с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Но Ссли выполняСтся поиск ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ -or вмСсто -and? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ find, выполняя ΠΎΠ±Ρ…ΠΎΠ΄ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, соотвСтствуСт Π»ΠΈ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌ. КомандС трСбуСтся ΡƒΠ·Π½Π°Ρ‚ΡŒ, являСтся Π»ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ с Β«ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈΒ» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ элСмСнт Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сразу Π΄Π²ΡƒΠΌ условиям. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сгруппированныС выраТСния, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

(Ρ„Π°ΠΉΠ» с ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ) -or (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ)

Наша ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Β«ΠΏΠ»ΠΎΡ…ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΒ». Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? ЀактичСски Π½ΠΈΠΊΠ°ΠΊ. Но ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Β«Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΒ», зная, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΒ». Π’ случаС с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 0600, для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² β€” 0700. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅Π΅ Β«Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Β» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, выглядит Ρ‚Π°ΠΊ:

-type f -and -not -perms 0600

Π° для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Ρ‚Π°ΠΊ:

-type d -and -not -perms 0700

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π² Ρ‚Π°Π±Π». 17.4, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ -and ΠΌΠΎΠΆΠ½ΠΎ просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ подразумСваСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, объСдинив всС вмСстС, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

find ~ (-type f -not -perms 0600) -or (-type d -not -perms 0700)

Однако ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ скобок ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ. Для этого достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ….

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° выраТСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… логичСским ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ:

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1 -ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1 Π±ΡƒΠ΄Π΅Ρ‚ вычислСно Π² любом случаС, Π° Π²ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ вычислСно Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2, зависит ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ Ρ‚Π°Π±Π». 17.5 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.