Как найти файл в linux

Typical Linux Find Commands and Syntax

find command expressions look like this:

The options attribute controls the behavior and optimization method of the find process. The starting/path attribute defines the top-level directory where the find command in Linux begins the filtering process. The expression attribute controls the assessments that scour the directory tree to create output.

Let’s break down a Linux find command where we don’t just want Linux find file by name:

It enables the top-level optimization (-O3) and permits find to follow symbolic links (-L). The find command in Linux searches through the whole directory hierarchy under /var/www/ for files that have .html on the end.

Use Grep to Find Files Based on Content

The command is only able to filter the directory hierarchy based on a file’s name and meta data. If you need to search based on the content of the file, use a tool like grep. Consider the following example:

This searches every object in the current directory hierarchy () that is a file () and then runs the command for every file that satisfies the conditions. The files that match are printed on the screen (). The curly braces () are a placeholder for the match results. The are enclosed in single quotes () to avoid handing a malformed file name. The command is terminated with a semicolon (), which should be escaped () to avoid interpretation by the shell.

Before the implementation of the option, this kind of command might have used the command to generate a similar output:

Опции и и параметры расширяющие возможности поиска

Несмотря на то что в заголовке есть слово «расширяющие», эти самые опции будут помогать нам ставить дополнительные отсеивающие фильтры на наш поисковый запрос по файлам и папкам в Windowsи фактически будут сужать количество находимых файлов, что нам как раз на пользу.

*
— Означает любую последовательность любых символов, т.е. все символы.

?
— Любой один символ

~something
»
— Поиск имени (Название файла, автор и тд., смотря где поставить) которое должно начинаться с того что в кавычках. В примере ищется имя, где начало something
.

~>»
something
»
— Поиск имени, которое должно оканчиваться на то что в кавычках.


Курсовая работа
»
— Поиск точного совпадения с тем, что находится в кавычках.

~=»
Курс
»
— Поиск имени, которые содержат точный набор символов как тот, который в кавычках. Т.е. по запросу имяфайла:~=»курс»

будут находиться файлы не только со словом Курс
, но и просто содержащие эту последовательность символов (Курсовой, Курсач).

~!»
Курс
»
— Поиск файлов, которые не содержат того что в кавычках. Т.е. этот параметр полностью противоположен предыдущему.

— Означает как «ни есть», «не». Т.е. запрос где будет вид: картинка

, будет искать всё кроме картинок.

()
— Скобки служат для того чтобы отделять и уточнять комбинирующую группу, где действуют операторы.

«»
— Кавычки служат для точного нахождения порядка символов внутри кавычек. Из-за этого внутри кавычек операторы не работают вовсе, как и фильтры.

ИЛИ
— Оператор ИЛИ
. Например, запрос имяфайла: к
урсовая ИЛИ работа

будет искать файлы где встречаются слова либо курсовая
либо работа
ну или и то и то. В английской версии OR.

И
— Оператор И
. Например, запрос имяфайла: к

урсовая И работа

будет искать файлы где есть оба слова, причём нет разницы в каких местах они расположены и необязательно рядом друг с другом. В английской версии AND.

НЕ
— Оператор НЕ
. Например, запрос имяфайла: курсовая НЕ работа

будет искать файлы где есть слово курсовая
, но нет слова работа
. В английской версии NOT.

Приведём немного приверов использования операторов:

размер:10МБ И
— Найдёт файлы Ивана по 10 Мегабайт, которые изменены после 2009 года.

имяфайла: (*156*) И тип:(PNG ИЛИ JPEG)

Найдёт файлы, где в имени содержится 156 и его расширение будет PNG либо JPEG.

Теперь фильтрирующие опции.

Ниже мы приведём какие фильтрирующие опции вы можете использовать при поиске файлов и папок.

имяфайла:
— Имя искомого файла. Аналог на англоязычной Windows — filename
.

тип:
Указывает какой тип файла ищется в данный момент. Может принимать как значения расширений файлов (Например, тип: PNG

), так и их логическое определение (Например: тип: музыка

или тип: картинка

). Аналог на англоязычной Windows — type
.

вид:
— Тоже самое что и тип:
. Аналог на англоязычной Windows — kind

датаизменения:
— Указывает на то, когда файлы был изменён. Может принимать точные значения, диапазоны, а также словестные значения (давно, вчера и тд.). Аналог на англоязычной Windows — datemodified.

датаизменения: 05/25/2010

датаизменения: >2009

датаизменения: 21.‎01.‎2001 .. ‎05.‎01.‎2014

