Если у вас нет большого опыта работы с системами Linux, вы можете быть очень удивлены возможностями управления операционной системой из командной строки. Понимание принципов работы через консоль пригодится и для управления домашним компьютером, например, с ОС Ubuntu, и для администрирования серверов cloud.timeweb.com с установленными Unix-подобными системами. В этой статье мы попытаемся ознакомить вас с основами. Это руководство должно дать вам необходимый минимум знаний и хорошую отправную точку для дальнейших исследований.
Навигация
Наиболее фундаментальные навыки, которыми вам необходимо овладеть, — это перемещение по файловой системе и получение представления о том, что находится вокруг вас. В этом разделе мы обсудим инструменты, которые позволят вам это сделать.
Поиск своего местоположения
После того как вы подключаетесь к своему серверу, вы обычно попадаете в домашний каталог вашей учетной записи пользователя (если не применены нестандартные настройки). Домашняя директория — это директория, которая используется для хранения пользовательских файлов, например документов, фото, видео-файлов. В этой директории вы имеете полные права для совершения любых действий, таких как создание, перемещение, удаление файлов и директорий. Чтобы узнать, где находится домашний каталог пользователя, используйте команду pwd (сокращение от print working directory). Эта команда выведет путь до каталога, в котором вы находитесь в данный момент:
Linux урок 6. Поиск файлов/директорий/ссылок. Команда find
В ответ вы должны получить строку, которая выглядит похожим образом:
/home/demo
Название домашней директории пользователя совпадает с именем его учетной записи. Этот каталог находится внутри каталога /home , который, в свою очередь, сам расположен внутри каталога верхнего уровня, который называется root , но обозначается одной косой чертой / .
Перемещение по файловой системе
Часто вам может понадобиться изменить текущий рабочий каталог, чтобы получить доступ к другим подкаталогам и файлам.
Чтобы изменить текущий каталог , в linux используется команда cd (сокращение от change directory), за которой, в качестве аргумента, следует имя каталога, относительно текущего:
cd Documents
или абсолютный (полный) путь:
cd /home/demo/Documents
Чтобы вернуться на уровень выше, в родительскую директорию, можно в качестве аргумента передать команде cd две точки:
Чтобы вернуться в домашний каталог пользователя, нам не обязательно передавать полный путь к нему, вместо этого можно использовать короткую запись, передав в качестве аргумента символ «тильда»:
Чтобы перейти в корневой каталог:
Просмотр содержимого каталогов
Теперь, когда мы знаем, как перейти в нужный нам каталог и отобразить путь до него, пришло время разобраться, как просмотреть содержимое каталога . Чтобы это сделать, в linux используется команда ls (сокращение от list):
В ответ мы увидим список файлов и директорий:
addresses.txt Documents Downloads grades.txt
Чтобы посмотреть содержимое каталога, надо передать путь до него:
Linux для Начинающих — Навигация по файлам и директориям
ls /home/demo/Documents
Чтобы вывести список всех файлов в подкаталогах, используйте флаг -R :
ls -R /home/demo/
Так же в linux-команде ls можно передать дополнительные флаги. Например, чтобы вывести подробную информацию о содержимом каталога, такую как права доступа, дату последнего изменения, можно использовать команду:
ls -l /home/demo/
Чтобы увидеть скрытые файлы и директории (обычно их имена начинаются с точки) нужно использовать флаг -a . Флаги можно комбинировать друг с другом, например:
ls -la /home/demo/
Просмотр содержимого файлов
Для вывода содержимого файла в терминал, используется команда cat (сокращение от concatenate). В качестве аргумента ей необходимо передать имя файла в текущем каталоге или путь до него:
cat file1.txt
cat /home/demo/file2.txt
Поиск файлов
Иногда вам может понадобиться найти местоположение определенного файла. Поиск файла в linux легко можно сделать с помощью команд find или locate .
Команда find ищет файл в определенном месте и принимает два аргумента: путь до директории , в которой нужно произвести поиск, и имя файла, который нужно найти. Для того, чтобы поискать файл с именем file1.txt в домашней директории пользователя demo, команда будет выглядеть следующим образом:
find /home/demo -name file1.txt
Команда locate , как и команда find , выполняет поиск файлов, но принимает только один аргумент. Команда locate ищет все возможные файлы и каталоги с заданным именем в системе:
locate file1.txt
Основные операции с файлами и каталогами
Создание файла
Чтобы создать файл в linux , мы можем воспользоваться командой touch . Например, чтобы создать файл с именем file1.txt в домашней директории пользователя, введите в терминале команду:
touch ~/file1.txt
Создание каталога
Для того, чтобы создать папку в linux , используется команда mkdir (сокращение от make directory). В качестве аргумента передайте имя директории или путь, по которому хотите ее создать:
mkdir ~/Photos
Удаление файлов и каталогов
Удаление файла в linux осуществляется при помощи команды rm (сокращение от remove).
Для удаление каталога используется эта же команда rm , но с флагом -r :
rm /home/demo/file1.txt
rm -r /home/demo/Photos
Используйте эту команду с осторожностью, так как ее действие необратимо.
Перемещение и переименование
Для того, чтобы переместить, или переименовать файл в linux используется универсальная команда mv (сокращение от move).
В зависимости от того, как она используется, она может переименовывать файл или перемещать его из одного места в другое. Команда для перемещения файла будет выглядеть так:
mv file1.jpeg /home/demo/Photos/
Для переименования файла из file1.txt в file2.txt используется следующая запись:
mv file1.txt file2.txt
Кроме того, вы можете одновременно перемещать и переименовывать файл, указав папку назначения и новое имя файла:
mv file1.txt /home/demo/Documents/file2.txt
Копирование
Команда cp (сокращение от copy), копирует файл из одного места в другое. В отличие от команды mv , используемой для перемещения, команда cp сохраняет исходный файл в его текущей директории и создает копию в другой директории . Команда для копирования файла с именем file1.txt в каталог /home/demo/Documents будет выглядеть так:
cp file1.txt /home/demo/Documents
cp /home/demo/Ptotos/photo1.jpeg /home/demo/Documents
Если вы хотите скопировать директорию, то необходимо использовать флаг -R :
cp -R /home/demo/tutorilas /home/demo/Documents/
Размер файлов и директорий
В linux размер папки можно узнать при помощи команды du (сокращенно от disk utility). Если ввести эту команду без аргументов, то она выведет размеры всех файлов внутри текущей директории . Обычно, в качестве аргумента ей передают путь до директории , размер которой необходимо узнать, и флаги -sh для более красивого и читаемого вывода:
du -sh /home/demo/Music
Если мы хотим увидеть размер и состояние конкретного диска, то можно использовать команду df с флагом -h , и названием раздела, который хотим увидеть:
df -h /dev/sda1
Отображение размера директории в конкретных единицах измерения
По умолчанию команда du отображает размер каталога в байтах. Если нам вдруг потребуется отображать размер файлов и каталогов в килобайтах или мегабайтах, используется эта же команда du , но к ней необходимо будет добавить флаг -k (килобайты) или -m (мегабайты).
Для того, чтобы установить отображение использования дискового пространства в килобайтах для нашей директории demo, введите:
du -k /home/demo/
Или в мегабайтах:
du -m /home/demo/
В таком случае будет отображаться использование дискового пространства директорией, но не размер ее файлов.
Чтобы узнать размеры ее файлов, нам понадобится флаг -a .
du -ah /home/demo/
Редактирование файлов
Для того, чтобы отредактировать файлы, можно воспользоваться встроенным в linux консольным редактором nano.
Чтобы открыть файл с именем file1.txt, введите:
nano file1.txt
После этого откроется окно с редактором, в котором вы можете приступить к редактированию.
Копирование и вставка
Для того чтобы вырезать строку и поместить ее в буфер обмена, переместите курсор на нужную строку и нажмите Ctrl+K.
Чтобы вставить строку из буфера, нажмите Ctrl+U.
Чтобы скопировать текст произвольной длины, сначала требуется его выделить. Для этого поместите курсор на начало текста, который планируется копировать, и нажмите Ctrl+6. Перемещайте курсор, текст будет выделяться.
Чтобы скопировать выделенный текст в буфер обмена, нажмите Alt+6.
Чтобы вырезать выделенный текст, нажмите Ctrl+K.
Поиск и замена
Для поиска используйте комбинацию клавиш Ctrl+W, затем введите поисковый запрос и нажмите Enter. Курсор переместится к первому найденному совпадению. Чтобы продолжить поиск до следующего совпадения, используйте комбинацию Alt+W.
Сохранение и выход из редактора
Если вы хотите сохранить текущие изменения в файле, нажмите комбинацию клавиш Ctrl+O. Если вы редактируете новый файл, вам будет предложено дать ему имя. Это сохранит текущие изменения, при этом nano останется открытым и вы сможете продолжить работу.
Если вы хотите выйти из редактора нажмите комбинацию клавиш Ctrl+X.
Источник: timeweb.cloud
Linux узнать расположение программы
Как найти? CentosOS 6.5 Спасибо, я написал так whereis exp exp: /usr/share/man/man3p/exp.3p.gz /usr/share/man/man3/exp.3.gz Путь должен быть связан с oracle. Ну ты понял, куда Оракл установлен, там и ищи Я пробывал искать где установлен oracle, но не нашел, писал теже команды что и для exp
# updatedb
# locate -r ‘bin/exp$’ Увидел, что ничего не выводит. Может это альяс баша? А у тебя точно есть эта утилита?
нашел с помощью sudo find Учи матчасть, кури маны. Оракл поставил, элементарных вещей не знает. Вон из профессии. Ты действительно думаешь, что для специалиста по рихтовке необходимы знания системного администратора?
Умение пользоваться базовыми консольными утилитами — это не знания сисадмина, это знания ПРОДВИНУТОГО пользователя системы. И я говорю продвинутого только, чтобы успокоить тех кукаретиков, кто считает что консоль обычному пользователю не нужна.
Вот умение тонко настраивать файрвол или поднять DNS/DHCP/LDAP/Whatever-сервер — это уже можно отнести к знания уровня системного администратора. А что, рихтовщик обязан быть двинутым пользователем системы? Рихтовать не сможет без линукса?
Если ты про Oracle DBA, то если он самолично подымает этот самый Oracle на некой ОС(Linux,Windows, whatever), то он обязан знать её инструментарий(консоль, Powershell, WMI, whatever). Он не обязан знать его досконально, как системный администратор, это не его задача. Так же как и сисадмин вполне себе должен знать и уметь составить SQL-запрос, но вовсе(хотя и может) не обязан разбираться с тонкостях построения баз данных.
Я про человека, которые металл ровняет!
Ты вот орёшь «вон из профессии». А ты вообще в курсе кто он? Во-первых, лично я не ору «вон из профессии» — ты меня перепутал с анонимусом. Во-вторых, взялся за чужую работу и спрашиваешь бесплатной помощи у специалистов — будь добр соответствовать. Не надо быть гуру, надо уметь читать соответсвующие руководства — это в любой профессии сложнее «копать от забора и до обеда» пригодится. Источник
Куда устанавливаются программы в Ubuntu
Многих новичков, недавно установивших Linux и только начавших разбираться в устройстве этой замечательной операционной системы, как и меня, в свое время, интересует вопрос: куда же устанавливаются программы в Ubuntu, да и вообще, в любом дистрибутиве Linux. Файловая система Linux очень сильно отличается от Windows и это в первое время сбивает с толку.
Мы привыкли, что все программы и их файлы в Windows находятся в системном каталоге Program Files и System32, или если не в нем, то хотя бы в одном из подкаталогов. Но в Linux все намного сложнее. Здесь файлы программ, как правило, распределены по всей файловой системе. Так куда устанавливаются программы в Linux? Как найти все файлы программы?
Как удалять ненужные программы? Все это мы рассмотрим в данной статье.
Куда устанавливаются программы в Ubuntu
Здесь не все так просто. Чтобы ответить на этот вопрос сначала нужно разобраться в особенностях файловой системы Linux и способах установки программ. В корневой файловой системе Linux каждая папка предназначена для хранения определенного типа файлов, эти правила со временем менялись, да и сейчас меняются в зависимости от дистрибутива, но основные папки остаются одни и те же. В папке /bin (Binary — двоичный) — хранятся исполняемые файлы, /lib — подключаемые библиотеки, /usr — ресурсы и данные программ, это могут быть переводы, картинки и т д, в /var — временные данные, логи, кэши, /etc — конфигурационные файлы.
Большинство программ, устанавливаемых с помощью стандартного пакетного менеджера распределяются по файловой системе в эти папки. Вам, наверное, интересно, как система определяет какие файлы куда копировать. Она и не определяет, это задает разработчик во время сборки пакета. Попробуйте открыть deb пакет как архив.
Кроме служебных информационных файлов, касающихся установки вы там увидите структуру папок напоминающую корневую ФС Linux, это и определяет какие файлы где будут находиться. В последнее время грань четкого разделения файлов по папкам немного стерлась, появились папки /usr/bin для исполняемых файлов, а кэш некоторые программы вообще хранят в домашней папке пользователя, но традиционные Linux сервисы, такие как Samba, Apache, Ngnix и многие другие четко придерживаются стандартной структуры. Давайте разберем на примере как распределяется программа в файловой системе. Возьмем, например, тот же сервер apache. Чтобы узнать куда были скопированы файлы программы воспользуемся утилитой dpkg. www-servers/apache-2.2.31 (/usr/sbin/apache2)
www-servers/apache-2.2.31 (/etc/init.d/apache2)
www-servers/apache-2.2.31 (/etc/logrotate.d/apache2)
www-servers/apache-2.2.31 (/var/cache/apache2)
www-servers/apache-2.2.31 (/usr/lib64/apache2)
www-servers/apache-2.2.31 (/usr/share/apache2)
www-servers/apache-2.2.31 (/etc/apache2)
www-servers/apache-2.2.31 (/usr/include/apache2)
www-servers/apache-2.2.31 (/etc/conf.d/apache2)
www-servers/apache-2.2.31 (/var/log/apache2) Как видите, все файлы на своих местах. Но из этого правила есть исключения. Например, многие проприетарные программы и игры устанавливаются полностью в одну папку, так же как и в Windows. Для таких программ есть папка /opt. Посмотрим, например, на Crossover: sudo dpkg -s crossover-bin Обычно такой вид установки используют программы, устанавливаемые скриптами в формате .run.
Есть еще один вид программ — те, которые собираются из исходников и устанавливаются командой make install. Так программы лучше не устанавливать, потому что файлы, как и в первом случае, распределяются по всей системе, но в этот раз уже без ведома пакетного менеджера. Конечно¸ вы всегда сможете удалить программу командой make uninstall, но нет гарантий что вы не удалите исходники и скрипт очистки не оставит в системе много лишних файлов, которые потом будет трудно найти. Как правильно устанавливать программы из исходников можете посмотреть в статье установка программ из tar.gz
Надеюсь, эта статья помогла вам разобраться с вопросом куда устанавливаются программы в Ubuntu. Источник
Linux узнать расположение программы
В этой статье поговорим о командах поиска файлов и директорий в терминале, таких как find, locate, whereis, which. При работе в Linux, довольно часто возникает необходимость поиска файлов с определенными характеристиками. Этими характеристиками могут быть размер или тип файла, время изменения и многое другое. Формат команды find.
В общем виде команда find выглядит следующим образом: где путь – это директория, в которой мы хотим произвести поиск, опции — это ключи-параметры поиска.
Путь поиска команды find.
В обычном случае мы просто указываем полный путь к нужному каталогу, например: Но в качестве пути поиска можно указывать следующие значения:
. | поиск в текущем каталоге; |
/ | поиск от корневого каталога; |
поиск в домашнем каталоге. |
Основные опции команды find.
-name — поиск файлов по имени; -user — поиск файлов, принадлежащих указанному пользователю; -type — поиск файлов определенного типа. Вот наиболее используемые типы:
-size -n,+n, n — поиск файлов с размером меньше(-), больше (+) или равное n единиц;
-mtime -n, +n — поиск файлов, созданных или модифицируемых менее чем (-) или более чем (+) n дней назад.
Примеры использования команды find.
Самый простой вариант поиска, указываем путь и имя файла. Давайте найдем файл с именем file1:
Но если мы напишем не полностью имя, например «file», то файл с именем «file1» не найдется. Для этого нужно писать имя в кавычках и в конце добавить *, вот таким образом:
Но нашлись и файлы и директории, в названии которых встречается «file». Чтобы найти только файлы, воспользуемся опцией -type , передав ей значение f, чтобы искать только файлы (для поиска только директорий мы бы передали d):
Но теперь нашлись файлы во всех вложенных директориях. А что если нам надо найти файл только в текущей директории или с уровнем вложенности 1 или 2?
Для этого используется опция maxdepth (глубина поиска), то есть, если мы хотим найти файл в директории поиска, без рекурсивного просмотра всех директорий:
Теперь нашлись файлы только в директории поиска.
Если хотим включить первый уровень внутри каталога поиска, тогда нужно указать maxdepth 2:
Как видно на скриншоте, теперь найден файл и в папке «Загрузки».
Нужно указывать опцию -maxdepth перед опцией -name.
Теперь разберем очень важную опцию поиска файла по размеру «-size».
Важно, если мы хотим найти файлы размером в килобайтах, нужно писать в конце k, для мегабайт M, для гигабайт G, для байт b. Важно соблюдать регистр.
Разберем пример, найдем файлы в домашней директории менее 10 килобайт с именем file*:
Нашлись все файлы в домашней директории и ее папках, размер которых менее 10 килобайт.
Теперь давайте найдем файлы в домашней директории, которые весят больше 100 мегабайт:
Нашелся один файл, который весит более 100 мегабайт.
Также можно искать файлы определенного размера, например, которые весят 1G или 1M:
Теперь переходим к поиску файлов, которые были созданы или модифицированы n количество дней назад.
Поиск файлов, которые были изменены или созданы менее 2 дней назад:
Также можно использовать опцию -user, чтобы найти только файлы определенного пользователя:
Вместо username нужно подставить имя пользователя. Если искать ваши файлы, то можно использовать системную переменную $USER, которая выводит имя текущего пользователя.
Возможности команды find поистине безграничны, мы можем использовать и регулярные выражения. К примеру, давайте уберем из поиска все скрытые файлы и директории.
Данная команда может показаться сложной на первый взгляд. Вот это вот регулярное выражение ( ! -regex ‘.*/..*’ ) как раз и убирает из поиска все скрытые файлы и директории:
Поиск файлов, которые были изменены или созданы более 100 дней назад:
В одной статье очень трудно перечислить все возможности этой команды поиска файлов и директорий. Это самое основное и часто используемое.
Помимо find для поиска файлов существует ещё команда locate.
Разница между ними в том, что locate использует собственную базу данных для хранения имен файлов. В то время, как find исследует директории в поисках заданного параметром командной строки имени файла.
Команда locate ищет файлы очень быстро, так как она производит поиск не по файловой системе, а по собственной базе данных.
Поэтому, перед использованием данной команды поиска следует использовать команду, которая обновит базу данных индексов файлов в системе:
Хотя это и не обязательно (система это делает периодически), просто если не выполнить её, то вам может вывести в поиске удаленные файлы или не вывести только что созданные.
Формат команды locate.
Вводится команда locate и имя файла, который хотим найти. И, конечно же, опции, которые разберем на примерах.
Примеры использования команды locate.
Давайте найдем все файлы с расширением .exe:
Если мы хотим вывести результаты поиска в одну строку, тогда используем следующую опцию -0 (это тире и ноль)
Но если мы ищем файл с названием «file», то не найдутся файлы с именами в другом регистре: File, FILE и т.д.
Чтобы поиск сделать регистронезависимым, то нужно использовать следующую опцию -i, то есть:
Если мы хотим узнать просто количество файлов, имеющих в имени «file», или количество файлов с определенным расширением, к примеру .exe, то нужно указать опцию -c:
Что означает, что в системе 10 файлов имеют расширение .exe.
Если мы хотим ограничить число выводимых файлов в поиске по заданному параметру, мы ставим опцию -n и число:
То есть, данная команда с опцией -n 2 выведет нам только 2 первых найденных файла:
И напоследок, locate лучше выполнять с опцией -e, тогда будут отображены файлы, которые существуют в системе. Даже тогда, когда запись о файле находится в базе данных, все равно будет осуществлена проверка физического нахождения файла в системе:
Полезные команды whereis и which.
У нас установлены программы в системе и чтобы узнать размещение бинарных файлов, исходных кодов и руководств, относящихся к установленной программе, можно выполнить команду whereis. Для примера найдем информацию о пакете google-chrome:
Команда же which отображает полный путь к установленной программе. Также в качестве примера возьмем google-chrome:
Источник: onecomp.ru
Ищем файлы в 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 можно переходить непосредственно к наглядным примерам. Ввиду обилия вариантов использования команды, приведены примеры будут не для всех переменных, а лишь для наиболее используемых.
Способ 1: Поиск по имени (опция -name)
Чаще всего пользователи для осуществления поиска по системе используют опцию -name, так что именно с нее и начнем. Разберем несколько примеров.
Поиск по расширению
Поиск по имени файла
Например, вы хотите отыскать в директории «/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).
Поиск файла по названию его группы
Выполнить поиск файла, который принадлежит определенной группе, точно так же просто — вам нужно всего-навсего заменить опцию «-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
Как можно заметить, нужный нам файл был найден. Но если вы не знаете, в какой директории он находится, можно провести поиск по всей системе, указав корневую директорию в начале команды:
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, однако инструкция общая для всех.
Допустим, вам необходимо найти в системе файлы под именем «Найди меня», также этих файлов в системе два: один в формате «.txt», а второй — «.odt». Чтобы их отыскать, необходимо изначально нажать на иконку меню (1), и в специальном поле для ввода (2) указать поисковый запрос «Найди меня».
Отобразится результат поиска, где будут показаны искомые файлы.
Но если в системе было бы много таких файлов и все они отличались расширениями, то поиск бы усложнился. Для того чтобы исключить в выдаче результатов ненужные файлы, например, программы, лучше всего воспользоваться фильтром.
Расположен он в правой части меню. Фильтровать вы можете по двум критериям: «Категории» и «Источники». Разверните эти два списка, нажав по стрелочке рядом с названием, и в меню уберите выделения с ненужных пунктов. В данном случае разумнее будет оставить лишь поиск по «Файлы и папки», так как мы ищем именно файлы.
Сразу можно заметить недостаток этого способа — нельзя детально настроить фильтр, как в «Терминале». Так, если вы ищите текстовый документ с каким-то названием, в выдаче вам могут показать картинки, папки, архивы и т. п. Но если вы знаете точное наименование нужного файла, то сможете быстро отыскать его, не изучая многочисленные способы команды «find».
Способ 2: Поиск через файловый менеджер
Второй способ имеет существенное преимущество. Используя инструмент файлового менеджера, можно произвести поиск в указанном каталоге.
Выполнить данную операцию проще простого. Вам необходимо в файловом менеджере, в нашем случае Nautilus’е, войти в папку, в которой предположительно находится искомый файл, и нажать кнопку «Поиск», расположенную в верхнем правом углу окна.
В появившееся поле для ввода вам нужно ввести предполагаемое название файла. Также не забывайте, что поиск может быть проведен не по целому имени файла, а лишь по его части, как показано на примере ниже.
Как и в предыдущем способе, в этом точно так же можно использовать фильтр. Для его открытия нажмите на кнопку со знаком «+», расположенную в правой части поля ввода поискового запроса. Откроется подменю, в котором вы можете из выпадающего списка выбрать искомый тип файла.
Заключение
Из всего вышесказанного, можно сделать вывод, что для проведения быстрого поиска по системе отлично подойдет второй способ, завязанный на использовании графического интерфейса. Если же необходимо задать множество параметров поиска, то незаменимой будет команда find в «Терминале».
Источник: lumpics.ru