Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

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


Поиск файла в Linux | Losst

В операционных системах семейства Linux все объекты ОС: и данные, и управляющие элементы - являются файлами в файловой системе. Поэтому поиск файлов становится очень важной задачей. И если опытные пользователи уже знают, что и где находится, то для новичков будет очень полезным узнать, как найти местоположение того или иного файла, будь то программа, изображение или документ.

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

Содержание статьи:

Поиск файла в Linux через графический интерфейс

1. Главное меню системы

Главное меню операционной системы позволяет, как правило, не только запускать программы, но и искать их, а также искать файлы. Такая возможность есть как в Gnome, так и в KDE. В главном меню Gnome вы можете ввести нужную фразу для поиска:

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

2. Файловые менеджеры

Большинство файловых менеджеров тоже предоставляют возможности поиска файлов, в том числе Dolphin и Nautilus. Здесь вы можете выбрать папку, в которой будет выполняться поиск, а также настроить дополнительные параметры поиска. В Nautilus для запуска поиска вам достаточно нажать кнопку со значком лупы, а потом ввести данные в строку поиска. Например, найдём все фото, сделанные 18 ноября.

Открыв стрелочку дополнительных параметров можно выбрать период, за который был создан интересующий нас документ, а также тип документа.

В качестве поискового запроса можно использовать символы подстановки: ? и *. Но для более точного поиска придётся использовать сторонние программы.

3. Gnome Search

Утилита Gnome Search по умолчанию поставляется не всегда, но вы можете установить её из центра приложений или через официальные репозитории. Она предоставляет такие же возможности, как и файловый менеджер, плюс здесь можно искать по содержимому файлов, что иногда очень удобно.

 

4. SearchMonkey

Следующая программа в нашем списке - SearchMonkey. Она позволяет искать файлы по регулярным выражениям. Здесь тоже можно выполнять поиск файла, как по имени, так и по содержимому фала, можно выбрать диапазон дат и так далее. Но основное преимущество этой программы - возможность везде использовать регулярные выражения.

5. Recoll

Если вам приходится работать с большой библиотекой текстовой информации и искать данные по содержимому файла, то вам будет полезна утилита Recoll. Это полноценный поисковый движок для поиска документов. Установить программу можно из официальных репозиториев:

sudo apt install recoll

Сразу же после запуска она предложит вам создать индекс документов, которые есть в вашем домашнем каталоге.

И только после создания индекса вы сможете выполнять по нему поиск. Далее, вам будет достаточно ввести запрос, например Wi-Fi, и вы увидите все файлы, которые содержат это слово с примерами вхождений, отсортированные по релевантности:

Для работы с большим количеством текстовых данных это может быть очень удобно. Программа понимает множество офисных форматов, среди которых pdf, djvu, doc, docx, odf, а также умеет находить такие файлы в архивах.

Поиск файлов в Linux через терминал

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

1. find

Самая часто используемая команда поиска файла в Linux на данный момент - это find. Она имеет множество возможностей: вы можете искать файлы по имени, дате изменения, создания, использовать регулярные выражения и маски, выполнять определённые действия для найденных файлов, настраивать глубину поиска и многое другое. Например, найдем все файлы, которые начинаются на "Снимок" в папке ~/Изображения:

find ~/Изображения -iname "Снимок*"

Более подробную информацию об этой команде читайте в статье команда find.

2. locate

Команда locate считается устаревшей и уже была удалена из многих дистрибутивов. Она выполняет поиск не в реальном времени, как find, а по ранее созданной базе файлов, но она делает только поиск файла по имени Linux. Вы вводите слово, которое вас интересует, и утилита выдаёт все известные ей файлы, имя которых содержит такое слово. Возможно использовать регулярные выражения. Например, найдем все файлы, в имени которых содержится passwd:

locate passwd

Обратите внимание, что если файл был добавлен после создания базы, то он найден не будет.

3. grep

Утилита grep позволяет не только фильтровать вывод других команд, но и искать по содержимому файловой системы. Для этого достаточно использовать опцию -r и указать папку, в которой надо искать текст. Например, найдём все файлы в /etc/, которые содержат строчку error_reporting:

sudo grep -r "error_reporting" /etc/

С помощью grep очень удобно искать, где находится нужная конфигурация или же проверять, не содержат ли файлы с кодом чего-нибудь подозрительного. Подробнее про использование grep читайте в статье поиск текста в файлах Linux.

4. whereis

Утилита whereis достаточно простая и решает только одну задачу. Она показывает, где находится исполняемый файл, переданной ей программы. Например, если мы хотим узнать, где лежит grep, достаточно выполнить:

whereis grep

Выводы

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

Поиск файлов в Linux или Изучаем команду find

Автор: Нагибин Владимир. Дата статьи: 26.03.2010 г.

Несомненно, при работе с Linux, иногда возникает необходимость поиска файлов с определенными характеристиками. Этими характеристиками могут быть размер или тип файла, права доступа и другое.

Наличие в Linux команды find, во многом помогает справиться с поиском файлов по различным критериям.

Сегодня мы разберем поиск файлов в Linux и приведем основные опции команды find, которые вы сможете применить в своей работе.


Формат команды find:

find путь -опции

где  путь - это каталог, в котором произвести поиск. В качестве пути можно указывать следующие значения:

.    - поиск в текущем каталоге;

/   - поиск от корневого каталога;

~  - поиск в домашнем каталоге.

Что до опций, то тут гораздо бОльший список, с которым крайне необходимо внимательно ознакомиться (это в будущем очень поможет!). Итак, основные опции команды find:

-name         -  поиск файлов по имени, используя приведенный шаблон;

-user           -  поиск файлов, принадлежащих указанному пользователю;

-group        -  поиск файлов, принадлежащих указанной группе;

-perm         -  поиск файлов с указанным режимом доступа;

-type          -  поиск файлов определенного типа. Типов тоже достаточно:


  • b  - специальный блочный файл;

  • d  - каталог;

  • c  - специальный символьный файл;

  • f   - обычный файл;

  • l   - символическая ссылка;

  • p  - именованный канал;

  • s  - сокет.


-size  n       -  поиск файлов с размером n единиц;

-mtime  -n n   - поиск файлов, содержание которых изменялось менее чем (-) или более чем ( ) дней назад.

Рассмотрим некоторые примеры применения команды find:

Наиболее часто применяемой опцией является опция -name, которая производит поиск файлов по имени.

Примеры с опцией -name:

 $ find /mnt/usb -name  "*.mp3" -print

произведет поиск всех файлов (об этом свидетельствует знак *), имеющих расширение .mp3 на USB-устройстве, смонтированном в каталог /mnt/usb.

команда

$ find ~ -name "test*" -print

выведет на экран список файлов домашнего каталога, начинающихся на test.

Если вам надо найти файлы, начинающиеся с определенных букв (к примеру, от a до j),  то здесь будет удобно применить регулярные выражения, которые крайне удобны в работе:

$ find  / -name "[a-j]*" -print

Вышеуказанная команда позволит отыскать все файлы в системе, начинающиеся с букв от a до j.

Поиск файлов с определенными режимами доступа

Если потребуется найти файлы, имеющие определенные режимы доступа, вам поможет опция -perm, которая легко в этом поможет.