(Обязательно две точки в диапазоне)

датасоздания:
— Указывает на то, когда файл был создан. Значения принимает такие же как и у датаизменения
. Англоязычный аналог datecreated
.

размер: 1.5Мб

— файлы больше 1,5 мегабайта, но меньше или равны 7.

атрибуты:
— Задаёт дополнительную маску поиска по тегам. Параметр нечасто используется из-за того что редко используют теги.

владелец:
— Поиск файлов определённого владельца.

исполнитель:
— Указывание данного атрибута релевантно при поиске музыки того или иного исполнителя.

Комбинирование фильтрирующих опций

Можно использовать сразу несколько различных опций при поиске и это даже будет лучше, потому что сократит список найденных файлов, повыся при этом их релевантность. При нескольких поисковых фильтрах ставьте между ними пробел, фактически он заменяет оператора AND.

Внимание! Операторы И, ИЛИ НЕ никогда не подсвечиваются синим в строке поиска. Если у вас подсветились, значит вы забыли либо кавычки либо скобки либо что-то ещё

Обратите внимание что некоторые фильтры не могут работать с определёнными операторами. Например не может быть тип:(BMP И PNG)
, так как любой файл может быть только одного типа.

Например можно использовать запрос:

размер:5KB..20 KB тип:картинка имяфайла:~

Данный зап
рос ищет изображения размером от 5 до 20 килобайт с именем файла, которое начинается с буквы m
и в котором встречается слово little
. При этом файл должен был быть изменён в течении марта 2014 года.

Как вы сами видите с такими возможностями можно легко искать файлы многолетней давности помня хоть какие-то мелочи о нём.

How to Locate and Process Files Using the Find Command in Linux

The -exec option runs commands against every object that matches the find expression. Let’s see how that looks:

This filters all objects in the current directory tree (.) for files named rc.conf and runs the chmod o+r command to alter file permissions of the results that find returns.

The root directory of the Linux is where the commands that -exec runs are executed. Use -execdir to execute the command you want in the directory where the match is sitting, because this might be more secure and improve performance under certain circumstances.

The -exec or -execdir options will continue to run on their own, but if you’d like to see prompts before they do anything, swap out -exec  -ok or -execdir for -okdir.

Find Files/Folders by Permissions

7. Find Files/Folders by Permissions 777

The command will return all files that have 777 permissions. In this case, it will check all data with the name ‘trial.php’ and has 777 permissions.

8. Find SUID File With Permissions 755

The SUID (Set owner User ID upon execution) is temporary permission set for a file that permits a user to run executable by inheriting access permission of the executable owner. The below command will search for files that have SUID permission 755

9. Look for SGID File With 644 Permission

Akin to SUID, SGID (Set Group ID upon execution) is also temporary permission given to a user to run a file or executable. The primary difference is that it inherits permission of the group when running a file rather than the person logged into the system. One can search SGID files on Linux using the below command

10. Sticky Bit Files With Permissions 755

The sticky bit is another type of permission bit that when assigned on a file will only let the root user delete the file. Therefore, no other users will have the liberty to delete the data that is created by the root user.

So users enable sticky bit to ensure no one can delete the folder or contents. Apart from deletion, users have other full privileges. Below is the one can use the find command on Linux to search for files with permission 755:

Заключение

Запутанные дебри файловой системы UNIX можно исследовать при помощи команды . Время, потраченное на изучение этой команды, на способы ее использования, не будет потрачено впустую. Как было показано во многих примерах, приведенных в этой статье, чтобы упростить исследование и управление файловой системой, следует различными способами использовать команду .

Похожие темы

  • Advanced techniques for using the UNIX find command: оригинал статьи (EN).
  • Commands Reference, Volume 2, find Command (EN): статья с дополнительной информацией о применении команды в IBM AIX.
  • Unix Guru Universe (UGU): этот Web-сайт является превосходным источником информации по UNIX.
  • UHACC — Presentations: using find (EN): статья с советами о том, как при помощи различных доступных опций ускорить поиск, используя .
  • Use free software within commercial UNIX (developerWorks, февраль 2006): эта статья рассматривает, насколько в различных коммерческих UNIX-системах могут отличаться по функциональности команды или . Она поможет оценить совместимость GNU-программ с коммерческими UNIX-системами.

  • AIX и UNIX: в данном разделе сайта developerWorks можно найти различную информацию по системному администрированию AIX и повышению квалификации работы с UNIX.
  • Podcasts: аудиозаписи презентаций экспертов IBM.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector