- 1. Как да търсите файлове по име или разширение с команди в Linux
- 2. Как да намерите файлове по име или разширение с нечувствителни към регистъра команди в Linux
- 3. Как да намерите файлове с разрешения 777 и chmod 755 в Linux
- 4. Намиране и изтриване на файлове с команди в Linux
- 5. Намерете файлове в период от време с команди в Linux
- 6. Намерете файлове с определен размер с команди в Linux
- 7. Намерете графично файлове в Linux
Когато работите в UNIX среда, като например Linux в този случай, е идеално да знаете подробно използването на някои команди, които ще ни помогнат с множество задачи, независимо дали са административни или лични. Една от тях е командата Find, която, както означава нейното име, се използва за намиране на файлове или елементи, които са в операционната система по прост, но функционален и завършен начин.
Когато решим да използваме командата find, можем да търсим и локализираме списъка с файлове или директории въз основа на условията, които посочваме в синтаксиса за използване за изпълнение. След това ще видим какво представлява командата find и как можем да я използваме в Linux, използвайки различните й параметри.
Какво е намериFind е команда в дистрибуциите на Linux, която е много полезна, въпреки че е донякъде неизвестна. Това е команда, която ще улесни задачата за намиране на файл, когато имаме много файлове и наистина е трудно да го намерим. В допълнение към файловете можете също да търсите или изтривате цели директории. Можете да търсите с конкретни филтри като размер, име, разширение, дата …
Филтриране на търсения с FindЕдно от големите предимства на използването на тази команда е, че можем да филтрираме резултатите по различни променливи, като например:
- Разрешения
- Групи
- Потребители
- Тип файл
- Дата на създаване или промяна
- Налични размер и повече опции
Solvetic ще обясни различни методи за ефективно използване на командата Find в Linux и за този случай ще използваме Ubuntu 19.04. Ще видим как можем да използваме командата find за намиране и търсене на файлове с филтри, използвайки терминала на Linux.
1. Как да търсите файлове по име или разширение с команди в Linux
Това е най -съществената част от използването на командата Find и за това е необходимо или да знаете името на обекта или неговото разширение (.mp4, .txt, Jpg.webp и т.н.), за да получите директен резултат.
Етап 1
Например, искаме да намерим файл, наречен Solvetic.docx, който е в папка на работния плот, в този случай трябва да преминем към този път и след това да изпълним следното:
find -name Solvetic.docxСтъпка 2
В резултат на това ще видим папката, където се хоства споменатият файл (ако има такъв):
Стъпка 3
Напротив, ако искаме да видим всички файлове с конкретно разширение, като .docx, ще изпълним следното:
find -name "* .docx"Стъпка 4
Звездичката изброява всички файлове с това разширение
Стъпка 5
Синтаксисът с общо предназначение за командата Find е следният:
намери [-H] [-L] [-P] [път …] [израз]Стъпка 6
Тези параметри са:
-ХТой не следва символни връзки, само ако се обработват аргументите на командния ред.
-ЛСледвайте символните връзки.
-ПТой никога не следва символни връзки и е опцията по подразбиране
Стъпка 7
Опцията [път …] показва местоположението, където трябва да се извърши търсенето в Linux. Параметърът [израз] може да бъде оператори, опции, тестове или действия за изпълнение, виждаме, че по подразбиране командата Find ще игнорира наличните символни връзки, но с -L ще ги търсим за по -пълни резултати.
Има три нива на оптимизация, които можем да изберем, когато стартираме Find, това са:
- -O1
- -O2
- -O3
Стъпка 8
Стойността -O1 е опцията по подразбиране и нейната функция е да принуди командата Find да търси въз основа на името на файла, което сме дефинирали. Нивото -O2 се грижи за приоритизиране на филтрите за име на файл, след това ще изпълни всички филтри въз основа на типа на файла и по -късно ще използва други условия за пълни резултати, а нивото -O3 изпълнява по -дълбока оптимизация, използвайки всички ресурси до максимум .
Намерете опции за командаОбщите опции за намиране са:
- -O1: стойност по подразбиране, това е филтър въз основа на името на посочения файл.
- -O2: Търсете първо по име на файл, а след това по вид
- -O3: Изпълнете търсене, което автоматично сортира резултатите въз основа на използването на ресурса
- -maxdepth X: Търсене в текущата директория и поддиректории на X нива.
- -iname: Търсете, без да разчитате на текста.
- -not: Връща само резултатите, които не съвпадат с търсенето
- -тип f: Търсете само файлове.
- -тип d: стартирайте търсене в директория
2. Как да намерите файлове по име или разширение с нечувствителни към регистъра команди в Linux
Това е метод, който ни позволява да намираме файлове и да показваме резултатите, които съдържат главни и малки букви:
намери -име Solvertic.docx
Потърсете имена в директорииС този метод можем да открием всички директории с име Solvetic в началната директория (/):
find / -type d -name Solvetic
Намиране на файлове без разрешения 777Разрешенията 777 (Rwxrwxrwx) с тези разрешения, които нямат ограничения, тоест всеки потребител може да има достъп до тях.
За да видим файловете, които нямат това разрешение, ще изпълним следното:
намери / -тип f! -перманент 777
Сега, ако искаме да видим файловете, които имат 777 разрешения, ще изпълним:
намирам. -тип f -перма 0777 -принт
Намерете SGID файлове с разрешения 2644Разрешение 2644 са файлове, които имат разрешения за четене и запис, така че за да видим тези файлове, ние ще изпълним:
2644
Намерете SUID файлове в LinuxSUID файловете (Задаване на потребителски идентификатор на собственика при изпълнение) са специални разрешения за файлове, предоставени на елемент и служат за временно предоставяне на разрешения на потребител, за да изпълни програма или файл с разрешенията на собственика на файла.
За да ги видим, ще изпълним следното:
find / -perm / u = s
Търсете SGID файловеSGID файловете (Задаване на идентификатор на групата при изпълнение) са специален тип разрешения за файлове, чрез които е възможно да се наследят разрешенията за достъп на потребителя, който е влязъл. За да прегледаме тези файлове, ще изпълним следното:
find / -perm / g = s
Намерете файлове само за четенеЗа да видим кои са файловете само за четене в Linux, ще изпълним:
find / -perm / u = r
Търсете изпълними файловеАко искаме да знаем със сигурност кои файлове са изпълними, можем да използваме следния ред:
find / -perm / a = x
3. Как да намерите файлове с разрешения 777 и chmod 755 в Linux
Етап 1
Това са специални разрешения за четене и запис, за да видите тези файлове, които ще изпълним:
find / -type d -perm 777 -print -exec chmod 755 {} \;
Стъпка 2
Сега, ако искаме да намерим файловете с разрешения 777 и chmod 644, изпълняваме:
find / -type f -perm 0777 -print -exec chmod 644 {} \;
4. Намиране и изтриване на файлове с команди в Linux
Намерете и изтрийте файлС Find можем да открием файл и да продължим с неговото изтриване, в този случай ще изтрием файла solutiontic.docx, за който изпълняваме следното:
намирам. -тип f -име "Solvetic.docx" -exec rm -f {} \;
Ако искаме да изтрием няколко файла, можем да използваме тяхното разширение:
намирам. -тип f -име "* .docx" -exec rm -f {} \;
Търсете празни файлове или директорииМожем да посочим път, като / tmp, за да намерим празните директории, в този случай изпълняваме следното:
find / tmp -тип d -празна
За да търсим празни файлове, които изпълняваме:
find / tmp -тип f -празна
Намерете скрити файловеВ Linux и във всички системи някои файлове са скрити от съображения за сигурност, ако за някаква административна задача или задача за поддръжка е необходимо да се види какви са те, можем да изпълним следната команда с желания път, в този случай начало:
find / home -type f -name ". *"
Намерете файлове на потребителДруга от многото опции, които ни предлага командата Find, е да открием файловете на конкретен потребител, например да намерим всички файлове на решаващия потребител в домашната директория, която ще изпълним следното:
find / home -user Solutiontic
Намерете файлове от определена групаЗа да намерим елементите на група, ще изпълним следния ред:
решаващ метод за намиране / домашна група
5. Намерете файлове в период от време с команди в Linux
Етап 1
С командата Find ще бъде възможно да търсите във файловете, които са били използвани в определен период от време, например, за да видите променените файлове от последните 30 дни, които можем да изпълним:
find / -mtime 30
Стъпка 2
За да видите файловете, които са предоставили достъп, изпълняваме:
Стъпка 3
За да видим файловете, променени в диапазон от дни, между 1 и 5 например, ще използваме следния ред:
намери / -mtime +1 -mtime -5
Стъпка 4
Ако искаме да видим файловете, които са представили някаква промяна през последния час или минути, можем да изпълним следното:
намери / -cmin -45Стъпка 5
Това ще изброи файловете от последните 45 минути:
Стъпка 6
По същия начин можем да изброим файловете, които са били достъпни за определен период от време:
намери / -амин -60
6. Намерете файлове с определен размер с команди в Linux
Етап 1
Възможно е да се определи размер на файла в рамките на критериите за търсене, като по този начин да се видят всички файлове, чието тегло е 10 MB, които изпълняваме:
намери / -размер 10M
Стъпка 2
За да установим диапазон на тегло, ще използваме:
намери / -размер + 15M -размер -90M
Стъпка 3
Ако по някаква причина искаме да открием и изтрием файл с определен размер, ще използваме следния синтаксис:
find / -size + 200M -exec rm -rf {} \;ЗабележкаВерсията на find в Unix има няколко недостатъка, затова трябва да променим нашата команда, за да получим желания резултат, например:
- На Linux
намирам. -размер 50M | xargs ls -l
- В Unix
намирам. -размер 50M -принтиране0 | xargs -0 ls -lНа ниво скриптове всички резултати с find са положителни, независимо дали получаваме или не резултати, в linux имаме опцията -print -quit в случай, че не получим резултати.
В Unix версията на Find липсва тази опция и е най -добре да я използвате заедно с grep, за да проверите резултата например.
прочетете -r a ако намерите. -maxdepth 1 -name "$ a" -print -quit | grep -q. след това ехо "Файл е намерен" иначе ехо "Не е намерен файл" ако
7. Намерете графично файлове в Linux
Настоящите дистрибуции на Linux, с графична среда (GUI), ни предлагат възможността да използваме интегрираната търсачка за лесно откриване на желаните файлове, в случай на Ubuntu 19.04 можем да получим достъп до Файлове и в полето за търсене да въведем желания термин, за да незабавно покажете свързаните резултати:
Увеличете
Виждаме как търсенето на файлове в Linux е нещо наистина завършено благодарение на командата Find и нейните различни варианти, за да се получат най -добрите резултати в зависимост от случая.