К примеру, выполним поиск файлов с режимом доступа 775  (владелец и группа имеют полные права и ограничение на запись имеют остальные пользователи), находящихся в текущем каталоге :

$ find .  -perm 775 -print

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

К примеру, найдем файлы,  к которым пользователи группы имеют полный доступ:

$ find . -perm -070 -print

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

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

Поиск файлов какого-либо определенного пользователя крайне прост в своей реализации. Для этого достаточно выполнить команду:

$ find / -user admin -print

Вышеуказанная команда произведет поиск файлов в системе, принадлежащих пользователю admin.

Для того, чтобы найти файлы, принадлежащие определенной группе (к примеру managers), выполним команду:

$ find / -group managers -print

Для поиска файлов несуществующих пользователей или групп можно воспользоваться опциями -nouser  и -nogroup:

$ find / -nouser -print

и

$ find / -nogroup -print

Поиск файлов определенного типа

Одной из удобных возможностей команды find, является возможность поиска файлов определенного типа. Рассмотрим варианты использования опции -type:

Поиск символических ссылок в каталоге /etc:

$ find /etc -type l -print

Вывод на экран списка каталогов, присутствующих в каталоге /mnt/raid

$ find /mnt/raid -type d -print

Поиск файлов определенного размера

Опция -size позволяет произвести поиск файлов определенного размера и имеет следующий вид при выполнении:

$ find . -size 2000k -print

Вышеуказанная команда отыщет и отобразит на экране файлы размером 2 мегабайта, находящийся в текущем каталоге. Если, к примеру,  необходимо найти файлы размером менее 500 килобайт, то вид команды будет следующий:

$ find . -size -500k -print

Если нужно найти файлы размером более 600 мегабайт, то применим команду:

$ find / -size 600M -print

Поиск файлов с использованием опции -mtime

Опция -mtime позволит вам найти файлы, изменявшиеся в какой-то срок времени.

К примеру, у нас встала задача поиска файлов, находящихся в каталоге /mnt/raid/upload , и изменявшихся за последние 5 дней. В этом нам поможет команда:

$ find /mnt/raid/upload -mtime -5 -print

Если нам необходимо обратное, к примеру, отыскать файлы, которые не изменялись неделю, применим команду:

$ find /mnt/raid/upload  -7 -print

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

В этой статье мы рассмотрели лишь основные опции команды find, которые помогут вам в вашей работе. Используйте то, что удобно и не переживайте по пустякам!

Команда find в Linux | Losst

Очень важно уметь вовремя и очень быстро найти нужную информацию в системе. Конечно, все современные файловые менеджеры предлагают отличные функции поиска, но им не сравнится с поиском в терминале 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. Поиск всех файлов

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

find

find .

find . -print

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

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

find ./test

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

find . -name "*.jpg"

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

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. Поиск скрытых файлов

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

find ~ -type f -name ".*"

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 дней назад:

 find / -mtime 50

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

find / -atime 50

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

find / -mtime +50 –mtime -100

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

find . -cmin 60

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

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

find / -size 50M

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

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

$ find ~/ -type d -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 +10M -exec rm -f {} \;

Выводы

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

Оцените статью:

Загрузка...

Как сделать поиск файлов в Linux

Во время работы в любой операционной системе иногда возникает потребность в использовании инструментов для быстрого поиска того или иного файла. Актуально это и для Linux, поэтому ниже будут рассмотрены все возможные способы поиска файлов в этой ОС. Представлены будут как инструменты файлового менеджера, так и команды, используемые в «Терминале».

Читайте также:
Переименовываем файлы в Linux
Создаем и удаляем файлы в Linux

Терминал

Если вам необходимо задать множество параметров поиска для нахождения нужного файла, то команда find незаменима. Перед рассмотрением всех ее вариаций стоит пройтись по синтаксису и опциям. Синтаксис она имеет следующий:

find путь опция

где путь — это директория, в которой будет происходить поиск. Есть три основных варианта указания пути:

  • / — поиск по корневой и прилегающим к ней директориям;
  • ~ — поиск по домашней директории;
  • ./ — поиск в директории, в которой пользователь находится в настоящий момент.

Также вы можете указать путь непосредственно к самому каталогу, в котором предположительно расположен файл.

Опций у find очень много, и именно благодаря им можно осуществить гибкую настройку поиска, задав необходимые переменные:

  • -name — проводить поиск, беря за основу имя искомого элемента;
  • -user — искать файлы, которые относятся к определенному пользователю;
  • -group — проводить поиск по определенной группе пользователей;
  • -perm — показывать файлы с указанным режимом доступа;
  • -size n — искать, беря за основу размер объекта;
  • -mtime +n -n — проводить поиск файлов, которые изменялись более (+n) или менее (-n) дней назад;
  • -type — искать файлы определенного типа.

Типов искомых элементов тоже много. Вот их список:

  • b — блочный;
  • f — обычный;
  • p — именованный канал;
  • d — каталог;
  • l — ссылка;
  • s — сокет;
  • c — символьный.

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

Читайте также: Популярные команды в «Терминале» Linux

Способ 1: Поиск по имени (опция -name)

Чаще всего пользователи для осуществления поиска по системе используют опцию -name, так что именно с нее и начнем. Разберем несколько примеров.

Поиск по расширению

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

find /home/user/Dropbox -name "*.xlsx" -print

Из ее синтаксиса можно сказать, что поиск проводится в директории «Dropbox» («/home/user/Dropbox»), а искомый объект должен быть с расширением «.xlsx». Звездочка свидетельствует о том, что поиск будет проведен по всем файлам этого расширения, не беря во внимание их название. «-print» указывает на то, что результаты поиска будут выведены на экран.

Пример:

Поиск по имени файла

Например, вы хотите отыскать в директории «/home» файл с названием «lumpics», но расширение его неизвестно. В таком случае нужно выполнить следующее:

find ~ -name "lumpics*" -print

Как можно заметить, здесь используется символ «~», который означает, что поиск будет проходить в домашней директории. После опции «-name» указано имя искомого файла («lumpics*»). Звездочка в конце означает что поиск будет проходить только по имени, не учитывая расширение.

Пример:

Поиск по первой букве в имени

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

find / -name "[g-l]*" -print

Судя по символу «/», что идет сразу после основной команды, поиск будет проведен, начиная с корневого каталога, то есть во всей системе. Далее, часть «[g-l]*» означает, что искомое слово будет начинаться с определенной буквы. В нашем случае от «g» до «l».

К слову, если вы знаете расширение файла, то после символа «*» можете его указать. Например, вам надо найти тот же файл, но вы знаете, что он имеет расширение «.odt». Тогда можно использовать такую команду:

find / -name "[g-l]*.odt" -print

Пример:

Способ 2: Поиск по режиму доступа (опция -perm)

Иногда необходимо найти объект, имя которого вы не знаете, но знаете каким режимом доступа он обладает. Тогда вам нужно применять опцию «-perm».

Пользоваться ей довольно просто, нужно всего лишь указать место поиска и режим доступа. Вот пример такой команды:

find ~ -perm 775 -print

