Find file in directory linux command

Содержание
  1. 35 Practical Examples of Linux Find Command
  2. 1. Find Files Using Name in Current Directory
  3. 2. Find Files Under Home Directory
  4. 3. Find Files Using Name and Ignoring Case
  5. 4. Find Directories Using Name
  6. 5. Find PHP Files Using Name
  7. 6. Find all PHP Files in the Directory
  8. 7. Find Files With 777 Permissions
  9. 8. Find Files Without 777 Permissions
  10. 9. Find SGID Files with 644 Permissions
  11. 10. Find Sticky Bit Files with 551 Permissions
  12. 11. Find SUID Files
  13. 12. Find SGID Files
  14. 13. Find Read-Only Files
  15. 14. Find Executable Files
  16. 15. Find Files with 777 Permissions and Chmod to 644
  17. 16. Find Directories with 777 Permissions and Chmod to 755
  18. 17. Find and remove single File
  19. 18. Find and remove Multiple File
  20. 19. Find all Empty Files
  21. 20. Find all Empty Directories
  22. 21. File all Hidden Files
  23. 22. Find Single File Based on User
  24. 23. Find all Files Based on User
  25. 24. Find all Files Based on Group
  26. 25. Find Particular Files of User
  27. 26. Find Last 50 Days Modified Files
  28. 27. Find Last 50 Days Accessed Files
  29. 28. Find Last 50-100 Days Modified Files
  30. 29. Find Changed Files in Last 1 Hour
  31. 30. Find Modified Files in Last 1 Hour
  32. 31. Find Accessed Files in Last 1 Hour
  33. 32. Find 50MB Files
  34. 33. Find Size between 50MB – 100MB
  35. 34. Find and Delete 100MB Files
  36. 35. Find Specific Files and Delete
  37. If You Appreciate What We Do Here On TecMint, You Should Consider:
  38. How to Find Files in Linux Using the Command Line
  39. Find a File in Linux by Name or Extension
  40. Using Common find Commands and Syntax to Find a File in Linux
  41. Basic Examples
  42. Options and Optimization for find
  43. Find a File in Linux by Modification Time
  44. Use grep to Find a File in Linux Based on Content
  45. How to Find and Process a File in Linux
  46. How to Find and Delete a File in Linux
  47. More Information
  48. Команда find в Linux
  49. Основная информация о Find
  50. Основные параметры команды find
  51. Критерии
  52. Примеры использования
  53. 1. Поиск всех файлов
  54. 2. Поиск файлов в определенной папке
  55. 3. Ограничение глубины поиска
  56. 4. Инвертирование шаблона
  57. 5. Несколько критериев
  58. 6. Несколько каталогов
  59. 7. Поиск скрытых файлов
  60. 8. Поиск по разрешениям
  61. 9. Поиск файлов в группах и пользователях
  62. 10. Поиск по дате модификации
  63. 11. Поиск файлов по размеру
  64. 12. Поиск пустых файлов и папок
  65. 13. Действия с найденными файлами
  66. Выводы

35 Practical Examples of Linux Find Command

The Linux find command is one of the most important and frequently used command command-line utility in Unix-like operating systems. The find command is used to search and locate the list of files and directories based on conditions you specify for files that match the arguments.

find command can be used in a variety of conditions like you can find files by permissions, users, groups, file types, date, size, and other possible criteria.

Through this article, we are sharing our day-to-day Linux find command experience and its usage in the form of examples.

In this article, we will show you the most used 35 Find Commands Examples in Linux. We have divided the section into Five parts from basic to advance usage of the find command.

  • Part I: Basic Find Commands for Finding Files with Names
  • Part II: Find Files Based on their Permissions
  • Part III: Search Files Based On Owners and Groups
  • Part IV: Find Files and Directories Based on Date and Time
  • Part V: Find Files and Directories Based on Size
  • Part VI: Find Multiple Filenames in Linux

1. Find Files Using Name in Current Directory

