- Команда find в Linux
- Основная информация о Find
- Основные параметры команды find
- Критерии
- Примеры использования
- 1. Поиск всех файлов
- 2. Поиск файлов в определенной папке
- 3. Ограничение глубины поиска
- 4. Инвертирование шаблона
- 5. Несколько критериев
- 6. Тип файла
- 6. Несколько каталогов
- 7. Поиск скрытых файлов
- 8. Поиск по разрешениям
- 9. Поиск файлов в группах и пользователях
- 10. Поиск по дате модификации
- 11. Поиск файлов по размеру
- 12. Поиск пустых файлов и папок
- 13. Действия с найденными файлами
- Выводы
- File Searching on Linux Mint
- How To Access File Manager
- Cinnamon Edition
- MATE Edition
- Xfce Edition
- How do I search files and folders on Linux Mint 18.1 Cinnamon?
- 4 Answers 4
- From your desktop, open a shell or terminal window. At the prompt, use the ‘man’ command to review the details about ‘find’.
- prompt$ find /home/myName -type f -iname somefile
Команда 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. Поиск файлов в определенной папке
Показать все файлы в указанной директории:
Искать файлы по имени в текущей папке:
Поиск по имени в текущей папке:
Не учитывать регистр при поиске по имени:
3. Ограничение глубины поиска
Поиска файлов по имени в Linux только в этой папке:
find . -maxdepth 1 -name «*.php»
4. Инвертирование шаблона
Найти файлы, которые не соответствуют шаблону:
5. Несколько критериев
Поиск командой find в Linux по нескольким критериям, с оператором исключения:
find . -name «test» -not -name «*.php»
Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:
find -name «*.html» -o -name «*.php»
Эта команда найдёт как php, так и html файлы.
6. Тип файла
По умолчанию find ищет как каталоги, так и файлы. Если вам необходимо найти только каталоги используйте критерий type с параметром d. Например:
find . -type d -name «Загрузки»
Для поиска только файлов необходимо использовать параметр f:
find . -type f -name «Загрузки»
6. Несколько каталогов
Искать в двух каталогах одновременно:
find ./test ./test2 -type f -name «*.c»
7. Поиск скрытых файлов
Найти скрытые файлы только в текущей папке. Имена скрытых файлов в Linux начинаются с точки:
find . -maxdepth 1 -type f -name «.*»
8. Поиск по разрешениям
Найти файлы с определенной маской прав, например, 0664:
Права также можно задавать буквами для u (user) g (group) и o (other). Например, для того чтобы найти все файлы с установленным флагом Suid в каталоге /usr выполните:
sudo find /usr -type f -perm /u=s
Поиск файлов доступных владельцу только для чтения только в каталоге /etc:
find /etc -maxdepth 1 -perm /u=r
Найти только исполняемые файлы:
find /bin -maxdepth 2 -perm /a=x
9. Поиск файлов в группах и пользователях
Найти все файлы, принадлежащие пользователю:
Поиск файлов в Linux принадлежащих группе:
find /var/www -group www-data
10. Поиск по дате модификации
Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:
Поиск файлов в Linux открытых N дней назад:
Найти все файлы, модифицированные между 50 и 100 дней назад:
Найти файлы измененные в течении часа:
11. Поиск файлов по размеру
Найти все файлы размером 50 мегабайт:
От пятидесяти до ста мегабайт:
Найти самые маленькие файлы:
find . -type f -exec ls -s <> \; | sort -n -r | head -5
find . -type f -exec ls -s <> \; | sort -n | head -5
12. Поиск пустых файлов и папок
13. Действия с найденными файлами
Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, для того чтобы найти все пустые папки и файлы, а затем выполнить ls для получения подробной информации о каждом файле используйте:
Удалить все текстовые файлы в 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.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
File Searching on Linux Mint
This simple tutorial explains how to search files and folders on Linux Mint. Mint is a very popular and easy to use computer operating system from GNU/Linux family based on Ubuntu Desktop. This covers its three editions namely Mint Cinnamon, XFCE, and MATE so pick the one suitable to yours. Let’s search!
How To Access File Manager
On any of Mint editions, double-click Home Folder on your desktop.
Cinnamon Edition
On this Mint edition, your file manager’s name is Nemo.
Step 1. Open your file manager from start menu.
Step 2. Open the place you want to search.
Step 3. Click Find button (or Ctrl+F) and type the keyword.
Step 4. Click the button again to close your search.
👉 Note: no advanced search features on Mint Cinnamon.
MATE Edition
On this Mint edition, your file manager’s name is Caja.
Step 1. Open your file manager.
Step 2. Open the place you want to search.
Step 3. Click Find button (Ctrl+F) → type the keyword → press Enter.
Note: a keyword is like ‘flower’ or ‘mp4’ or ‘pdf’ typed without quotes.
Step 4. Click the button again to close your search.
👉 Note: Mint MATE’s search may feels slow especially when you are accustomed to another search like Mint Cinnamon or Kubuntu as it does not display result immediately (not «incremental») to you, but wait for the whole result to be finished first.
Advanced search: Mint MATE features filtering as well as multiple filters search results. For example, Mint MATE can help you finding files which names containing «gnu» with different types of Documents (.odt, .doc), PDF (.pdf), and Videos (.mp4, .mkv) and display all these results in one screen.
To do so: open Caja → visit place you want to search → for example, search «gnu» without quotes → results will appear unfiltered → click Plus (+) button to add a filter → change Location to File Type, change Any to Documents → click Reload → now results are filtered to show only gnu files with type of Documents. Simply add two more filters of PDF and Videos file types, or even more, to that search if you wish more filtering. See picture.
Xfce Edition
On this Mint edition, your file manager’s name is Thunar.
Step 1. Open your file manager.
Step 2. Open the place you want to search.
Step 3. Click menu File → Search → search window opened → type the keyword → press Enter.
Note: this separate search window is called Catfish.
Step 4. Close search window to end your search.
👉 Note: search window may requests you to update the database, so allow it. It may also not showing preview of files, so click Gear button and select Thumbnails option to show.
Advanced Search: Mint Xfce features file content search and exact matching. This helps you find files which contents you know but name you forget. To search file contents, visit place you want to search → File → Search → Catfish will open → type the keyword → click Gear button → tick Search File Contents option → search result will appear. Please note that this works only on plain text formatted files like TXT and source code files. See picture.
To search exact matching filename, it is useful when you remember exactly the file name and know that no other ones had such name. To do so, repeat the Advanced Search above and tick Match Results Exactly option instead. To close the search, close Catfish window.
This article is licensed under CC BY-SA 3.0.
How do I search files and folders on Linux Mint 18.1 Cinnamon?
I switched over from Windows 7 Ultimate to Linux Mint 18.1 Cinnamon a few days ago, and I wanted to search files and folders in my Home directory using the menu, but nothing happened. It seems like cinnamon is only searching for applications. Then I found out you could use the File Manager too search files and folders. But I wanted to use the menu instead. I don’t like opening windows to search for something. Because my previous OS could do just that. And I DON’T what a third-party anything.
4 Answers 4
From your desktop, open a shell or terminal window. At the prompt, use the ‘man’ command to review the details about ‘find’.
prompt$ man find prompt$ find
prompt$ find /home/myName -type f -iname somefile
Cinnamon doesn’t have this feature, unfortunately. It was one of the nice things about the Ubuntu Unity interface. The synapse launcher is what I use, but if you don’t want to install a third party app, and are content with only searching recently opened or downloaded files, enable this:
Like every Linux OS I’ve ever used, Mint Menu has a “Recent Files” option. This option remembers not only files you’ve created or used but also everything you’ve downloaded. A mistake I frequently make is addressing a download to the wrong folder. Nemo has a decent search function but it can take time. It’s far easier to find a file’s location in the Mint Menu. Click on “Recent Files”, hover over the misplaced file and at the bottom of the menu it’s exact location will appear.
If the “Recent Files” option doesn’t appear in your menu, that’s because there is an option to turn it off in order to protect your computing activities from prying eyes. If you can’t find it on your menu, go to “System Settings” and click “Privacy”. You’ll see this screen:
Turn on Privacy in Linux Mint
Simply toggle it to “on” and adjust further as suits your needs. (But remember, if you select “Never forget old files” your menu will take longer and longer to open as time passes and entries multiply.)