То есть поиск проводится в домашнем разделе, а искомые объекты будут обладать доступом 775. Также вы можете перед этим числом прописать символ «-», тогда найденные объекты будут иметь биты разрешений от нуля до указанного значения.

Способ 3: Поиск по пользователю или группе (опции -user и -group)

В любой операционной системе есть пользователи и группы. Если вы хотите найти объект, принадлежащий одной из этих категорий, то для этого можете использовать опцию «-user» или «-group», соответственно.

Поиск файла по имени его пользователя

Например, вам нужно найти в директории «Dropbox» файл «Lampics», но вы не знаете как он называется, а знаете только что он принадлежит пользователю «user». Тогда вам нужно выполнить следующую команду:

find /home/user/Dropbox -user user -print

В данной команде вы указали необходимую директорию (/home/user/Dropbox), указали что нужно искать файл, принадлежащий пользователю (-user), и указали, какому именно пользователю этот файл принадлежит (user).

Пример:

Читайте также:
Как посмотреть список пользователей в Linux
Как добавить пользователя в группу в Linux

Поиск файла по названию его группы

Выполнить поиск файла, который принадлежит определенной группе, точно так же просто — вам нужно всего-навсего заменить опцию «-user» на опцию «-group» и указать название этой группы:

find / -groupe guest -print

То есть вы указали, что хотите отыскать в системе файл, относящийся к группе «guest». Поиск будет происходить по всей системе, об этом свидетельствует символ «/».

Способ 4: Поиск файла по его типу (опция -type)

Найти какой-то элемент в Linux определенного типа довольно просто, вам нужно всего лишь указать соответствующую опцию (-type) и обозначить тип. В начале статьи были перечислены все обозначения типов, которые можно применять для поиска.

Например, вы хотите отыскать все блочные файлы в домашней директории. В этом случае ваша команда будет выглядеть так:

find ~ -type b -print

Соответственно, вы указали что проводите поиск по типу файла, о чем свидетельствует опция «-type», а далее определили его тип, поставив символ блочного файла — «b».

Пример:

Точно так же вы можете вывести на экран все каталоги в нужной директории, вписав в команду символ «d»:

find /home/user -type d -print

Способ 5: Поиск файла по размеру (опция -size)

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

find /home/user/Dropbox -size 120M -print

Пример:

Читайте также: Как узнать размер папки в Linux

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

find / -size 120M -print

Пример:

Если вы знаете размер файла приблизительно, то и на этот случай есть специальная команда. Вам нужно прописать в «Терминале» то же самое, только перед указанием размера файла поставить знак «-» (если нужно найти файлы меньше указанного размера) или «+» (если размер искомого файла будет больше указанного). Вот пример такой команды:

find /home/user/Dropbox +100M -print

Пример:

Способ 6: Поиск файла по дате изменения (опция -mtime)

Бывают случаи, когда удобнее всего проводить поиск файла по дате его изменения. В Linux для этого применяется опция «-mtime». Пользоваться ей довольно просто, рассмотрим все на примере.

Допустим, в папке «Изображения» нам нужно найти объекты, которые подвергались изменениям последние 15 суток. Вот что нужно прописать в «Терминале»:

find /home/user/Изображения -mtime -15 -print

Пример:

Как можно заметить, эта опция показывает не только файлы, изменявшиеся за указанный срок, но и папки. Работает она и в обратную сторону — вы можете найти объекты, которые были изменены позже указанного срока. Для этого нужно перед цифровым значением вписать знак «+»:

find /home/user/Изображения -mtime +10 -print

GUI

Графический интерфейс во многом облегчает жизнь новичкам, которые только установили дистрибутив Linux. Данный метод поиска очень похож на тот, что осуществляется в ОС Windows, хотя и не может дать всех тех преимуществ, что предлагает «Терминал». Но обо всем по порядку. Итак, рассмотрим, как сделать поиск файлов в Linux, используя графический интерфейс системы.

Способ 1: Поиск через меню системы

Сейчас будет рассмотрен способ поиска файлов через меню системы Linux. Проводимые действия будут выполняться в дистрибутиве Ubuntu 16.04 LTS, однако инструкция общая для всех.

Читайте также: Как узнать версию дистрибутива Linux

Допустим, вам необходимо найти в системе файлы под именем «Найди меня», также этих файлов в системе два: один в формате «.txt», а второй — «.odt». Чтобы их отыскать, необходимо изначально нажать на иконку меню (1), и в специальном поле для ввода (2) указать поисковый запрос «Найди меня».

Отобразится результат поиска, где будут показаны искомые файлы.

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

Расположен он в правой части меню. Фильтровать вы можете по двум критериям: «Категории» и «Источники». Разверните эти два списка, нажав по стрелочке рядом с названием, и в меню уберите выделения с ненужных пунктов. В данном случае разумнее будет оставить лишь поиск по «Файлы и папки», так как мы ищем именно файлы.

Сразу можно заметить недостаток этого способа — нельзя детально настроить фильтр, как в «Терминале». Так, если вы ищите текстовый документ с каким-то названием, в выдаче вам могут показать картинки, папки, архивы и т. п. Но если вы знаете точное наименование нужного файла, то сможете быстро отыскать его, не изучая многочисленные способы команды «find».

Способ 2: Поиск через файловый менеджер

Второй способ имеет существенное преимущество. Используя инструмент файлового менеджера, можно произвести поиск в указанном каталоге.

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

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

Как и в предыдущем способе, в этом точно так же можно использовать фильтр. Для его открытия нажмите на кнопку со знаком «+», расположенную в правой части поля ввода поискового запроса. Откроется подменю, в котором вы можете из выпадающего списка выбрать искомый тип файла.

Заключение

Из всего вышесказанного, можно сделать вывод, что для проведения быстрого поиска по системе отлично подойдет второй способ, завязанный на использовании графического интерфейса. Если же необходимо задать множество параметров поиска, то незаменимой будет команда find в «Терминале».

Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ

широкие возможности для поиска файлов в Linux. Linux статьи

В Linux есть очень мощная и полезная команда для поиска файлов — команда find. Она обладает большим количеством возможностей для поиска файлов, однако, иногда вызывает сложности у новичков во многом из-за ее синтаксиса.

Простой пример использования команды find

Для начала рассмотрим простой пример использования команды find для поиска на компьютере файлов с именем config. Мы будем искать файлы config, начиная с корневого каталога /. Для этого вам нужно выполнять команду от имени пользователя root, чтобы иметь достаточно прав доступа, иначе получите сообщения «Permission denied». Итак, выполним команду:

find / -name config -print

Команда означает следующее: искать файлы с именем config (-name config), начиная с каталога / (первый параметр команды find) и выводить имена файлов на экран (аргумент -print). Отмечу, что поиск рекурсивный, то есть при поиске просматриваются все вложенные директории. Как видите все просто. Теперь рассмотрим синтаксис команды и перейдем к обзору ее основных аргументов.

Синтаксис команды find

Общий синтаксис команды find, который вы можете найти в справочном руководстве, может показаться не совсем простым, поэтому я приведу более удобный для восприятия:

find [путь] [опции] [критерии поиска] [действия над файлами]

Путь

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

Опции

Опции команды find указываются, начиная с символа «-», за которым следует название опции. Рассмотрим основные опции.