Find all the files whose name is tecmint.txt in a current working directory.

2. Find Files Under Home Directory

Find all the files under /home directory with the name tecmint.txt.

3. Find Files Using Name and Ignoring Case

Find all the files whose name is tecmint.txt and contains both capital and small letters in /home directory.

4. Find Directories Using Name

Find all directories whose name is Tecmint in / directory.

5. Find PHP Files Using Name

Find all php files whose name is tecmint.php in a current working directory.

6. Find all PHP Files in the Directory

Find all php files in a directory.

7. Find Files With 777 Permissions

Find all the files whose permissions are 777.

8. Find Files Without 777 Permissions

Find all the files without permission 777.

9. Find SGID Files with 644 Permissions

Find all the SGID bit files whose permissions are set to 644.

10. Find Sticky Bit Files with 551 Permissions

Find all the Sticky Bit set files whose permission is 551.

11. Find SUID Files

Find all SUID set files.

12. Find SGID Files

Find all SGID set files.

13. Find Read-Only Files

Find all Read-Only files.

14. Find Executable Files

Find all Executable files.

Читайте также:  Как узнать пароль от windows не меняя его

15. Find Files with 777 Permissions and Chmod to 644

Find all 777 permission files and use the chmod command to set permissions to 644.

16. Find Directories with 777 Permissions and Chmod to 755

Find all 777 permission directories and use the chmod command to set permissions to 755.

17. Find and remove single File

To find a single file called tecmint.txt and remove it.

18. Find and remove Multiple File

To find and remove multiple files such as .mp3 or .txt, then use.

19. Find all Empty Files

To find all empty files under a certain path.

20. Find all Empty Directories

To file all empty directories under a certain path.

21. File all Hidden Files

To find all hidden files, use the below command.

22. Find Single File Based on User

To find all or single files called tecmint.txt under / root directory of owner root.

23. Find all Files Based on User

To find all files that belong to user Tecmint under /home directory.

24. Find all Files Based on Group

To find all files that belong to the group Developer under /home directory.

25. Find Particular Files of User

To find all .txt files of user Tecmint under /home directory.

26. Find Last 50 Days Modified Files

To find all the files which are modified 50 days back.

27. Find Last 50 Days Accessed Files

To find all the files which are accessed 50 days back.

28. Find Last 50-100 Days Modified Files

To find all the files which are modified more than 50 days back and less than 100 days.

29. Find Changed Files in Last 1 Hour

To find all the files which are changed in the last 1 hour.

30. Find Modified Files in Last 1 Hour

To find all the files which are modified in the last 1 hour.

31. Find Accessed Files in Last 1 Hour

To find all the files which are accessed in the last 1 hour.

32. Find 50MB Files

To find all 50MB files, use.

33. Find Size between 50MB – 100MB

To find all the files which are greater than 50MB and less than 100MB.

34. Find and Delete 100MB Files

To find all 100MB files and delete them using one single command.

35. Find Specific Files and Delete

Find all .mp3 files with more than 10MB and delete them using one single command.

That’s it, We are ending this post here, In our next article, we will discuss more other Linux commands in-depth with practical examples. Let us know your opinions on this article using our comment section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

How to Find Files in Linux Using the Command Line

When you have to find a file in Linux, it’s sometimes not as easy as finding a file in another operating system. This is especially true if you are running Linux without a graphical user interface and need to rely on the command line. This article covers the basics of how to find a file in Linux using the CLI. The find command in Linux is used to find a file (or files) by recursively filtering objects in the file system based on a simple conditional mechanism. You can use the find command to search for a file or directory on your file system. By using the -exec flag ( find -exec ), files can be found and immediately processed within the same command.

Find a File in Linux by Name or Extension

Use find from the command line to locate a specific file by name or extension. The following example searches for *.err files in the /home/username/ directory and all sub-directories:

Using Common find Commands and Syntax to Find a File in Linux

