ΠΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°/ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ -and
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, ΠΏΠΎΡΡΠ°Π²ΠΈΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -print Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΈΠ½Π°ΡΠ΅:
find ~ -print -and -type f -and -name '*.BAK'
ΠΡΠ° Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -print Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΒΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -exec, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
-exec ΠΊΠΎΠΌΠ°Π½Π΄Π° {} ;
Π³Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° β ΡΡΠΎ ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, {} β ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ -exec Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠ°, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ -delete, ΠΎΠ±ΡΡΠΆΠ΄Π°Π²ΡΠ΅ΠΉΡΡ Π²ΡΡΠ΅:
-exec rm '{}' ';'
Π ΡΠ½ΠΎΠ²Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ. ΠΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -exec ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ -ok, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π·Π°ΠΏΡΠΎΡ:
find ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 me me 224 2011-10-29 18:44 /home/me/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 me me 0 2012-09-19 12:53 /home/me/foo.txt
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΠΈΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΈ foo, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls -l. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ -ok Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ», ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -exec Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ:
ls -l ΡΠ°ΠΉΠ»1
ls -l ΡΠ°ΠΉΠ»2
ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Π±ΡΠ»ΠΎ Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ls -l ΡΠ°ΠΉΠ»1 ΡΠ°ΠΉΠ»2
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ: ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ xargs, ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find. ΠΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±.
ΠΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π·Π½Π°ΠΊΠΎΠΌ Β«ΠΏΠ»ΡΡΒ», Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ find Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎΠΌΠ°Π½Π΄Π°:
find ~ -type f -name 'foo*' -exec ls -l '{}' ';'
-rwxr-xr-x 1 me me 224 2011-10-29 18:44 /home/me/bin/foo
-rw-r--r-- 1 me me 0 2012-09-19 12:53 /home/me/foo.txt
Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ls Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
find ~ -type f -name 'foo*' -exec ls -l '{}' +
-rwxr-xr-x 1 me me 224 2011-10-29 18:44 /home/me/bin/foo
-rw-r--r-- 1 me me 0 2012-09-19 12:53 /home/me/foo.txt
ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
Π’ΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ xargs. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ:
find ~ -type f -name 'foo*' -print | xargs ls -l
-rwxr-xr-x 1 me me 224 2011-10-29 18:44 /home/me/bin/foo
-rw-r--r-- 1 me me 0 2012-09-19 12:53 /home/me/foo.txt
ΠΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ find ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ xargs, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅.
ΠΠ ΠΠΠΠ§ΠΠΠΠ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ½ΠΎ Π½Π΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. ΠΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, xargs Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡΠ΅ΡΠΏΠ°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ xargs Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ --show-limits.
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈUnix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π² ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ±Π΅Π»Ρ (ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ). ΠΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ xargs, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΡΡΠΈΡ ΡΠΏΠΈΡΠΊΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ find ΠΈ xarg ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΡΡΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» (null character). Π ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΠΏΡΡΡΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ 32). ΠΠΎΠΌΠ°Π½Π΄Π° find ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ -print0, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΡΡΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° xargs ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --null, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΡΡΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
find ~ -iname '*.jpg' -print0 | xargs --null ls -l
ΠΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π»ΡΠ±ΡΡ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄Π°ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ
ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ find Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ (ΠΏΠΎΡΡΠΈ) Π·Π°Π΄Π°Ρ. Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²:
[ [email protected] ~]$ mkdir -p playground/dir-{00{1..9},0{10..99},100}
[ [email protected] ~]$ touch playground/dir-{00{1..9},0{10..99},100}/file-{A..Z}
ΠΠ°ΠΊΠ°Ρ ΠΌΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ! ΠΡΠΈ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ playground, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 100 ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ 26 ΠΏΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅-ΠΊΠ° ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅!
ΠΡΠΎ Π²ΠΎΠ»ΡΠ΅Π±ΡΡΠ²ΠΎ ΠΌΡ ΡΠΎΡΠ²ΠΎΡΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (mkdir) ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ (ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ) ΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ touch. ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ mkdir Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -p (ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ mkdir ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡΡΠΈ) Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ 100 ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΠΎΠΌΠ°Π½Π΄Π° touch ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ ΠΈΠΌΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ».
Π Π½Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ 100 ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ file-A. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΈΡ :
[ [email protected] ~]$ find playground -type f -name 'file-A'
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ls, find Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Π½Π΅ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ 100 ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ file-A:
[ [email protected] ~]$ find playground -type f -name 'file-A' | wc -l
100
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ:
[ [email protected] ~]$ touch playground/timestamp
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» timestamp ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π²Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, stat, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ls. ΠΠΎΠΌΠ°Π½Π΄Π° stat Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ ΠΈ Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°:
[ [email protected] ~]$ stat playground/timestamp
File: `playground/timestamp'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 14265061 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1001/ me) Gid: ( 1001/ me)
Access: 2012-10-08 15:15:39.000000000 -0400
Modify: 2012-10-08 15:15:39.000000000 -0400
Change: 2012-10-08 15:15:39.000000000 -0400
ΠΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ touch ΠΊ ΡΠ°ΠΉΠ»Ρ Π΅ΡΠ΅ ΡΠ°Π· ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ stat, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ:
[ [email protected] ~]$ touch playground/timestamp
[ [email protected] ~]$ stat playground/timestamp
File: `playground/timestamp'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 14265061 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1001/ me) Gid: ( 1001/ me)
Access: 2012-10-08 15:23:33.000000000 -0400
Modify: 2012-10-08 15:23:33.000000000 -0400
Change: 2012-10-08 15:23:33.000000000 -0400
ΠΠ°Π»Π΅Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π½Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅:
[ [email protected] ~]$ find playground -type f -name 'file-B' -exec touch '{}' ';'
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ file-B, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΉΠ΄Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ find ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠ°Π²Π½ΠΈΠ² Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ timestamp:
[ [email protected] ~]$ find playground -type f -newer playground/timestamp
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ 100 ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ file-B. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° touch ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΌ file-B Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° timestamp, ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Β«Π½ΠΎΠ²Π΅Π΅Β», ΡΠ΅ΠΌ timestamp, ΠΈ ΠΏΠΎΡΠΎΠΌΡ Π±ΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ -newer.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΏΠ»ΠΎΡ ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ²ΡΠ΅ΠΉΡΡ Π²ΡΡΠ΅, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΅Π΅ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ playground:
[ [email protected] ~]$ find playground \( -type f -not -perm 0600 \) -or \( -type d -not -perm 0700 \)
199
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠ΅ 100 ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ 2600 ΡΠ°ΠΉΠ»ΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² playground (Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΠ» timestamp ΠΈ ΡΠ°ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ playground, Π²ΡΠ΅Π³ΠΎ 2702 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Β«ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΒ». ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ , Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅: