ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ foo= ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ unset Π² ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ foo= Π·Π°Π΄Π°Π΅Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ foo Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ foo Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° unset foo ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ foo.
ΠΡΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ Π΄Π²Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅, Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎΠΏΡΡΠ½ΠΎ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΡΡ ΠΠ‘ Linux ΠΈ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
ΠΠΎΠΌΠ°Π½Π΄Π° findΠΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ find. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠ°ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π½ΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠΈ Π² ΠΠ‘ Linux ΡΠ°ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡ Π΅Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π½Π΅ΠΌΠ°Π»ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΠ·-Π·Π° Π΅Π΅ ΠΎΠΏΡΠΈΠΉ, ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (action-type), ΠΏΡΠΈΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ, ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ°ΠΉΠ»Π° test. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
# find / -name test -print
/usr/bin/test
#
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½Π½ΡΠ΅ test. ΠΠ°ΠΊ Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ: "ΠΈΡΠΊΠ°ΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /, ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ test ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°". ΠΠ΅Π³ΠΊΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΉΠΌΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΠ‘ Windows. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ Linux ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π° (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° SAMBA) ΠΏΠΎΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΠ‘ Windows. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠ‘ Linux.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΎΠΏΡΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ -mount, ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
# find / -mount -name test -print
/usr/bin/test
#
ΠΡ Π½Π°ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ» Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π½ΠΎ Π½Π° ΡΠ΅ΠΉ ΡΠ°Π· Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π±Π΅Π· ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
ΠΠΎΠ»Π½Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ find Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
find [ΠΏΡΡΡ] [ΠΎΠΏΡΠΈΠΈ] [ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ] [Π΄Π΅ΠΉΡΡΠ²ΠΈΡ]
Π§Π°ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ [ΠΏΡΡΡ] ΠΏΠΎΠ½ΡΡΠ½Π° ΠΈ ΠΏΡΠΎΡΡΠ°: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /bin, ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ .. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠ΅ΠΉ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, find /var /home.
Π ΡΠ°Π±Π». 2.10 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π’Π°Π±Π»ΠΈΡΠ° 2.10
ΠΠΏΡΠΈΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ -depth ΠΠΎΠΈΡΠΊ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ -follow Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ -maxdepths N ΠΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ N Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° -mount (ΠΈΠ»ΠΈ -xdev) ΠΠ΅ ΠΈΡΠΊΠ°ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ’Π΅ΠΏΠ΅ΡΡ ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΡ . Π ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΈΠ±ΠΎ true, Π»ΠΈΠ±ΠΎ false. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° find ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ Π½Π΅ΠΌΡ Π²ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, ΠΊΠΎΠΌΠ°Π½Π΄Π° find ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ; Π΅ΡΠ»ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°Π΄ Π½ΠΈΠΌ. Π ΡΠ°Π±Π». 2.11 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ; ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find, Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.
Π’Π°Π±Π»ΠΈΡΠ° 2.11
ΠΡΠΈΡΠ΅ΡΠΈΠΉ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ -atime N Π ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· N Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ -mtime N Π€Π°ΠΉΠ» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΈΠ·ΠΌΠ΅Π½ΡΠ»ΡΡ N Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ -name ΡΠ°Π±Π»ΠΎΠ½ ΠΠΌΡ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠ»Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ find ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ, Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ -newer Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ°ΠΉΠ», ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» -type Π‘ Π€Π°ΠΉΠ» ΡΠΈΠΏΠ° C, Π³Π΄Π΅ C ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ "d" Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ "f" Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° -user ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π€Π°ΠΉΠ» ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°Π±Π». 2.12, Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΠ· Π½ΠΈΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ: ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΠΎΡΠΌΠ°.
Π’Π°Π±Π»ΠΈΡΠ° 2.12
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° ΠΠΏΠ΅ΡΠ°ΡΠΎΡ, Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ! -not ΠΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΡ -Π° -and ΠΠ±Π° ΠΊΡΠΈΡΠ΅ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΡΡΠΈΠ½Π½Ρ -ΠΎ -or ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ, Π° ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π»Π° ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ "ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» X, ΠΈΠ»ΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΡΡ ΡΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ", Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
\(-newer X -ΠΎ -name "_*" \)
ΠΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ "ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ". Π ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.16.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.16 ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ find Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈΠΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π½Π°ΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° while2.
$ find . -newer while2 -print
.
./elif3
./words.txt
./words2.txt
./_trap
$
ΠΡΠ΅ ΡΡΠ΄Π΅ΡΠ½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ Π½Π°ΡΠ»ΠΈ Π½Π΅Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ -type f.
$ find . -newer while2 -type f -print
./elif3
./words.txt
./words2.txt
./_trap
$
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° find Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΊΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ (.) ΡΠ°ΠΉΠ»Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» while2 (-newer while2), ΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΠΏΡΠΎΠΉΠ΄Π΅Π½, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ (-type f), ΠΎΠ±ΡΡΠ½ΡΠ΅ Π»ΠΈ ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ. Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ, -print, ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΠΈΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» while2, Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ.
$ find . \( -name "_*" -or -newer while2 \) -type f -print
./elif3
./words.txt
./words2.txt
./_break
./_if
./set
./_shift
./_trap
./_unset
./ until
$
ΠΡΠΎ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΡΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ, ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ» *, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ find.