find expressions take the following form:

  • The options attribute will control the find process’s behavior and optimization method.
  • The starting/path attribute will define the top-level directory where find begins filtering.
  • The expression attribute controls the tests that search the directory hierarchy to produce output.

Consider the following example command:

This command enables the maximum optimization level (-O3) and allows find to follow symbolic links ( -L ). find searches the entire directory tree beneath /var/www/ for files that end with .html .

Basic Examples

Command Description
find . -name testfile.txt Find a file called testfile.txt in current and sub-directories.
find /home -name *.jpg Find all .jpg files in the /home and sub-directories.
find . -type f -empty Find an empty file within the current directory.
find /home -user exampleuser -mtime -7 -iname «.db» Find all .db files (ignoring text case) modified in the last 7 days by a user named exampleuser.

Options and Optimization for find

The default configuration for find will ignore symbolic links (shortcut files). If you want find to follow and return symbolic links, you can add the -L option to the command, as shown in the example above.

find optimizes its filtering strategy to increase performance. Three user-selectable optimization levels are specified as -O1 , -O2 , and -O3 . The -O1 optimization is the default and forces find to filter based on filename before running all other tests.

Optimization at the -O2 level prioritizes file name filters, as in -O1 , and then runs all file-type filtering before proceeding with other more resource-intensive conditions. Level -O3 optimization allows find to perform the most severe optimization and reorders all tests based on their relative expense and the likelihood of their success.

Command Description
-O1 (Default) filter based on file name first.
-O2 File name first, then file type.
-O3 Allow find to automatically re-order the search based on efficient use of resources and likelihood of success.
-maxdepth X Search current directory as well as all sub-directories X levels deep.
-iname Search without regard for text case.
-not Return only results that do not match the test case.
-type f Search for files.
-type d Search for directories.

Find a File in Linux by Modification Time

The find command contains the ability to filter a directory hierarchy based on when the file was last modified:

The first command returns a list of all files in the entire file system that end with the characters conf and modified in the last seven days. The second command filters exampleuser user’s home directory for files with names that end with the characters conf and modified in the previous three days.

Use grep to Find a File in Linux Based on Content

The find command can only filter the directory hierarchy based on a file’s name and metadata. If you need to search based on the file’s content, use a tool like grep . Consider the following example:

This searches every object in the current directory hierarchy ( . ) that is a file ( -type f ) and then runs the command grep «example» for every file that satisfies the conditions. The files that match are printed on the screen ( -print ). The curly braces ( <> ) are a placeholder for the find match results. The <> are enclosed in single quotes ( ‘ ) to avoid handing grep a malformed file name. The -exec command is terminated with a semicolon ( ; ), which should be escaped ( \; ) to avoid interpretation by the shell.

How to Find and Process a File in Linux

The -exec option runs commands against every object that matches the find expression. Consider the following example:

This filters every object in the current hierarchy ( . ) for files named rc.conf and runs the chmod o+r command to modify the find results’ file permissions.

The commands run with the -exec are executed in the find process’s root directory. Use -execdir to perform the specified command in the directory where the match resides. This may alleviate security concerns and produce a more desirable performance for some operations.

The -exec or -execdir options run without further prompts. If you prefer to be prompted before action is taken, replace -exec with -ok or -execdir with -okdir .

How to Find and Delete a File in Linux

To delete the files that end up matching your search, you can add -delete at the end of the expression. Do this only when you are positive the results will only match the files you wish to delete.

In the following example, find locates all files in the hierarchy starting at the current directory and fully recursing into the directory tree. In this example, find will delete all files that end with the characters .err :

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on Monday, October 25, 2010.

Источник

Команда find в Linux

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

В этой статье мы поговорим о поиске с помощью очень мощной команды find Linux, подробно разберем ее синтаксис, опции и рассмотрим несколько примеров.

Основная информация о Find

Find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.

Команда find имеет такой синтаксис:

find [ папка] [ параметры] критерий шаблон [действие]

Папка — каталог в котором будем искать

Параметры — дополнительные параметры, например, глубина поиска, и т д

Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.

Шаблон — непосредственно значение по которому будем отбирать файлы.

Основные параметры команды find

Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.

  • -P никогда не открывать символические ссылки
  • -L — получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth — максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth — искать сначала в текущем каталоге, а потом в подкаталогах
  • -mount искать файлы только в этой файловой системе.
  • -version — показать версию утилиты find
  • -print — выводить полные имена файлов
  • -type f — искать только файлы
  • -type d — поиск папки в Linux

Критерии

Критериев у команды find в Linux очень много, и мы опять же рассмотрим только основные.

  • -name — поиск файлов по имени
  • -perm — поиск файлов в Linux по режиму доступа
  • -user — поиск файлов по владельцу
  • -group — поиск по группе
  • -mtime — поиск по времени модификации файла
  • -atime — поиск файлов по дате последнего чтения
  • -nogroup — поиск файлов, не принадлежащих ни одной группе
  • -nouser — поиск файлов без владельцев
  • -newer — найти файлы новее чем указанный
  • -size — поиск файлов в Linux по их размеру

Примеры использования

А теперь давайте рассмотрим примеры find, чтобы вы лучше поняли, как использовать эту утилиту.

1. Поиск всех файлов

Показать все файлы в текущей директории:

2. Поиск файлов в определенной папке

Показать все файлы в указанной директории:

Искать файлы по имени в текущей папке:

Не учитывать регистр при поиске по имени:

find . -iname «test*»

3. Ограничение глубины поиска

Поиска файлов по имени в Linux только в этой папке:

find . -maxdepth 1 -name «*.php»

4. Инвертирование шаблона

Найти файлы, которые не соответствуют шаблону:

find . -not -name «test*»

5. Несколько критериев

Поиск командой find в Linux по нескольким критериям, с оператором исключения:

find . -name «test» -not -name «*.php»

Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:

find -name «*.html» -o -name «*.php»

6. Несколько каталогов

Искать в двух каталогах одновременно:

find ./test ./test2 -type f -name «*.c»

7. Поиск скрытых файлов

Найти скрытые файлы:

8. Поиск по разрешениям

Найти файлы с определенной маской прав, например, 0664:

find . type f -perm 0664

Найти файлы с установленным флагом suid/guid:

find / -perm 2644

find / -maxdepth 2 -perm /u=s

Поиск файлов только для чтения:

find /etc -maxdepth 1 -perm /u=r

Найти только исполняемые файлы:

find /bin -maxdepth 2 -perm /a=x

9. Поиск файлов в группах и пользователях

Найти все файлы, принадлежащие пользователю:

find . -user sergiy

Поиск файлов в Linux принадлежащих группе:

find /var/www -group developer

10. Поиск по дате модификации

Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:

Поиск файлов в Linux открытых N дней назад:

Найти все файлы, модифицированные между 50 и 100 дней назад:

find / -mtime +50 –mtime -100

Найти файлы измененные в течении часа:

11. Поиск файлов по размеру

Найти все файлы размером 50 мегабайт:

От пятидесяти до ста мегабайт:

find / -size +50M -size -100M

Найти самые маленькие файлы:

find . -type f -exec ls -s <> \; | sort -n -r | head -5

find . -type f -exec ls -s <> \; | sort -n | head -5

12. Поиск пустых файлов и папок

find /tmp -type f -empty

13. Действия с найденными файлами

Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, выполнить ls для получения подробной информации о каждом файле:

find . -exec ls -ld <> \;

Удалить все текстовые файлы в tmp

find /tmp -type f -name «*.txt» -exec rm -f <> \;

Удалить все файлы больше 100 мегабайт:

find /home/bob/dir -type f -name *.log -size +100M -exec rm -f <> \;

Выводы

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

Источник

Читайте также:  Чем отличается коробочная версия windows 10 от оем
Оцените статью