find - ett verktyg för att söka efter filer efter namn och andra egenskaper, som används i UNIX- liknande operativsystem . Kan söka i en eller flera kataloger med hjälp av kriterier som anges av användaren . findReturnerar alla filer i arbetskatalogen som standard . Dessutom findtillåter det användaren att tillämpa vissa åtgärder på alla hittade filer. Reguljära uttryck stöds också . För att söka efter filer efter innehåll, använd verktyget grep .
Hitta alla filer i nuvarande och underordnade kataloger som börjar med min .
Observera: när det gäller unix är allt, inklusive kataloger, en fil .
hitta. -namn 'min*'För att endast söka efter filnamn måste du använda ett extra alternativ-type f
hitta. -namn 'min*' -typ fHitta alla filer i rot- och underkatalogerna som börjar med min .
Att söka i rotkatalogen motsvarar att söka på hela datorn.
hitta / -namn 'min*'Söker efter filer i kataloger /usr/local/manoch/opt/local/man
hitta /usr/local/man /opt/local/man -namn 'my*'Hitta alla filer i nuvarande och underordnade kataloger som börjar med my eller qu .
Observera att som standard är alla argument kopplade med hjälp av logiska och (alternativet -a, från engelska och ). Om du behöver kombinera flera argument med en logisk eller - använd alternativet -o, från engelska. eller .
hitta. \( -namn "min*" -o -namn "qu*" \) -skriv utHitta alla filer i den aktuella och underordnade katalogen vars tillägg matchar de listade.
Denna sökning utförs med hjälp av reguljära uttryck .
hitta. -typ f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)"Det föregående exemplet kan också skrivas med reguljära uttryck
hitta. -typ f -regex "\(my\|qu\).*"Alternativet -exec kör kommandot som följer det och ersätter {}den aktuella filen. Hitta alla kataloger under den angivna katalogen och ändra deras behörigheter med kommandot chmod :
hitta /sökväg -typ d -exec chmod 0755 {} \;Alternativet -exec är cirka 10 gånger långsammare än att omdirigera utdata via xargs , så det rekommenderas att skriva den här koden så här:
hitta /sökväg -typ d | xargs chmod 0755Kataloger med namn som innehåller mellanslag kommer dock inte att behandlas med xargs-omdirigeringsmetoden, så du bör använda det första alternativet, vadderat:
hitta /sökväg -typ d -exec chmod 0755 "{}" \;Eller använd alternativet -print0och -0låter dig bearbeta argument som innehåller mellanslag och citattecken:
hitta /sökväg -typ d -print0 | xargs -0 chmod 0755Sök efter alla php.ini-filer i den aktuella katalogen och ersätt texten i varje hittad fil med kommandot sed .
hitta. -name 'php.ini' -exec sed -i 's/log_errors = Av/log_errors = På/g' "{}" \;Komplex sökning i flera typer av filer och textersättningar i var och en av dem, från den aktuella katalogen och nedan.
hitta. -regex ".*\.\(php\|js\|css\)" -exec sed -i 's/\/bitrix\/templates\//\/local\/templates\//g' "{} " \;Hitta och lista filer i hela filsystemet som har ändrats under den senaste minuten:
hitta / -mmin -1 -printHitta och lista filer i hela filsystemet som har ändrats för mer än 31 dagar sedan:
hitta / -mtime +31 -printHitta och lista filer i hela filsystemet vars storlek är större än 100 MB:
hitta / -storlek +100M -printI det här exemplet utförs sökningen på filer som ägs av en användare som heter ilya
hitta. -användare ilyaSökdjupet är relativt katalogen som anges i kommandoargumentet.
Börjar söka i mappen /var/www, men inte djupare /var/www/*/*/*/*.
hitta /var/www -maxdepth 4 -namn 'restore.php'Söker efter filer i de angivna katalogerna.
hitta /var/spool/postfix/ { deferred,active,maildrop,incoming } / -typ fLetar efter php-filer i den aktuella katalogen, exklusive index.php
hitta. -namn "*.php" ! -namn "index.php"Tar bort alla filer restore.phpfrån den aktuella katalogen upp till 4 kapslingsnivåer i förhållande till kommandoradsargumentet
Börjar söka i mapp /var/www, men inte djupare /var/www/*/*/*/*och tar bort alla restore.phphittade filer.
hitta /var/www -maxdepth 4 -name 'restore.php' -exec rm -r {} \;Om ett fel uppstår under sökningen (det finns till exempel ingen läsbehörighet från katalogen), blir kommandots utdata mindre informativt. Omdirigera STDERR-utdata till /dev/null .
hitta / -namn 'secret.keys' -print 2 >/dev/nullDu kan också använda något av följande alternativ:
hitta / -namn "namn på fil att söka" |& grep -v 'Permission denied' hitta / -namn "namnet på filen du letar efter" |& grep -v 'Permission denied'
Unix-kommandon | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
MS-DOS- och Windows -kommandon | Vanliga|
---|---|
| |
Se även: Lista över DOS-kommandon Lista över Microsofts operativsystemkommandon |