Проблема с поиском нужных файлов или папок была, есть, и будет актуальна всегда. Люди постоянно забывают, куда именно они сохранили нужный файл Хрень.doc, или Супер-музня.mp3. Поэтому независимо от вашей операционной системы, поиск файлов или директорий, будет всегда востребован хоть на Linux, на Windows, или MacOS X. Просто инструменты поиска будут разные. Поиск в Linux можно разделить на две категории: графический и консольный. Начнем с гордости всех луниксоидов — с Терминала. Для поиска в 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, которая ищет файлы по имени.
Например, команда:
find ~ Music -name '*.mp3'
произведет поиск всех файлов (символ *), которые имеют расширение .mp3 в папке Music, которая находится в вашей Домашней директории.
find / -name '*.pdf'
Данная команда произведет поиск файлов с расширением .pdf во всех каталогах, куда вам разрешен доступ. Если программа не может зайти в некоторые системные каталоги, то она вас об этом предупредит. А если вам все таки нужно просмотреть полностью все каталоги, тогда используйте права Суперпользователя:
sudo find / -name '*.pdf'
Команда
find ~ -name 'Foto*'
выведет список файлов домашнего каталога, начинающихся с букв Foto.
Ключ `-name’ различает большие и маленькие буквы; для того чтобы во время поиска не обращать внимание на эти критерии, нужно использовать опцию ‘-iname’. Тогда программа найдет все файлы, которые будут состоять из букв: Foto, foto или FOTO.
Если хотите, чтобы результат поиска был сохранен в текстовый файл, то команда примет следующий вид:
find ~ -name 'Foto*' > results.txt
Если вам известно полное имя файла, тогда команда будет следующая:
find / -name .profile
В данном случае будет произведен поиск скрытого файла .profile во всей системе.
Можно произвести поиск файла если известна часть его имени. В таком случае команда будет такой:
find /home/dm/Музыка/Клипы/ -name "*uniform*"
Если вы хотите найти файлы, которые начинаются с каких-то определенных букв (например, от a до c), то в таком случае лучше применить регулярные выражения, которые очень удобны в работе:
find / -name '[a-c]*'
Данная команда сможет найти все файлы вашей системы, которые начинаются с букв от a до c.
Поиск файлов с определенными режимами доступа
Если вы захотите отыскать файлы, которые имеют определенные режимы доступа, то помочь вам в этом сможет опция -perm. Например, найдем файлы, у которых режим доступа равен 775, и находятся в текущем каталоге:
find . -perm 775
Поиск файлов по пользователю, либо группе.
Чтобы найти файл, который принадлежит определенному пользователю достаточно выполнить следующую команду:
find / -user comp
Эта команда найдет файлы в системе, которые принадлежат пользователю comp.
А для того, чтобы найти файлы, которые принадлежат какой-то определенной группе (например group2), выполним команду:
find / -group group2
Чтобы найти файлы несуществующих пользователей либо групп, нужно использовать опции -nouser и -nogroup:
find / -nouser
и
find / -nogroup
Поиск файлов определенного типа
У команды find есть еще одна полезная возможность, можно найти файлы определенного типа. Для этого применим ключ -type. Найдем символические ссылки в каталоге /etc:
find /etc -type l
Найдем список каталогов, которые присутствуют в папке /mnt/raid
find /mnt/raid -type d
Поиск файлов по размеру.
Ключ -size дает возможность найти файлы нужного вам размера.
find . -size 2000k
Данная команда найдет и покажет на экране файлы, размер которых равен 2 мегабайта, и которые находятся в текущем каталоге. А если например нужно отыскать файлы размером менее 500 килобайт, то в таком случае команда будет такой:
find . -size -500k
Если вам нужно отыскать файлы с размером более 900 мегабайт, то команда будет следующей:
find / -size +900M
Поиск файлов с использованием ключа -mtime
Ключ -mtime дает возможность вам отыскать файлы, которые изменялись в какой-то определенный срок времени.
Например, у нас есть задача найти файлы, которые находятся в папке /home/dm/Video , и которые изменялись за последние 10 дней.
find /home/dm/Video -mtime +10
Если вам нужно наоборот, например, найти файлы, которые не изменялись неделю, тогда команда будет следующей:
find /home/dm/Video -7
В следующей статье я напишу о графических инструментах поиска в Ubuntu Linux.
Всем удачи!
На фиг оно нужно, есть графические сервисы
Про графические программы будет отдельная статья.
Я, конечно, некропостер, но все-таки объясню, зачем надо знать консольную команду.
*unix-системы, как мне кажется, в 90% используются на серверах. А на серверах обычно не стоит графический интерфейс (иксы, etc) и доступ к серверам обычно через ssh, а там нет графического интерфейса. И что вы будете делать? Полезете в гугл искать и наткнетесь на эту статью и спасибо скажете =)
потому что мать его за ногу кому-то так удобнее
iuyi
А как найти файл по содержимому?????
Это? — http://softhelp.org.ua/?p=4943
Век живи век учись! Спасибо бро! Отличная статья!
На здоровье!
То, стаття пр графічні інструменти пошуку де?
Тут — http://softhelp.org.ua/?p=3928