-depth (или -d)Поиск в подкаталогах перед поиском в самом каталоге.
-LПри поиске следовать по символическим ссылкам.
-maxdepth NПри поиске проверять не более чем N вложенных уровней каталогов.
-mindepth NНе проверять вложенные каталоги уровня N и меньше.
-mountНе искать в каталогах других файловых систем.

Критерии поиска

У команды find может быть несколько критериев поиска (их также называют tests). Каждый критерий представляет собой определенное условие проверки, которое возвращает либо true либо false. Это можно сравнить с условиями оператора if в программировании. В процессе обработки очередного файла команда find по очереди проверяет каждый критерий, и если очередной критерий возвращает false, тогда команда find переходит к следующему файлу. Критериев у команды find довольно много, мы рассмотрим только некоторые из них.

-atime NПоследний раз к файлу обращались N дней назад.
-mtime NПоследнее изменение файла было N дней назад.
-name шаблонИмя файла (шаблон имени) без указания пути. Рекомендуется всегда заключать шаблон в кавычки.
-newer другой_файлФайл был изменен позже, чем другой_файл.
-size [±]N[cwbkMG]Размер файла равен N блокам, если указано +N, тогда размер файла больше N, -N — меньше. Символ после N означает размер блока. b — 512 байт, с — байт, w — 2 байта, k — килобайт, M — мегабайт, G — гигабайт.
-type CФайл типа C. Наиболее часто используемые значения для С: d — каталог, f — файл.
-user Имя_пользователяФайл принадлежит пользователю с именем Имя_пользователя.
Примеры использования команды find с использованием критериев

Найти в текущем каталоге обычные файлы (не каталоги), имя которых начинается с символа «~».

find . -type f -name "~*" -print

Найти в текущем каталоге файлы, измененные позже, чем файл file.bak.

find . -newer file.bak -type f -print

Операторы

Критерии можно объединять, используя операторы. Ниже приведены операторы в порядке убывания их приоритета.

Короткая форма оператораДлинная формаОписание
! критерий-notОтрицание (возвращает true, если критерий false)
критерий1-a критерий2-andОператор И (true, если критерий1 и критерий2 true)
критерий1-o критерий2-orОператор ИЛИ (true, если критерий1 или критерий2 true)

В общем случае при использовании операторов критерии проверяются в порядке их приоритета. Изменить порядок можно с помощью скобок. Скобки нужно выделять с помощью обратного слеша.

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

Найти в текущем каталоге файлы, начинающиеся с символа «~» или c «temp» и являющиеся именно обычными файлами (-type f), а не каталогами.

find . \( -name "~*" -or -name "temp*" \) -type f -print

Найти в текущем каталоге (не обрабатывая подкаталоги — -maxdeph 1) обычные файлы (-file f) размером больше 600 мегабайт и менее 1 гигабайта (-size) или файлы имя которых заканчивающиется на «.mpeg» (-name).

find . -maxdepth 1 \( \( -size +600M -and -size -1G \) -or -name "*.mpeg" \) -and -type f

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

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

-exec команда \;Выполнить команду. Обратите внимание, что после команды ставится обратный слеш и точка с запятой.
-execdir команда \;То же самое что и exec, но команда вызывается из подкаталога, содержащего текущий файл.
-ok команда \;То же самое, что и exec, но перед обработкой очередного файла будет выводится запрос на выполнение команды.
-okdir команда \;То же что ok для execdir.
-printВывод имени файла на экран.
-lsВыполнение команды ls -dils над текущим файлом.

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

Примеры использования команды find с использованием действий

Найти в текущем каталоге обычные файлы размером больше 1000 байт и выполнить над ними команду ls -dils (действие ls).

find . -size +1000c -type f -ls

Найти в текущем каталоге обычные файлы, начинающиеся с символа тильда «~», и для каждого файла выдавать запрос на его удаление (на выполнение команды rm).

find . -name "~*" -type f -ok rm {} \;

Заключение

В заметке мы рассмотрели очень важную и полезную Linux команду find, которая предоставляет практически неограниченные возможности для поиска файлов по многим критериям и шаблонам. А с использованием команд (действий) вы можете искать файлы и выполнять над ними любые операции.

Поиск больших файлов и директорий в Linux. Linux статьи

Дисковое пространство не вечно. Рано или поздно приходит момент, когда его катастрофически не хватает. Эффективный способ это исправить — найти файлы и директории, которые занимают больше всего места.

Рассмотрим, как это сделать в Linux с использованием команд find и du.

Поиск больших файлов командой find

Простой поиск

Команда find имеет опцию -size, которая позволяет указать размер файлов для поиска.

Найдем файлы, которые занимают больше 1Gb:

find . -mount -type f -size +1G 2>/dev/null
  • Символ точка . после самой команды find, означает, что поиск нужно вести в текущей директории. Вместо точки вы можете указать, например, корневой раздел / или путь до любой другой директории.
  • -mount означает, что в процессе поиска не нужно переходить на другие файловые системы.
  • -type f означает, что мы ищем файлы.
  • -size +1G означает, что нужно найти файлы, размер которых превышает 1Gb. Размер можно указать в различных форматах:
    • b — блоки размером 512 байт. Числом указывается количество блоков.
    • c — в байтах. Например: -size +128с
    • w — в двухбайтовых словах
    • k — в килобайтах
    • M — в мегабайтах
    • G — в гигабайтах
  • 2>/dev/null используется, чтобы не показывать ошибки (например, если нет доступа к файлу).

В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.

Вывод подробной информации

Добавим в вывод информацию о каждом файле и отсортируем список по размеру. Выполняем команду

find . -mount -type f -size +512M -print 2>/dev/null | xargs -r -d '\n' ls -lh | sort -k5,5 -h -r

Данная команда состоит из трех частей:

  • Команда find ищет файлы, которые имеют размер больше 512 мегабайт.
  • Результирующий список файлов передается команде xargs, которая, в свою очередь, запускает команду ls -lh над этим списком файлов. В результате получается таблица с файлами и информацией о файлах.

    Опция -r, команды xarg, используется для того, чтобы не запускать команду ls, если команда find вернула пустой результат (не нашла файлов). Вместо -r можно использовать длинную запись — опцию --no-run-if-empty
    Опция -d ’\n’ используется, чтобы разделять список файлов только по символу новой строки (по \n). А у нас так и есть — каждый файл на новой строке. Иначе неправильно будут обработаны файлы, в названии которых содержится пробел, так как по умолчанию команда xarg в качестве разделителя использует одновременно пробел, табуляцию или символ новой строки.

    Примечание: Для BSD-систем вместо -d ’\n’ нужно использовать опцию −0, а у команды find вместо -print использовать -print0. Пример: find . -mount -type f -size +512M -print0 2>/dev/null | xargs -0 ls -lh | sort -k5,5 -h -r

  • Затем результат команды ls передается команде sort, которая выполняет сортировку списка (таблицы) по пятой колонке — 5-я колонка содержит размеры файлов.
    Ключ -h означает, что результат нужно вывести в удобно-читаемом виде (human-readable).
    Ключ -r означает, что сортировку нужно выполнять по убыванию (reverse).

Поиск больших файлов и директорий командой du

