Как найти файл в Linux
![Поиск файлов в Linux и Unix — find, grep, ack, ripgrep](https://i.ytimg.com/vi/ka9mMFI7f74/hqdefault.jpg)
Содержание
- этапы
- Способ 1 Используйте «найти»
- Метод 2 из 2: Используйте «locate»
- Метод 3 из 3: Поиск е в файлах
Найти файл на компьютере с Linux может быть сложно, если вы не знаете, как это сделать. Лучший способ найти файлы - использовать несколько различных команд терминала. Овладение этими командами может дать вам полный контроль над вашими файлами, и они гораздо более эффективны, чем простые функции поиска для других операционных систем.
этапы
Способ 1 Используйте «найти»
-
Ищите файл по имени файла. Это самый простой поиск, который вы можете запустить с помощью команды найти, Команда ниже будет искать ваш запрос в текущей папке и любой подпапке.find -iname "имя файла"
- использование -iname вместо -name игнорировать регистр вашего запроса. Порядок -name чувствителен к регистру.
-
Начните поиск в «корневой» папке. Если вы хотите выполнить поиск по всей вашей системе, вы можете добавить модификатор / по вашей просьбе. Что скажет найти искать все каталоги из "корневой" папки.find / -iname "имя файла"
- Вы можете начать поиск в определенной папке, заменив/ по пути каталога, как / Главная / погладить.
- Вы можете использовать . вместо / заставить поиск выполняться только в текущей папке и ее подпапках.
-
Используйте джокер.* искать что-то, что соответствует этой части запроса. Заменяющий персонаж * может быть полезен для поиска чего-то, что вы не знаете полного имени, или если вы хотите искать что-то, имеющее конкретное расширение.find / home / pat -iname "* .conf"
- Это вернет все файлы .conf в пользовательскую папку Пата (и его подпапки).
- Вы также можете использовать его, чтобы найти все, что соответствует части имени файла. Например, если у вас есть много документов, связанных с , вы можете найти их все сразу, набрав "* Wiki *".
-
Сделайте ваши результаты поиска проще в управлении. Если вы получаете много результатов поиска, вам будет трудно просматривать их. Используйте персонажа | отправить результаты поиска в «менее» программное обеспечение для фильтрации. Это может позволить вам прокручивать результаты и фильтровать их намного проще.find / home / pat -iname "* .conf" | меньше
-
Ищите конкретные типы результатов. Вы можете использовать модификаторы, чтобы возвращать только определенные типы результатов. Вы можете искать нормальные файлы (е), каталоги (d), символические ссылки (L), символьные устройства (с) и блокирующие устройства (б) используя соответствующий модификатор.find / -type f -iname "имя файла"
-
Фильтруйте результаты поиска по размеру. Если у вас есть много файлов с похожими именами, но вы знаете размер того, что ищете, вы можете отфильтровать результаты по их размеру.find / -size + 50M -iname "имя файла"
- Это вернет результаты размером 50 мегабайт или более. Вы можете использовать + или - искать большие или меньшие размеры. Забыть + или - будет искать файлы, которые делают точно указанный размер.
- Вы можете фильтровать по количеству документов (с), килобайт (К), мегабайт (M), гигабайт (G) или блоками по 512 байт (б). Обратите внимание, что размер тега чувствителен к регистру.
-
Используйте логические операторы для объединения поисковых фильтров. Вы можете использовать операторы -И, -или и -не объединить разные виды поиска в один.find / photosdevacances -type f -size + 200k -not -iname "* 2015 *"
- Приведенная выше команда найдет файлы в каталоге «photospeed», размер которых превышает 200 килобайт, но они не содержат «2015» нигде в имени файла.
-
Ищите файлы по владельцу или разрешениям. Если вы попытаетесь найти определенный файл, владельцем которого является конкретный пользователь, или файлы с определенными разрешениями, вы можете сузить поле поиска.find / -user pat -iname "имя файла" find / -группа пользователей -iname "имя файла" find / -perm 777 -iname "имя файла"
- Приведенные выше примеры будут искать пользователей, группы или разрешения, указанные в запросе. Вы также можете не указывать имя файла, который вы ищете, чтобы увидеть все файлы, которые соответствуют запрашиваемому типу возвращено. Например, найти / -perm 777 Вы вернете все файлы с разрешениями 777 (без ограничений).
-
Объедините команды для выполнения действий, когда файлы найдены. Вы можете объединить команду найти с другими командами, чтобы они могли быть выполнены для файлов, возвращаемых запросом. Отдельный заказ найти вторая команда по тегу -execзатем закончите строку ;- Это запустит поиск в текущей папке (и во всех ее подпапках) файлов с разрешениями 777. Затем консоль будет использовать команду CHMOD изменить разрешения на 755.
Метод 2 из 2: Используйте «locate»
-
Установите функцию.разместить, Порядок разместить обычно работает намного быстрее чем найтипотому что он работает с использованием базы данных из структуры ваших файлов. Все дистрибутивы Linux не поставляются с функциональностью разместить установлен на нем, поэтому введите следующие команды, чтобы установить его:- тип sudo apt-get update и нажмите запись.
- тип sudo apt-get установить mlocate и нажмите запись, если разместить уже установлен, вы получите mlocate уже самая новая версия.
-
Обновите свою базу данных.разместить, Порядок разместить ничего не могу найти, пока его база данных не будет построена и обновлена. Это делается автоматически каждый день, но вы также можете запустить обновление вручную. Вам придется сделать это, если вы хотите начать использовать разместить немедленно.- тип sudo updatedb и нажмите запись.
-
Использование.разместить делать простые поиски. Порядок разместить быстро, но не имеет никаких опций в качестве команды найти, Вы можете связать базовый поиск файлов более или менее так же, как с помощью команды найти.найдите -i "* .jpg"
- Эта команда будет искать файлы с расширением .jpg на всей вашей машине. Заменяющий персонаж * работает так же, как с командой найти.
- Что касается заказа найти, -i игнорировать регистр вашего запроса.
-
Ограничьте результаты поиска. Если ваши запросы отправляют вам слишком много результатов для управления, вы можете удалить некоторые из них, используя опцию -nсопровождаемый количеством результатов, которые вы хотите отобразить.найдите -n 20 -i "* .jpg"
- Будут отображены только первые 20 результатов, соответствующих запросу.
- Вы также можете использовать Lastuce | отправить результаты меньше просматривать их легче.
Метод 3 из 3: Поиск е в файлах
-
Используйте команду.Grep искать последовательности символов в файлах. Если вы ищете файл, содержащий определенное предложение или последовательность символов, вы можете использовать команду Grep, Основной порядок Grep принимает следующую форму:grep -r -i "запрос" / путь / к / каталогу /
- опция-r устанавливает поиск в «рекурсивный», делает поиск «рекурсивным», поэтому он будет искать любой файл, содержащий последовательность символов запроса в текущей папке и всех ее подпапках.
- опция -i указывает, что запрос не чувствителен к регистру. Если вы хотите, чтобы поиск был чувствительным к регистру, не ставьте оператор -i.
-
Удалите лишние e. Когда вы делаете поиск с Grep как указано выше, вы увидите имя файла, который будет выделен рядом с буквой e, соответствующей запросу. Вы можете скрыть соответствующий e и просто отобразить имена файлов и их пути, включая следующие:grep -r -i "запрос" / путь / к / каталогу / | cut -d: -f1
-
Скрыть ошибки. Порядок Grep вернет ошибку при попытке доступа к папкам без соответствующих разрешений или при попытке запуска в пустые папки. Вы можете вернуть ошибки в / dev / null, что скроет их с вашего вывода на экран.grep -r -i "запрос" / путь / к / каталогу / 2> / dev / null