The GNU find command searches files within a directory and its subdirectories according to several criteria such as name, size and time of last read/write. By default find prints the name of the located files but it can also perform commands on these files.
- find — search for files in a directory hierarchy, whether its a database or not
- locate — list files in databases that match a pattern, i.e. find inside updatedb’s list
- updatedb — update a file name database, i.e. collection of db’s only, such as sqlite
- xargs — build and execute command lines from standard input — usually you do this directly w/o xargs
This wiki page will be only be dealing with find while also briefly mentioning xargs. Hopefully locate and updatedb will be covered on their own page in the near future. «find», like «locate», can find database-files as well, but «locate» is more specialized for this task. You would run updatedb before using locate, which relies on the data produced by «updateDB».
Установка драйверов в Linux
The Basics
find ~ -name readme.txt
will find this file below the home directory. find works incredibly fast on the second run! You can search the whole / root-dir-tree in a mere approx. 3 seconds (on second run, when cache is effective) on a 500 GB ext4-fs hard disk.
The syntax for using find is:
find [-H] [-L] [-P] [path. ] [expression]
- -H : Do not follow symbolic links, except while processing the command line arguments.
- -L : Follow symbolic links.
- -P : Never follow symbolic links: the default option.
The option [path. ] refers to the particular location that you wish to search, whether it be your $HOME directory, a particular directory such as /usr, your present working directory which can simply be expressed as ‘.’ or your entire computer which can be expressed as ‘/’.
The option [expression] refers to one or a series of options which effect the overall option of the find command. These options can involve a search by name, by size, by access time or can also involve actions taken upon these files.
Locating Files by Name
The most common use of find is in the search for a specific file by use of its name. The following command searches the home directory and all of its subdirectories looking for the file mysong.ogg:
find $HOME -name ‘mysong.ogg’
It is important to get into the habit of quoting patterns in your search as seen above or your search results can be a little unpredictable. Such a search can be much more sophisticated though. For example if you wished to search for all of the ogg files in your home directory, some of which you think might be named ‘OGG’ rather than ‘ogg’, you would run:
find $HOME -iname ‘*.ogg’
Here the option ‘-iname’ performs a case-insensitive search while the wildcard character ‘*’ matches any character, or number of characters, or zero characters. To perform the same search on your entire drive you would run:
Основы Linux. Работа с файлами и каталогами
sudo find / -iname ‘*.ogg’
This could be a slow search depending on the number of directories, sub-directories and files on your system. This highlights an important difference in the way that find operates in that it examines the system directly each time unlike programs like locate or slocate which actually examine a regularly updated database of filnames and locations.
Locating Files by Size
Another possible search is to search for files by size. To demonstrate this we can again search the home directory for Ogg Vorbis files but this time looking for those that are 100 megabytes or larger:
find $HOME -iname ‘*.ogg’ -size +100M
There are several options with -size, I have used ‘M’ for ‘megabytes’ here but ‘k’ for ‘kilobytes’ can be used or ‘G’ for ‘Gigabytes’. This search can then be altered to look for files only that are less than 100 megabytes:
find $HOME -iname ‘*.ogg’ -type f -size -100M
Are you starting to see the power of find, and the thought involved in constructing a focused search? If you are interested there is more discussion of these combined searches in the Advanced Usage section below.
Locating Files by Access Time
It is also possible to locate files based on their access time or the time that they were last used, or viewed by the system. For example to show all files that have not been accessed in the $HOME directory for 30 days or more:
find $HOME -atime +30
This type of search is normally more useful when combined with other find searches. For example one could search for all ogg files in the $HOME directory that have an access time of greater than 30 days:
find $HOME -iname ‘*.ogg’ -atime +30
The syntax works from left to right and by default find joins the 2 expressions with an implied «and». This is dealt with in more depth in the section below entitled «Combining Searches».
Advanced Usage
The sections above detail the most common usage of find and this would be enough for most searches. However there are many more possibilities in the usage of find for quite advanced searches and this sections discusses a few of these possibilities.
Combining Searches
It is possible to combine searches when using find with the use of what is known in the find man pages as operators. These are
find ~ -name ‘xx*’ -and -not -name ‘xxx’
unless you prefer the cryptic syntax below (-o instead of -or)
The classic example is the use of a logical AND syntax:
find $HOME -iname ‘*.ogg’ -size +20M
This find search performs initially a case insensitive search for all the ogg files in your $HOME directory and for every true results it then searches for those with a size of 20 megabytes and over. This contains and implied operator which could be written joined with an -a. This search can be altered slightly by use of an exclamation point to signify negation of the result:
find $HOME -iname ‘*.ogg’ ! -size +20M
This performs the same search as before but will look for ogg files that are not greater than 20 megabytes. It is possible also to use a logical OR in your find search:
find $HOME -iname ‘*.ogg’ -o -iname ‘*.mp3’
This will perform a case insensitive search in the $HOME directories and find all files that are either ogg OR mp3 files. There is great scope here for creating very complex and finely honed searches and I would encourage a through reading of the find man pages searching for the topic OPERATORS.
Acting On The files
One advanced but highly useful aspect of find usage is the ability to perform a user-specified action on the result of a find search. For example the following search looks for all ogg vorbis files in the $HOME directory and then uses -exec to pass the result to the du program to give the size of each file:
find $HOME -name ‘*.ogg’ -type f -exec du -h ‘<>’ ;
This syntax is often used to delete files by using -exec rm -rf but this must be used with great caution, if at all, as recovery of any deleted files can be quite difficult.
Using xargs
xargs feeds here-string / as parameter («argument») to the ls command
When using a really complex search it is often a good idea to use another member of the findutils package: xargs. Without its use the message Argument list too long could be seen signalling that the kernel limit on the combined length of a commandline and its environment variables has been exceeded. xargs works by feeding the results of the search to the subsequent command in batches calculated on the system capabilities (based on ARG_MAX). An example:
find /tmp -iname ‘*.mp3’ -print0 | xargs -0 rm
This example searches the /tmp folder for all mp3 files and then deletes them. You will note the use of both -print0 and xargs -0 which is a deliberate strategy to avoid problems with spaces and/or newlines in the filenames. Modern kernels do not have the ARG_MAX limitation but to keep your searches portable it is an excellent idea to use xargs in complex searches with subsequent commands.
More Information
- Linux Basics: A gentle introduction to ‘find’ — An Ubuntu Forums guide that was incorporated into this wiki article with the gracious permission of its author.
- Using Find — Greg’s Wiki — A very comprehensive guide to using find, along similar lines to this guide, that is well worth reading through.
- Linux Tutorial: The Power of the Linux Find Command The amazing Nixie Pixel gives a video demonstration of find.
find (последним исправлял пользователь p5B3C87CE 2015-02-24 00:21:33)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник: help.ubuntu.com
Как найти установленную программу в linux mint
Файловая система Linux очень сильно отличается от того, к чему привык пользователь Windows. Тут нет привычных дисков с их буквенным обозначением и нет папки Program Files.
Файловая система Линукс располагает папки по типу дерева, которое идет от некого корня.
И главное, любая папка может физически находится на другом диске, как логическом, так и физическом.
Скажем папку Home ставят на другой диск, папка хранит все документы пользователя и в случае переустановки системы, они так и останутся.
Надо быть справедливым, такая возможность есть и у Виндоувс, и правильно так поступать(расскажу, если кто не знает), да и всякие свои файлы и программы обычно люди ставят на другой, не системный диск.
И так, мы отвлеклись. Каждая папка Linux хранит свой тип файлов:
/etc — здесь хранятся файлы разных конфигураций, настройки системы, скажем файл fstab хранит информация ваших файловых системах, в нем задаеться информация как их монтировать и что с ними делать. В былые времена я руками туда вписывал разделы виндусевских дисков, сейчас, благо, все монтируется автоматически.
/dev это папка файлов устройств, да в Линуксе каждое устройство это файл.
/boot это загрузчик
/media сюда монтируются съемные носители
Но это все тема отдельная, нас интересует именно куда программы то ставятся.
Тут я имею ввиду программы, которые ставит установщик из стандартных пакетов.
/usr вот в эту папку идут все программы пользователя. Там содержаться и исполняемые файлы, и библиотеки и прочее.
Когда вы скачиваете установочный пакет, то он представляет из себя архив с файлами программы и файл, который указывает установщику, куда положить эти файлы. Существует четкое распределение файлов по папкам, но последнее время, это не всегда так.
Ну ладно, продолжим.
/usr/bin — сюда помещаются исполняемые файлы программ
usr/lib — а здесь библиотеки, которые нужны программе
usr/sbin — сюда помещаются исполняемые файлы от имени администратора
/usr/share — прочие файлы программ
Как я писал выше, что существует правило распределения файлов, но оно не всегда соблюдается.
/opt ряд программ устанавливается в эту папку, там создаеться папка программы, в которой все ее файлы, по типу, как это происходит в виндоувс. Изначально это папка для установки проприетарных программ.
Но некоторые программы «идут еще дальше и , как сказать, ставят себя в папку /home/имя_пользователя/opt
Узнать, куда разместились файлы программы можно командой:
А через пакетный менеджер можно получить более подробную информацию, включая все графические файлы и тд
Читал статью что программы устанавливаются в корневой раздел «/» но потом нашел другую информацию что устанавливаются в «/home» в линукс сообществе в вк, так куда?
Как мэйнтейнеру пакета в голову стукнет.
phoen ★★ ( 21.09.20 13:22:33 )
Последнее исправление: phoen 21.09.20 13:22:43 (всего исправлений: 1)
Те что из репозитария ставятся в /, сторонние если юзер хочет может поставить в /home или в /.
обычно, пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin, вспомoгательные файлы программ хранятся в /usr/lib, /usr/share, /home и т.д. Сторонние программы могут устанавливаться целиком в /opt
Если вкратце, то куда угодно.
нормальные пакеты равномерно размазываются по файловой системе, а всё остальное — куда угодно.
кстати, а какой смысл в таком равномерном размазывании?
пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin
Вообще-то нет. В /usr/local идёт самосбор. Из пакетов туда вообще не ставят в нормальной ситуации.
чтобы не искать конфиг и исполняемый файл в новой жопе очередного изобретательного разработчика?
кстати, а какой смысл в таком равномерном размазывании?
Есть дистрибутивы, они разные в разных места установки разные, всем заведует менеджер пакетов apt в Debian, pacman в Arch, dnf в Fedora и так далее, соотвецтвенно форматы пакетов разные. Достаточно знать как пользоваться менеджером в любимом тебе дистрибутиве и всё.
Чаще всего программы устанавливаются в /usr/bin/ или в /usr/local/bin есть пользовательские каталоги для этого в особых случаях
/.local/bin/ например. Сторонее проприетарное ПО или же то которое не хочется совать в систему ставят уже руками в /opt/ На самом деле вариантов ещё много, у каждой цели установки свой смысл, просто иди и где то читай про это. И да порой конечно есть излишества.
В любом случае если не городить что-то самому то используй менеджер пакетов который в 99% случаев всё ставить в /usr/bin/ Что бы те было понятнее usr это User System Resources почти program files как в винде, только там один каталог где всё в кашу, а тут есть ещё дополнительное дробление и всё на свои полочки кидается и если знаешь что для чего всегда заранее знаешь что и где искать.
Есть ещё /bin это системные программы наиболее важные для функционирования системой. (Не совсем так, но считай так и есть)
Что бы ещё было понятнее, есть разные типы файлов в одной программе картинки, документация, примеры, конфигурационные фалйы, библиотеки и исполняемые файлы, при установке всё это расфасовывается не в 1 место, а в разные в зависимости от типа файла и его предназначения. И программа установленная как бы интегрируется с системой, сливается с ней в одно целое, а не как в винде в отдельном каталоге всё в кучу. И у того и у того есть и минусы и плюсы.
Изначально я планировал сделать подробный обзор программ, которые устанавливаются по умолчанию с Linux Mint Cinnamon и в предыдущем видео я начал с аудиоплеера Banshee, но комментарии пользователей к этому видео меня заставили передумать. Действительно, зачем затягивать этот курс подробным разбором программ? Ведь я и так планировал его в объеме 15-20 видео, а это уже 26-ое.
В общем, я принял решение сделать общий обзор установленных в Linux Mint программ, чтобы продемонстрировать, что уже после установки операционная система обладает всем функционалом для полноценной работы. Ну а если понадобится что-то дополнительно, то эти программы можно доустановить, но об этом в следующий раз.
С моей точки зрения, это один из лучших видеоплееров, существующих в настоящее время. Он доступен не только в Линукс и я им пользовался в Windows, а сейчас пользуюсь на Mac OS и на iPad.
Мне этот плеер еще нравится тем, что в нем можно подключать аудиодорожку и субтитры из отдельного файла, что очень удобно при изучении иностранного языка. Хотя такой функциональностью обладают и множество других программ этого класса.
Следующие две программы являются просмоторщиками изображений и предоставляют пользователям минимально необходимый функционал для просмотра и редактирования изображений.
Image Viewer является простым просмотрщиком без каких-либо наворотов, а с помощью gThumb можно поворачивать, зеркалить, подрезать или изменять размеры изображения. Также можно производить простейшую корректировку цветов, яркости и контрастности.
Программа Simple Scan предоставляет простейшие возможности для сканирования бумажных носителей информации, то есть книг, журналов и другой печатной продукции.
Ну и последняя программа из этого раздела относится к офисному пакету LibreOffice. Этот бесплатный офисный пакет является полноценным аналогом Microsoft Office.
Переходим к следующему разделу, в который вошли все программы офисного пакета LibreOffice.
Как я уже сказал ранее, его можно считать бесплатной альтернативой офисного пакета от Майкрософт, и программы, доступные здесь, являются, соответственно следующими альтернативами:
Приложение Calculator имеет стандартные математические функции и возможность включения различных режимом, например, можно переключиться в инженерный калькулятор.
Далее идет программа Character Map, позволяющая вставлять специальные нестандартные символы в текстовые документы.
Далее идет простой просмотрщик документов Document Viewer. Программа позволяет просматривать текстовые документы или PDF-файлы. Программа очень простая и шустрая.
Следующая утилита Font Viewer предоставляет нам доступ к установленным в системе шрифтам. По сути это тоже просмотрщик, позволяющий получить представление о том, как выглядит текст, написанный тем или иным шрифтом.
Далее идет простая утилита по созданию снимков, то есть фотографии экрана. С ее помощью можно сделать скриншот всего экрана, конкретного окна или выбранной области.
Следующая утилита позволяет записать образ диска на USB-носитель, то есть с помощью нее можно, например, создать загрузочную флешку для установки Линукс.
Далее идет справочная система Linux Mint и простейший текстовый редактор, аналог Блокнота в Windows.
Далее идет Терминал, о котором вскоре будет отдельное видео, затем идет файловый менеджер Nemo и утилита, позволяющая отформатировать флеш-накопитель.
Если вы бы хотели получить более детальный видео-обзор об одной из перечисленных в этом видео программ, напишите об этом в комментариях и я сделаю отдельные видео по наиболее востребованным программам.
Самый простой способ посмотреть все установленные программы/приложения в вашей системе, это обратиться к Центру приложений Ubuntu, значок которого отображается на панели Unity по умолчанию, в виде «авоськи» с буквой А в центре:
Кликните на кнопке в меню программы Установленные (указано стрелкой на верхнем снимке) и вы увидите перечень установленных программ по категориям:
Чтобы отобразить полный список программ, кликните внизу окна программы Показать хххх технических элементов и раскройте интересующую вас категорию, кликом на ней:
Для удаления программы достаточно активировать её, кликнуть на кнопке Удалить, ввести свой пароль и программа удалится из системы:
В данном варианте мы рассмотрим отображение и возможное удаление установленных программ в системе через системное меню Даш. Чтобы открыть меню Даш, кликните правой кнопкой на верхнем значке в панели Unity и в контекстном меню выберите Приложения:
Либо отрывисто нажмите клавишу Super (с логотипом Windows), после чего откроется системное меню:
Вы можете кликнуть в левом верхнем углу монитора на кнопке Максимизировать, для того чтобы раскрыть меню на весь экран (указано на верхнем снимке под цифрой 2) и просматривать установленные приложения:
Правый клик на значке приложения, открывает аннотацию с возможностями к данному приложению и двумя кнопками: Удалить, Запустить. Для удаления приложения достаточно нажать — Удалить, ввести пароль и приложение удалится:
Как известно, Linux системы, это прежде всего файлы. Установленные приложения и приложения в целом, это файлы, которые хранятся в файловой системе, отобразить которую можно в файловом менеджере Nautilus, установленном по умолчанию. Для того чтобы посмотреть установленные приложения, откройте файловый менеджер (второй значок сверху на панели Unity) и перейдите по следующему адресу: Компьютер (или Файловая система) — /usr/share/applications:
Вот здесь и хранятся ярлыки всех установленных приложений в системе. Вы можете запустить выбранное приложение из установленных, двойным кликом на значке, но удалить не сможете, т.к. в данном случае будет недостаточно прав на это действие. Чтобы удалить ярлык приложения из файлового менеджера и системы вообще, нужно прежде открыть Nautilus с правами администратора. Для этого выполните команду в терминале:
sudo nautilus /usr/share/applications
Введите пароль, после чего откроется папка с установленными приложениями, выберите приложение, правый клик на значке и в контекстном меню — Удалить. Приложение также удалится из системы:
В этом варианте мы рассмотрим установленные приложения в системе в расширенном инструменте, под названием Менеджер пакетов Synaptic. Synaptic не установлен в системе по умолчанию, но присутствует в Центре приложений Ubuntu, откуда вы можете установить его путём поиска, либо выполнить простую команду в терминале на установку:
sudo apt-get install synaptic
По окончании установки найдите и откройте Synaptic в меню, введя пароль:
После открытия Synaptic перейдите: Состояние ->Установленные, после чего вы увидите все установленные приложеня в вашей системе вместе с зависимостями, в алфавитном порядке:
Для удаления какого-то приложения введите его название в поле поиска, правый клик на строке с приложением и в контекстном меню выберите Отметить для удаления, либо Отметить для полного удаления, а затем нажмите кнопку Применить. И приложение/программа будет удалена/удалено:
Пятый вариант для просмотра всех установленных приложений — консольный или терминальный. Откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующую команду:
После выполнения данной команды, вы также увидите в окне терминала все установленные приложения в системе, в алфавитном порядке:
- Найдите ошибку в программе def zzz n
- Какая программа nero лучше
- Numa technology bios настройка
- Создать водопад в фотошопе
- Как называется тест поддержки браузером веб стандартов
Источник: kompyutery-programmy.ru
Как найти путь, где установлен JDK?
Я установил jdk1.7.0.rpm пакет в RHEL6.
Где я могу найти путь для выполнения моей первой Java-программы?
Возможный дубликат 18472 года
Привет, Мухаммед. Это не глупый вопрос, но тот, на который уже отвечали в нескольких местах — как этот или этот вопрос .
Просто PS: на MacOS Java обычно устанавливается в «/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home», где номер версии может отличаться.
Попробуйте любой из двух:
Для вашей первой Java-программы прочитайте этот урок:
Обратите внимание, что эти команды дают разные результаты. Если вы заинтересованы в пути без символьных ссылок, используйте whereis java.
Я не думаю, что это отвечает на вопрос. java Двоичный инсталлируются с JRE, но если вы разрабатываете вам нужен JDK, который не обязательно установлен в which java (в моем случае это / USR / BIN).
Вы можете перечислить установленные файлы с
rpm -ql packagename
Вы увидите где-нибудь bin каталог с java executable
Но если RPM JDK был правильно установлен, вы уже должны найти свой java путь.
javac MyFirstJavaClass.java
и если все компилируется
java MyFirstClass
(Если вы ничего не меняли, текущий каталог . уже должен быть в вашем пути к классам)
Это должен быть принятый ответ ИМО.
флаги об / мин
-q is short for —query -l is short for —list
пример
rpm -ql jdk1.8.0_20 | grep «jdk1.8.0_20/bin$»
/usr/java/jdk1.8.0_20/bin
Знание этого может быть желательным для установки пользовательской или прикладной $JAVA_HOME переменной. Это часто бывает необходимо , когда система имеет несколько версий Java , установленные или несколько дистрибутивов Java установлены, такие как OpenJDK и Oracle / Sun .
$JAVA_HOME пример
В ~/.bash_profile или связанном файле ( .bashrc , .zshrc , .cshrc , setenv.sh ), может быть использовано что — то похожее на ниже.
JAVA_HOME=’/usr/java/jdk1.8.0_20′ export JAVA_HOME PATH=»$JAVA_HOME/bin:$PATH» export PATH
Если вам нужен больший контроль над тем, где устанавливается Java, например, in /opt , тогда вместо RPM-файла можно использовать tarball.
Другие подобные вопросы, спрашивают о том, как найти любой бинарный файл или файл, в общем случае.
В общем, я настоятельно рекомендую использовать пакет mlocate для поиска файлов в файловой системе Linux на базе Red Hat.
На RHEL7 я использовал
locate openjdk
и это привело меня к /usr/lib/jvm/ каталогу, который содержал каталоги:
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/ jre/ jre-1.8.0/ jre-1.8.0-openjdk/ jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/ jre-openjdk/
Каждый из них содержит bin/java
Чтобы найти полный путь символической ссылки, используйте:
readlink -f $(which java)
** Примечание: я отвечаю здесь, так как это был первый результат в Google
Это дало мне в основном JDK6, хотя java -version дало мне 1,8. Была одна ссылка на папку JDK8 в верхней части.
Источник: qastack.ru