Команда du используется для вывода размеров файлов и директорий в Linux. Ее можно использовать для поиска больших файлов и директорий. Для этого выполняется команда du и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.

Найдем пять самых больших файлов и директорий:

du -ahx . | sort -rh | head -5

  • Символ . указывает путь и означает текущую директорию. Для поиска в другой директории укажите вместо точки ее путь.
  • Опции -ahx означают:
    a — искать и файлы и директории;
    h — выводить информацию в удобно-читаемом формате;
    x — не выполнять поиск на других файловых системах.
  • sort -rh выполняет сортировку результата.
  • head −5 выводит только пять первых результатов.

How-To: Найдите файлы на вашем компьютере с помощью find

В стандартной системе Linux установлено невероятное количество файлов. Поиск местоположения файла с помощью файлового браузера может быть болезненной задачей.

К счастью, в любом дистрибутиве Linux по умолчанию доступна изящная командная строка: find .

find может найти практически все на вашем компьютере и предлагает множество опций. Это руководство познакомит вас с его базовым использованием и покажет, как вы можете искать в файловой системе имена файлов, соответствующие шаблону имени.

В дистрибутивах на основе Debian find является частью пакета findutils . find позволяет искать файлы в файловой системе на основе различных условий, даты создания, даты изменения, размера файла, типа файла, разрешений, имени….

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

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

1. Найдите основу

Синтаксис по умолчанию find выглядит так:

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

2. Поиск файла по имени файла

Допустим, вы хотите найти все файлы .avi в домашних каталогах пользователей.Файлы поиска можно найти с помощью следующей команды:

Если вы хотите искать файлы * .mpg и * .avi, вы будете использовать следующее:

  найти / home -name '* .mpg' -o -name '* .avi'  

Поиск без учета регистра может быть выполнен с помощью ключа -iname:

  найти / home -iname '* .mpg' -o -iname '* .avi'  

3. Добавление дополнительных критериев

Такие поисковые запросы могут дать слишком много результатов, что затруднит поиск того, что вы искали в первую очередь.

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

Давайте найдем файлы .avi размером более 700 МБ. Это можно сделать с помощью:

  найти / home / -name '* .avi' -a -size + 700M  

Теперь давайте найдем то же подмножество файлов, которые были изменены менее 15 дней назад:

  найти / home / -name '* .avi' -a -size + 700M -mtime -15  

4. Добавление действий

Grand, теперь мы можем находить файлы на основе подмножества критериев.Было бы еще лучше применить некоторые действия к этим файлам. Действия могут быть выполнены с помощью переключателя -exec .

Теперь мы можем найти файл .avi, который старше 15 дней. В этом примере мы собираемся переместить этот файл в другое место: / my / new / movies. Я считаю, что этот каталог уже существует в вашей системе.

Перемещение файлов .avi размером более 700 МБ и младше 15 дней в / my / new / movies можно выполнить с помощью:

  найти / home / -name '* .avi' -a -size + 700M -mtime -15 -exec mv '{}' / my / new / movies / \;  

Обратите внимание на использование ’{}’ и \; (перед \; стоит пробел).

’{}’ соответствует найденному файлу, а \; завершить оператор exec.

5. Заключение

find - мощный инструмент с обширным набором утверждений. В этой статье рассматривается лишь небольшая часть доступных функций. Для получения дополнительной информации о команде find я рекомендую проверить ее справочную страницу.

.

Как найти файлы и каталоги в Linux

Обновлено: 07.03.2020, Computer Hope

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

Базовая функциональность find

Запуск find без каких-либо опций создает список всех файлов и каталогов внутри и ниже рабочего каталога. Например, если ваш рабочий каталог - / home / hope / Documents , запуск find выводит следующее:

  • Каждый файл в / home / hope / Documents .
  • Все подкаталоги в / home / hope / Documents .
  • Каждый файл в каждом из этих подкаталогов.

Давайте посмотрим на это в действии. Сначала давайте проверим наш рабочий каталог с помощью команды pwd:

 pwd 
 / на главную / надежда / Документы 

Теперь давайте запустим find без опций:

 найти 
. ./изображений ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./hp-fanfic/dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso 

В этом примере мы видим в общей сложности десять файлов и четыре подкаталога в нашей папке Documents и ниже.

Обратите внимание, что выходные данные начинаются с одной точки, которая представляет рабочий каталог. Запуск find без параметров - это то же самое, что указание того, что поиск должен начинаться в рабочем каталоге, например:

 находка.

Пример выше - «правильный» способ использования find . Если вы попытаетесь использовать его в другой Unix-подобной операционной системе, такой как FreeBSD, необходимо указать каталог. Хорошая практика - использовать эту форму команды.

Указание, где искать

Чтобы вывести список только файлов и подкаталогов, содержащихся в каталоге / home / hope / Documents / images , укажите первый аргумент команды как:

 найти / главная / надежда / документы / изображения 
 / главная / надежда / Документы / изображения / home / hope / Documents / images / hp / главная / надежда / документы / изображения / hp / snape.jpg /home/hope/Documents/images/hp/harry.jpg / главная / надежда / Документы / изображения / мемы /home/hope/Documents/images/memes/winteriscoming.jpg /home/hope/Documents/images/memes/goodguygary.JPG /home/hope/Documents/images/memes/picard.jpg 

Обратите внимание, что в результатах также отображается полный путь.

Если наш рабочий каталог - / home / hope / Documents , мы можем использовать следующую команду, которая находит те же файлы:

 наход. / Изображения 

Но на этот раз вывод отражает начальную точку поиска и выглядит так:

./изображений ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg 

По умолчанию поиск просматривает все подкаталоги исходного местоположения. Если вы хотите ограничить количество уровней подкаталога для поиска, вы можете использовать параметр -maxdepth с номером.

Например, указав -maxdepth 1 выполняет поиск только в каталоге, с которого начинается поиск.Если какие-либо подкаталоги найдены, они отображаются в списке, но не просматриваются.

 находка. -максглубина 1 
. ./изображений ./bigfiles.txt ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./archlinux-2016.02.01-dual.iso 

Указание -maxdepth 2 ищет каталог и один подкаталог в глубине:

 находка. -максглубина 2 
. ./изображений ./images/hp ./images/memes ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./hp-fanfic/dumbledores-lament.док ./archlinux-2016.02.01-dual.iso 

Указание -maxdepth 3 поиск на один уровень глубже этого:

 находка. -максглубина 3 
. ./изображений ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./hp-fanfic/dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso 

Нахождение по названию

Чтобы ограничить результаты поиска соответствием только файлам и каталогам с определенным именем, используйте параметр -name и поместите имя в кавычки:

 находка. -name "picard.jpg" 
 ./images/memes/picard.jpg 

Вы также можете использовать подстановочные знаки как часть имени файла. Например, чтобы найти все файлы, имена которых заканчиваются на .jpg , вы можете использовать звездочку для обозначения остальной части имени файла. Когда вы запускаете команду, оболочка заменяет имя файла всем, что соответствует шаблону:

 находка.-name "* .jpg" 
 ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/picard.jpg 

Обратите внимание, что наша команда не перечислила файл с расширением (в данном случае JPG ) заглавными буквами. Это потому, что в отличие от других операционных систем, таких как Microsoft Windows, имена файлов Linux чувствительны к регистру.

Чтобы вместо этого выполнить поиск без учета регистра, используйте параметр -iname :

 находка. -iname "*.jpg "
 ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg 

Поиск только файлов или только каталогов

Чтобы перечислить только файлы и исключить имена каталогов из результатов, укажите -type f :

 находка. -типа f 
 ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg ./gimp-2.8.16.tar.bz2 ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./hp-fanfic/dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso 

Чтобы перечислить только каталоги и опустить имена файлов, укажите -type d :

 находка. -типа d 
. ./изображений ./images/hp ./images/memes ./hp-fanfic 

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

Чтобы отображать только файлы определенного размера, вы можете использовать параметр -размер . Чтобы указать размер, используйте знак плюс или минус (для «больше чем» или «меньше чем»), число и количественный суффикс, например k , M или G .

Например, чтобы найти файлы размером «более 50 килобайт», используйте -size + 50k :

 находка. -размер + 50к 
 ./images/memes/winteriscoming.jpg ./gimp-2.8.16.tar.bz2 ./archlinux-2016.02.01-dual.iso 

Для файлов размером более 10 мегабайт используйте -size + 10M :

 находка. -размер + 10М 
 ./gimp-2.8.16.tar.bz2 ./archlinux-2016.02.01-dual.iso 

Для «более 1 гигабайта» используйте -size + 1G :

 находка.-размер + 1G 
 ./archlinux-2016.02.01-dual.iso 

Для файлов определенного диапазона размеров используйте два параметра -size . Например, чтобы найти файлы «больше 10 мегабайт, но меньше 1 гигабайта», укажите -size + 10M -size -1G :

 находка. -размер + 10M -размер -1G 
 ./gimp-2.8.16.tar.bz2 

Поиск файлов на основе модификации, доступа или изменения статуса

Параметр -mtime ограничивает поиск количеством дней с момента изменения содержимого файла.Чтобы указать дни в прошлом, используйте отрицательное число. Например, чтобы найти только те файлы, которые были изменены за последние два дня (48 часов назад), используйте -mtime -2 :

 находка. -mtime -2 

Параметр -mmin делает то же самое, но в минутах, а не в днях. Например, эта команда показывает только файлы, измененные за последние полчаса:

 находка. -ммин -30 

Аналогичная опция - -ctime , которая проверяет время последнего изменения статуса файла в днях.Изменение статуса - это изменение метаданных файла. Например, изменение прав доступа к файлу - это изменение статуса.

Параметр -cmin выполняет поиск изменения состояния, измеряемого в минутах.

Вы также можете найти, когда к файлу в последний раз обращались, другими словами, когда его содержимое просматривалось в последний раз. Параметр -atime используется для поиска файлов на основе времени их последнего доступа, измеряемого в днях.

Параметр -amin выполняет то же ограничение поиска, но измеряется в минутах.

Перенаправление вывода в текстовый файл

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

 находка. -iname "* .jpg"> images.txt 

Затем вы можете открыть свои результаты в текстовом редакторе или распечатать их с помощью команды cat .

 кот images.txt 
 ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg 

В качестве альтернативы вы можете передать свой вывод команде tee , которая выводит вывод на экран и записывает его в файл:

 находка. размер + 500M | тройник bigfiles.txt 
 ./archlinux-2016.02.01-dual.iso 
 кот bigfiles.txt 
 ./archlinux-2016.02.01-dual.iso 

Подавление сообщений об ошибках

При выполнении поиска может появиться сообщение об ошибке «В доступе отказано».Например, если вы выполняете поиск в корневом каталоге как обычный пользователь:

 найти / 
 найти: `/ var / lib / sudo / ts ': в доступе отказано find: `/ var / lib / sudo / lectured ': в доступе отказано find: `/ var / lib / polkit-1 ': в доступе отказано find: `/ var / lib / container ': в доступе отказано find: `/var/lib/gdm3/.dbus ': В доступе отказано find: `/var/lib/gdm3/.config/ibus ': В доступе отказано ... 

Вы получите это сообщение об ошибке, если find попытается получить доступ к файлу, на чтение которого у вашей учетной записи нет разрешения.Вы можете выполнить поиск как суперпользователь ( root ), который имеет полный доступ ко всем файлам в системе. Но не рекомендуется делать что-либо как root , если нет других вариантов.

Если все, что вам нужно сделать, это скрыть сообщения «Permission denied», вы можете добавить 2 и

.

Найдите, какой пакет содержит файл в Debian Linux

Найдите, какой пакет содержит файл в Debian Linux

Если вы знаете, что вам нужно найти определенный файл для завершения компиляции, и вы не знаете, в каком пакете он содержится. У вас есть следующая опция в debian.

apt-file

Утилита поиска пакетов APT - интерфейс командной строки

apt-file - это инструмент командной строки для поиска пакетов для системы упаковки APT.

В отличие от apt-cache, вы можете выполнить поиск, в какой пакет включен файл, или просмотреть содержимое пакета, не устанавливая или не извлекая его.

Установить apt-файл в debian

# apt-get install apt-file

теперь будет установлен пакет apt-file.

После установки вам нужно будет загрузить фактические данные, которые он использует для поиска. Это можно сделать с помощью следующей команды, иначе команда поиска apt-file не вернет никаких результатов.

# apt-file update

После загрузки данных можно переходить к поиску пакетов.

# apt-file [options] action [pattern]

Параметры конфигурации:
--sources-list -s sources.list location
--cache -c

Каталог кэша
--architecture -a Использовать определенную архитектуру
--cdrom-mount -d Использовать определенную точку монтирования cdrom
--package-only -l Отображать только имя пакета
--fixed-string -F Не раскрывать шаблон
--ignore- case -i Игнорировать регистр
--regexp -x шаблон является регулярным выражением
--verbose -v запускать в подробном режиме
--dummy -y запускать в фиктивном режиме (без действий)
--help -h Показать эту справку .
--version -V Показать номер версии

Действие:
обновить Получить файлы содержимого из apt-sources.
search Искать файлы в пакетах
list Список файлов в пакетах
purge Удалить файлы кеша

Пример

# apt-file search perl.pm

libapache-mod-perl: usr / lib / perl5 / mod_perl.pm
libapache2-mod-perl2: usr / lib / perl5 / Apache2 / mod_perl .pm
libembperl-perl: usr / lib / perl5 / Embperl.pm
libembperl-perl: usr / lib / perl5 / Embperl / Recipe /Embperl.pm
libembperl-perl: usr / lib / perl5 / Embperl / Syntax / Embperl.pm
libhtml-embperl-perl: usr / lib / perl5 / HTML / Embperl.pm
liblog-log4perl-perl: usr / share / perl5 / Log / Log4perl .pm
libsdl-perl: usr / lib / perl5 /SDL_perl.pm
perl-modules: usr / share / perl / 5.8.4 / ExtUtils /Miniperl.pm

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

#dpkg -L <имя пакета>

dlocate

быстрая альтернатива dpkg -L и dpkg -S

использует локализацию GNU, чтобы значительно ускорить определение того, к какому пакету принадлежит файл (т.е. очень быстрый dpkg -S). множество других применений, включая параметры для просмотра всех файлов в пакете, расчета используемого дискового пространства, просмотра и проверки сумм md5, списка справочных страниц и т. д.

Установка dlocate в debian

# apt-get install dlocate

Использование: dlocate [ опция] [строка...]

Опции:
(без опции) строка список всех записей, которые соответствуют
-S строковый список записей, где файлы соответствуют
-L пакет список всех файлов в пакете
-l пакет почти-эмуляция 'dpkg -l'
-s package распечатать статус пакета
-ls package 'ls -ldF' всех файлов в пакете
-du package 'du -sck' всех файлов в пакете
-conf список пакетов conffiles в пакете
-lsconf package 'ls -ldF 'of conffiles в пакете
-md5sum список пакетов md5sums пакета (если есть)
-md5check пакет проверить md5sums пакета (если есть)
-man список пакетов справочные страницы пакета (если есть)

-L, -s и - Команды S примерно аналогичны эквивалентным командам dpkg.

Пример

#dlocate -S / etc / bash_completion

bash: /etc/bash_completion.d
bash: / etc / bash_completion
ppp: /etc/bash_completion.d
ppp: /etc/bash_completion.d
ppp: /etc/bash_completion
dpatch: /etc/bash_completion.d
dpatch: /etc/bash_completion.d/dpatch _edit_patch
модуль-помощник: /etc/bash_completion.d
модуль-помощник: /etc/bash_completion.d/ma

wajig

Упрощенный интерфейс управления пакетами Debian

Wajig - это оболочка с единой командной строкой для apt, apt-cache, dpkg и / etc / init.d и другие, предназначенные для простоты использования и предоставляющие обширную документацию по всем его функциям.

При подходящей конфигурации sudo (1) большая часть (если не все) установка пакетов, а также задачи создания могут быть выполнены из пользовательской оболочки. Ваджиг также подходит для общего системного администрирования.

Команда графического интерфейса Gnome 'gjig' также включена в пакет.

Установить wajig в Debian

# apt-get install wajig

Использование wajig

#wajig

JIG> help
Общие команды JIG:

update Обновить список загружаемых пакетов
новых Список доступных пакетов с момента последнего обновления
newupgrades Список пакетов, недавно доступных для обновления
install Установить (или обновить) один или несколько пакетов или.deb files
remove Удалить один или несколько пакетов (см. также очистку)
toupgrade Список пакетов с более новыми версиями, доступных для обновления
upgrade Обновить все установленные пакеты или только те, которые перечислены в списке
listfiles Перечислить файлы, которые поставляются указанным пакетом
listnames Перечислить все известные пакеты или те, которые содержат предоставленную строку
whatis Для каждого указанного пакета получить однострочное описание
whichpkg Найдите пакет, который предоставляет данную команду или файл.

Запустите LIST-COMMANDS для получения полного списка команд.

Пример

JIG> whichpkg alsamixer
Путь к файлу Пакет
============================== ===== ======================== - ===== ============
/ usr / bin / alsamixer alsa-utils
/ usr / share / doc / alsa-utils /README.alsamixer alsa-utils
/ usr / share / man / man1 / alsamixer .1.gz alsa-utils
JIG>

auto-apt

поиск пакетов по файлу и средство установки пакетов по требованию

auto-apt проверяет доступ к файлам программ, работающих в его средах, и пытается ли программа получить доступ к файлу, заведомо принадлежащему к неустановленному пакету , auto-apt установит этот пакет с помощью apt-get.Эта функция требует для работы apt и sudo.

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

Установить auto-apt в Debian

# apt-get install auto-apt

После установки вам необходимо обновить список пакетов с помощью следующей команды

# auto-apt update

Если вы хотите использовать auto-apt следуйте этому синтаксису

# auto-apt

$ Id: auto-apt.sh, v 1.58 19.03.2004 17:53:25 ukai Exp $
Использование: auto-apt [options] command [arg...]

auto-apt - это простой интерфейс командной строки для настройки среды auto-apt и / или поиска пакетов по имени файла.

Команды:
run - Войдите в среду auto-apt run [команда [cmdarg]]

.

Debian - Документация

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

Быстрый старт

Если вы новичок в Debian, мы рекомендуем сначала начать с чтение:

Имейте это под рукой при первой установке Debian, вероятно ответит на многие вопросы и поможет вам работать с вашим новым Debian система.Позже вы, возможно, захотите пройти:

Наконец, убедитесь, что вы распечатали и имеете под рукой Справочник по Debian GNU / Linux. Карточка, список наиболее важных команд для систем Debian.

Ниже приведено немало другой документации.

Виды документации

Большая часть документации, включенной в Debian, была написана для GNU / Linux. в общем. Также есть документация, написанная специально для Debian. Эти документы делятся на следующие основные категории:

Руководства

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

Руководства, относящиеся к Debian

Полный список руководств Debian и другой документации можно найти на веб-страницах проекта документации Debian.

Есть также несколько руководств, ориентированных на пользователя, написанных для Debian GNU / Linux, доступны в виде печатных книг.

HOWTO

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

Часто задаваемые вопросы

FAQ - это часто задаваемых вопросов .FAQ - это документ который отвечает на эти вопросы.

Ответы на вопросы, относящиеся к Debian, приведены в Часто задаваемые вопросы по Debian. Также есть отдельный FAQ по Debian CD / DVD. изображений.

Прочие, более короткие документы

Следующие документы содержат более быстрые и короткие инструкции:

страниц руководства
Традиционно все программы Unix документируются с помощью руководства . страниц , справочные руководства доступны через человека команда.Обычно они не предназначены для новичков. Вы можете найдите и прочтите справочные страницы, доступные в Debian в https://manpages.debian.org/.
информационные файлы
Многие программы GNU задокументированы через info файлы вместо страниц руководства. Эти файлы содержат подробные информация о самой программе, опциях и примере использования и доступны через информацию команда.
различные файлы README
прочитал меня файлов также распространены - это простой текст файлы, которые описывают один элемент, обычно пакет.Ты можешь найти многие из них в подкаталогах / usr / share / doc / на ваша система Debian. Каждый программный пакет имеет подкаталог под ним со своими собственными файлами для чтения, а также может включать примеры конфигурации. Обратите внимание, что для более крупных программ документация обычно предоставляется в отдельном пакете (то же имя, что и оригинальная упаковка, но оканчивается на -doc ).
Краткие справочные карты

Краткие справочные карты - это очень короткие описания определенных (под) система.Обычно такая справочная карточка дает наиболее использованные команды на одном листе бумаги. Некоторые примечательные ссылки карты и коллекции включают:

Debian Справочная карта GNU / Linux
Эта карточка, которую можно распечатать на одной бумаге, предоставляет список наиболее важных команд и хороший справочник для новых пользователей Debian, которые хотят ознакомьтесь с ними. Хотя бы базовые знания компьютера, файлы, каталоги и командная строка не требуется.Начинающие пользователи могут захотеть прочитать Справочник Debian первый.

Если вы проверили указанные выше ресурсы и по-прежнему не можете найти ответы на ваши вопросы или решения ваших проблем относительно Debian, взгляните на нашей странице поддержки.

.

Как открывать, создавать, редактировать и просматривать файл в Linux

Обновлено: 01.04.2018, Computer Hope

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

Текстовые редакторы с графическим интерфейсом

В этом разделе обсуждаются приложения для редактирования текста для оконной системы Linux, X Windows, более известные как X11 или X .

Если вы работаете с Microsoft Windows, вы, несомненно, знакомы с классическим текстовым редактором Windows, Блокнотом. Linux предлагает множество подобных программ, в том числе NEdit , gedit и geany . Каждая из этих программ является бесплатным, и каждая из них обеспечивает примерно одинаковые функции. Вам решать, какой из них лучше всего подходит и имеет лучший интерфейс для вас. Все три эти программы поддерживают подсветку синтаксиса, которая помогает редактировать исходный код или документы, написанные на языке разметки, таком как HTML или CSS.

NEdit

NEdit , сокращенно от Nirvana Editor, представляет собой простой текстовый редактор, очень похожий на Блокнот. Он использует интерфейс в стиле Motif.

Домашняя страница NEdit находится по адресу https://sourceforge.net/projects/nedit/. Если вы используете систему Debian или Ubuntu, вы можете установить NEdit с помощью следующей команды:

 sudo apt-get install nedit 

Для получения дополнительной информации см. Нашу информационную страницу NEdit.

Geany

Geany - текстовый редактор, очень похожий на Notepad ++ для Windows.Он предоставляет интерфейс с вкладками для одновременной работы с несколькими открытыми файлами и имеет отличные функции, такие как отображение номеров строк на полях. Он использует инструментарий интерфейса GTK +.

Домашняя страница Geany находится по адресу http://www.geany.org/. В системах Debian и Ubuntu вы можете установить Geany, выполнив команду:

 sudo apt-get install geany 

Gedit

Gedit - это текстовый редактор по умолчанию в среде рабочего стола GNOME. Это отличный текстовый редактор, который можно использовать практически в любой системе Linux.

Домашняя страница Gedit находится по адресу https://wiki.gnome.org/Apps/Gedit. В системах Debian и Ubuntu Gedit можно установить, выполнив следующую команду:

 sudo apt-get install gedit 

Терминальные текстовые редакторы

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

пик

pico начинался как редактор, встроенный в текстовую программу электронной почты pine , а затем был упакован как отдельная программа для редактирования текстовых файлов.(«пико» - научный префикс для обозначения очень маленьких вещей.)

Современная версия сосны называется alpine , но пико по-прежнему называется пико. Вы можете найти дополнительную информацию о том, как его использовать, в нашей документации по командам pico.

В системах Debian и Ubuntu Linux вы можете установить pico с помощью команды:

 sudo apt-get install alpine-pico 

нано

nano - это GNU-версия pico и, по сути, та же программа под другим именем.

В системах Debian и Ubuntu Linux nano можно установить с помощью команды:

 sudo apt-get install nano 

vim

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

В системах Debian и Ubuntu Linux vim можно установить с помощью команды:

 sudo apt-get install vim 

emacs

emacs - это сложный, легко настраиваемый текстовый редактор со встроенным интерпретатором языка программирования Lisp.Он неукоснительно используется некоторыми компьютерными программистами, особенно теми, кто пишет компьютерные программы на диалектах Лиспа, таких как Scheme. Для получения дополнительной информации см. Нашу информационную страницу о emacs.

В системах Debian и Ubuntu Linux emacs можно установить с помощью команды:

 sudo apt-get install emacs 

Перенаправление вывода команды в текстовый файл

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

Создание пустого файла с помощью сенсорной команды

Для создания пустого файла обычно используется команда touch . Команда touch обновляет атрибуты atime и mtime файла, как если бы содержимое файла было изменено - без фактического изменения чего-либо. Если коснется несуществующего файла, система создаст файл, не помещая внутрь какие-либо данные.

Например, команда:

 прикоснитесь к myfile.txt 

Приведенная выше команда создает новый пустой файл с именем myfile.txt , если этот файл еще не существует.

Перенаправление текста в файл

Иногда вам нужно вставить вывод команды в файл. Чтобы сделать это быстро и легко, вы можете использовать символ > , чтобы перенаправить вывод в файл.

Например, команда echo используется для "эха" текста в качестве вывода. По умолчанию это идет на стандартный вывод - экран.Итак, команда:

 echo "Пример текста" 

Приведенная выше команда печатает этот текст на экране и возвращает вас в командную строку. Однако вы можете использовать > на перенаправить этот вывод в файл. Например:

 echo "Пример текста"> myfile.txt 

Приведенная выше команда помещает текст «Пример текста» в файл myfile.txt. Если myfile.txt не существует, он будет создан. Если он уже существует, его содержимое будет перезаписано, уничтожив предыдущее содержимое и заменив его.

Предупреждение

Будьте осторожны при перенаправлении вывода в файл с использованием > . Он перезапишет предыдущее содержимое файла, если он уже существует. Для этой операции нет отмены, поэтому убедитесь, что вы хотите полностью заменить содержимое файла, прежде чем запускать команду.

Вот пример использования другой команды:

 ls -l> directory.txt 

Приведенная выше команда выполняет ls с опцией -l , которая дает подробный список файлов в текущем каталоге.Оператор > перенаправляет вывод в файл directory.txt, а не выводит его на экран. Если directory.txt не существует, он будет создан первым. Если он уже существует, его содержимое будет заменено.

Перенаправление в конец файла

Оператор перенаправления >> аналогичен > , но вместо перезаписи содержимого файла он добавляет новые данные в конец файла. Например, команда:

 ls -l >> каталог.txt 

Приведенная выше команда берет результат ls -l и добавляет его в directory.txt. Если directory.txt не существует, он будет создан первым. Если он уже существует, вывод ls -l добавляется в конец файла на одну строку после существующего содержимого.

.

apt-файла - Debian Wiki

apt-file - это программный пакет, который индексирует содержимое пакетов в ваших доступных репозиториях и позволяет вам искать конкретный файл среди всех доступных пакетов.

Например, предположим, что вы загрузили tarball, который содержит двоичные исполняемые файлы вместо исходного кода или файла deb, но при попытке его запустить вы получаете сообщение о том, что конкретный файл библиотеки не может быть обнаружен. Вы можете использовать apt-file, чтобы быстро узнать, какие пакеты вы можете установить, чтобы удовлетворить эту зависимость.

Использование

Для использования apt-файла его необходимо сначала установить и обновить. Сначала установите его, используя свой любимый метод (например, синаптический), или запустите от имени пользователя root:

 # apt-get install apt-file 

Однако после того, как он будет установлен, он не будет иметь большого смысла, пока разрешено создание базы данных. Его можно запустить либо как обычный пользователь, либо как root, если вы хотите, чтобы кеш был общесистемным. Чтобы сгенерировать или обновить базу данных для запуска apt-файла:

 apt-file update 

После того, как apt-файл был установлен и база данных сгенерирована, вы можете использовать его в любое время для поиска файла, запустив:

 apt- поиск файла  

Например, если вам нужно знать, какой пакет предоставляет файл libmp3lame.so.0, вы должны запустить:

.

Смотрите также