Linux определяет, где находится исполняемый файл
Обновлено: 21.11.2024
Обратите внимание, что исполняемые файлы также могут находиться в каталогах /opt//bin и /opt//sbin. Кроме того, часто они есть и в /usr/libexec.
Где находится исполняемый файл в Linux?
Исполняемые файлы обычно хранятся в одном из нескольких стандартных каталогов на жестком диске (HDD) в Unix-подобных операционных системах, включая /bin, /sbin, /usr/bin, /usr/sbin и /usr/local. /бин. Хотя для их работы не обязательно находиться в этих местах, часто это более удобно.
Где путь к исполняемому файлу?
Щелкните правой кнопкой мыши ярлык приложения "Пуск" и выберите "Дополнительно" > "Открыть местоположение файла". Это откроет окно проводника, которое указывает на фактический файл ярлыка приложения. Щелкните правой кнопкой мыши по этому ярлыку и выберите «Свойства». Независимо от того, как вы нашли ярлык, появится окно свойств.
Как найти путь в терминале Linux?
Команда pwd отображает полный абсолютный путь к текущему или рабочему каталогу.
Как использовать find в Linux?
Команда find используется для поиска и поиска списка файлов и каталогов на основе условий, которые вы указываете для файлов, соответствующих аргументам. Команда find может использоваться в различных условиях, например, вы можете искать файлы по разрешениям, пользователям, группам, типам файлов, дате, размеру и другим возможным критериям.
Как мне использовать where в Linux?
Синтаксис команды прост: вы просто вводите whereis, а затем название команды или программы, о которой хотите узнать больше. На рисунке выше показан исполняемый файл netstat (/bin/netstat) и расположение справочной страницы netstat (/usr/share/man/man8/netstat.
Как создать путь к исполняемому файлу в Linux?
- Создайте папку bin в своем домашнем каталоге. …
- Добавьте ~/bin в PATH для всех сеансов Bash (оболочка по умолчанию, используемая внутри терминала). …
- Добавьте либо сами исполняемые файлы, либо символические ссылки на исполняемый файл в ~/bin.
Что такое путь к исполняемому файлу Windows?
Системный путь Windows сообщает вашему компьютеру, где он может найти определенные каталоги, содержащие исполняемые файлы. Например, ipconfig.exe находится в каталоге C:WindowsSystem32, который по умолчанию является частью системного PATH.
Где указать путь в Linux?
- Перейдите в свой домашний каталог. cd $HOME.
- Откройте файл . файл bashrc.
- Добавьте в файл следующую строку. Замените каталог JDK именем вашего каталога установки Java. экспорт PATH=/usr/java/ /bin:$PATH.
- Сохраните файл и выйдите. Используйте команду source, чтобы заставить Linux перезагрузить файл .
Как мне навсегда добавить свой путь?
Чтобы сделать изменение постоянным, введите команду PATH=$PATH:/opt/bin в ваш домашний каталог . файл bashrc. При этом вы создаете новую переменную PATH, добавляя каталог к текущей переменной PATH, $PATH .
Как мне найти свой путь?
Выберите «Пуск», выберите «Панель управления». дважды щелкните «Система» и выберите вкладку «Дополнительно». Щелкните Переменные среды. В разделе «Системные переменные» найдите переменную среды PATH и выберите ее.
Обратите внимание, что исполняемые файлы также могут находиться в каталогах /opt//bin и /opt//sbin. Кроме того, часто они есть и в /usr/libexec.
Где находится исполняемый файл в Linux?
Исполняемые файлы обычно хранятся в одном из нескольких стандартных каталогов на жестком диске (HDD) в Unix-подобных операционных системах, включая /bin, /sbin, /usr/bin, /usr/sbin и /usr/local. /бин. Хотя для их работы не обязательно находиться в этих местах, часто это более удобно.
Где находится bash EXE?
Bash.exe находится в подпапке папки профиля пользователя (обычно это C:UsersUSERNAMEAppDataLocalBeeline Network Managerupdaterbin или C:UsersUSERNAMELocal SettingsApplication DataBeeline Network Managerupdaterbin).
Где находится исполняемый файл?
Найти EXE-файлы в Windows 10
- Если ярлык находится на панели задач, щелкните его правой кнопкой мыши, затем еще раз щелкните правой кнопкой мыши его имя и выберите "Свойства".
- После выбора «Свойства» откроется окно «Свойства». …
- При этом проводник откроется прямо в папке с EXE-файлом.
Как использовать find в Linux?
Команда find используется для поиска и поиска списка файлов и каталогов на основе условий, которые вы указываете для файлов, соответствующих аргументам. Команда find может использоваться в различных условиях, например, вы можете искать файлы по разрешениям, пользователям, группам, типам файлов, дате, размеру и другим возможным критериям.
Как проверить, является ли файл исполняемым в терминале Linux?
Если вы знаете путь к командному файлу, используйте оператор if -x /path/to/command.Если для команды установлено разрешение на выполнение ( x ), она является исполняемой.
Как вернуться к git bash?
«Как вернуться на один каталог в git bash» Code Answer
- Чтобы перейти в домашний каталог, используйте «cd» или «cd ~»
- Чтобы перейти на один уровень каталога вверх, используйте «cd ..»
- Чтобы перейти к предыдущему каталогу (или обратно), используйте «cd -»
- Чтобы перейти в корневой каталог, используйте «cd /»
Как получить root права в Git bash?
Чтобы найти его, введите cd / , а затем pwd -W . Кроме того, в меню «Пуск» щелкните правой кнопкой мыши значок Git Bash и выберите расположение открытого файла. Это может быть что-то вроде C:UsersnameAppDataLocalProgramsGit , mingw64 в этом каталоге — это ваш корень.
Есть ли в Windows 10 bash?
Bash в Windows — это новая функция, добавленная в Windows 10. Microsoft объединилась с Canonical, также известной как создатели Ubuntu Linux, для создания этой новой инфраструктуры в Windows, которая называется подсистемой Windows для Linux (WSL). Он позволяет разработчикам получить доступ к полному набору командной строки и утилит Ubuntu.
Как запустить исполняемый файл в Linux?
Это можно сделать, выполнив следующие действия:
Как быстро найти исходные файлы?
Чтобы просмотреть расположение исходного файла, на которое указывает ярлык, щелкните ярлык правой кнопкой мыши и выберите «Открыть расположение файла». Windows откроет папку и выделит исходный файл. Вы можете увидеть путь к папке, в которой находится файл, в верхней части окна проводника Windows.
Как создать EXE-файл?
Как создать EXE-пакет:
- Выберите нужную папку программного обеспечения в библиотеке программного обеспечения.
- Выберите задачу «Создать пакет приложения»> «EXE-пакет» и следуйте указаниям мастера.
- Введите имя пакета.
- Выберите исполняемый файл, например файл setup.exe. …
- Укажите параметры выполнения в параметрах командной строки.
Как составить список каталогов в Linux?
См. следующие примеры:
- Чтобы вывести список всех файлов в текущем каталоге, введите следующее: ls -a Это список всех файлов, включая. точка (.) …
- Чтобы отобразить подробную информацию, введите следующее: ls -l chap1 .profile. …
- Чтобы отобразить подробную информацию о каталоге, введите следующее: ls -d -l .
Какое использование awk в Linux?
Awk – это утилита, которая позволяет программисту писать крошечные, но эффективные программы в виде операторов, определяющих текстовые шаблоны, которые необходимо искать в каждой строке документа, и действия, которые необходимо предпринять при обнаружении совпадения. найти в строке. Awk в основном используется для сканирования и обработки шаблонов.
Как составить список файлов в Linux?
Самый простой способ получить список файлов по имени – это просто вывести их список с помощью команды ls. В конце концов, список файлов по имени (буквенно-цифровой порядок) используется по умолчанию. Вы можете выбрать ls (без подробностей) или ls -l (много подробностей), чтобы определить свое представление.
Какой тип параметра/флага можно использовать с командой поиска Unix для поиска исполняемых файлов?
Не все реализации find одинаковы. Вариант, рекомендованный @sje397 и @William, может быть недоступен. Лучше использовать принятое решение, показанное ниже.
Мне не нравятся все показанные ниже предложения, основанные на правах доступа к файлам. Аргументация: для моей операционной системы GNU (Ubuntu) можно установить флаг «x» (исполняемый), например, для текстового файла ASCII. Никакие мимики не помешали успешному завершению этой операции. Нужна всего лишь небольшая ошибка/ошибка для нескольких непреднамеренных файлов, чтобы получить назначенный флаг x. Поэтому решения gniourf_gniourf — мои любимые. Однако у него есть тот недостаток, что для кросс-компилируемых исполняемых файлов требуется эмулятор или целевое устройство.
10 ответов 10
В версиях find для GNU вы можете использовать -executable :
Для BSD-версий find вы можете использовать -perm с + и восьмеричной маской:
В этом контексте "+" означает "любой из этих битов установлен", а 111 – это биты выполнения.
Обратите внимание, что это не идентично предикату -executable в GNU find. В частности, -executable проверяет, что файл может быть запущен текущим пользователем, а -perm +111 просто проверяет, установлены ли какие-либо разрешения на выполнение.
Старые версии GNU find также поддерживают синтаксис -perm +111, но с версии 4.5.12 этот синтаксис больше не поддерживается. Вместо этого вы можете использовать -perm /111, чтобы получить такое поведение.
@sourcejedi Спасибо. На самом деле я говорил только о не-GNU-версиях find (в частности, BSD), но более старые версии GNU find на самом деле тоже поддерживали этот синтаксис. В более новых версиях вам придется использовать / вместо + . Подробнее см. в обновленном ответе.
Мне потребовалось некоторое время, чтобы понять последствия "не идентично предикату -executable" и "просто проверяет, установлены ли какие-либо разрешения на выполнение": это означает, что -perm +111 может привести к ложные срабатывания, то есть файлы, которые текущий пользователь не может выполнить на самом деле. Невозможно эмулировать -executable только путем проверки разрешений, потому что необходимо связать идентификатор пользователя и группы файла с текущим пользователем.
Спасибо @gniourf_gniourf за устранение фундаментального заблуждения.
В этом ответе делается попытка представить обзор существующих ответов и обсудить их тонкости и относительные достоинства, а также предоставить справочную информацию, особенно в отношении переносимости.
Поиск исполняемых файлов может относиться к двум различным вариантам использования:
- ориентированный на пользователя: поиск файлов, исполняемых текущим пользователем.
- ориентированный на файл: поиск файлов, у которых установлен (один или несколько) битов разрешения на выполнение.
Обратите внимание, что в любом сценарии может иметь смысл использовать find -L . вместо того, чтобы просто найти. чтобы также найти символические ссылки на исполняемые файлы.
Обратите внимание, что простейший случай, ориентированный на файлы, — поиск исполняемых файлов с установленным битом разрешений для исполняемых файлов для ВСЕХ трех участников безопасности (пользователь, группа, другое) — будет обычно, но не обязательно дают те же результаты, что и сценарий, ориентированный на пользователя, и важно понимать разницу.
Ориентирован на пользователя ( -executable )
В принятом ответе похвально рекомендуется -executable , ЕСЛИ доступна GNU find.
- GNU find поставляется с большинством дистрибутивов Linux
- Напротив, платформы на основе BSD, включая macOS, поставляются с поиском BSD, который менее эффективен.
Альтернатива поиска BSD, предлагаемая принятым ответом ( -perm +111 ), отвечает на другой вопрос, ориентированный на файл (как сам ответ гласит).
-
Использование только -perm для ответа на вопрос, ориентированный на пользователя, невозможно, поскольку необходимо связать файлы идентификатор пользователя и группы соответствует текущему пользователю, тогда как -perm может проверять только разрешения файла.
Используя только функции поиска POSIX, на вопрос нельзя ответить без привлечения внешних утилит.Таким образом, лучшее, что может сделать -perm (само по себе), это аппроксимация -executable . Возможно, более близкое приближение, чем -perm +111, это -perm -111 , чтобы найти файлы, у которых бит исполняемого файла установлен для ВСЕХ участников безопасности (пользователь, группа, другое) - это кажется мне типичный реальный сценарий. В качестве бонуса он также совместим с POSIX (используйте find -L для включения символических ссылок, см. объяснение ниже):
Ответ gniourf_gniourf представляет собой верный переносимый эквивалент -executable с использованием -exec test -x <> \; , хотя и в ущерб производительности.
Объединение -exec test -x <> \; с -perm +111 (т. е. файлы с установленным по крайней мере одним битом исполняемого файла) могут повысить производительность, поскольку exec не нужно вызывать для каждого файла (далее используется POSIX-совместимый эквивалент BSD find -perm +111 / GNU find -perm /111 ; объяснение см. ниже):
Ориентирован на файлы ( -perm )
- Чтобы ответить на файловыевопросы, достаточноиспользовать POSIX-совместимый первичный параметр -perm (известный как тест в GNU найти терминологию).
- -perm позволяет проверить любые права доступа к файлу, а не только исполняемый файл.
- Разрешения указываются как в восьмеричном, так и в символьном режимах. Восьмеричные режимы — это восьмеричные числа (например, 111 ), тогда как символьные режимы — это строки (например, a=x ).
- Символические режимы идентифицируют участников безопасности как u (пользователь), g (группа) и o (другой) или a для обозначения всех трех. Разрешения выражаются как x для исполняемого файла, например, и назначаются участникам с использованием операторов = , + и - ; полное обсуждение, включая восьмеричные режимы, см. в спецификации POSIX для утилиты chmod.
- В контексте поиска:
- Префикс - (например, -ug=x ) к режиму означает: найти файлы, которые имеют все разрешения, указанные (но совпадающие файлы могут иметь дополнительные разрешения).
- Отсутствие префикса (например, 755 ) означает: поиск файлов с этим полным, точным набором разрешений.
- Предупреждение: и GNU find, и BSD find реализуют дополнительный, нестандартный префикс с логикой ЛЮБОЙ-из-указанных-разрешений-наборов, но делают это с несовместимым синтаксис:
- Найти BSD: +
- Найти GNU: / [2]
Примеры файловых команд
- Следующие примеры совместимы с POSIX, то есть они должны работать в любой реализации, совместимой с POSIX, включая поиск GNU и поиск BSD; в частности, для этого требуется:
- НЕ используйте префиксы нестандартного режима + или / .
- Использование форм POSIX для основных логических операторов:
- ! для НЕ (GNU find и BSD find также разрешают -not ); Обратите внимание, что \! используется в примерах для защиты ! из расширений истории оболочки
- -a для AND (GNU find и BSD find также допускают -and )
- -o для OR (GNU find и BSD find также допускают -or )
- С префиксом режима - операторы = и + могут использоваться взаимозаменяемо (например, -u=x эквивалентно -u+x - если вы не примените -x позже, но в этом нет смысла). ли>
- Используйте , для объединения частичных режимов; Логика И подразумевается; например, -u=x,g=x означает, что должны быть установлены и пользовательский и исполняемый бит группы.
- Режимы не могут сами выражать отрицательное соответствие в смысле "сопоставление, только если этот бит НЕ установлен"; вы должны использовать отдельное выражение -perm с основным НЕ, ! .
- -L указывает find оценивать цели символических ссылок, а не сами символические ссылки; поэтому без -L параметр -type f полностью игнорировал бы символические ссылки.
[1] Описание -executable из man find начиная с GNU find 4.4.2:
Соответствует исполняемым файлам и каталогам, доступным для поиска (в смысле разрешения имени файла). При этом учитываются списки контроля доступа и другие артефакты разрешений, которые тест -perm игнорирует. В этом тесте используется системный вызов access(2), поэтому его могут обмануть NFS-серверы, выполняющие сопоставление UID (или сглаживание корневого каталога), поскольку многие системы реализуют access(2) в клиентском ядре и поэтому не могут использовать информация об отображении UID, хранящаяся на сервере. Поскольку этот тест основан только на результате системного вызова access(2), нет гарантии, что файл, для которого этот тест прошел успешно, действительно может быть выполнен.
[2] Версии поиска GNU старше 4.5.12 также допускали префикс + , но сначала он был признан устаревшим и в конечном итоге удален, поскольку сочетание + с символическими режимами, вероятно, дает дает неожиданные результаты из-за того, что интерпретируется как точная маска разрешений. Если вы (а) используете версию до 4.5.12, и (б) ограничиваете себя восьмеричными режимами только вы можете обойтись без использования + с как поиском GNU, так и поиском BSD, но это не очень хорошая идея.
По мере того, как вы набираете опыт работы с командной строкой в Linux, возникает все больше и больше вопросов. Один из них — как легко и эффективно находить файлы в Linux. В этой статье я перечислю 3 распространенных способа поиска файлов в командной строке Linux.
1. Фильтрация файлов по имени в каталоге с помощью grep
Это самый простой способ найти файлы (и папки) в системах Linux. grep — это программа, которая поставляется со всеми системами Linux и FreeBSD (и даже с macOS). grep используется для фильтрации данных с помощью регулярных выражений. Хотя данные могут быть любыми, от содержимого файла до вывода из ping , я покажу вам, как найти файлы и папки в одной конкретной папке с помощью grep .
Предположим, вы хотите вывести список всех устройств хранения данных, подключенных к вашему компьютеру. Если вы зайдете в папку /dev и нажмете в ней ls, то получите довольно много устройств:
Но мы специально ищем жесткие диски. Поскольку они начинаются с sd , мы можем направить вывод ls в grep и filter:
Если вы ищете SSD-устройства, вы можете отфильтровать их с помощью nvme:
Если вы не знакомы с | символ, не паникуйте. Он называется оператор конвейера, и все, что он делает, — это берет вывод первой команды и передает его второй команде.
Итак, теперь вы знаете, как использовать grep для поиска файлов. Но это еще не все! Вы также можете использовать grep для поиска содержимого в файле. Например, вы можете запустить файл cat и передать его grep :
Здесь я только что показал вам основы grep и то, как использовать его для поиска файлов в Linux. Чтобы узнать больше об этом замечательном инструменте, запустите man grep .
2. Поиск файлов с помощью команды find
Наиболее надежной командой для поиска файлов в системе Linux является команда find. У него много функций, но я рассмотрю здесь самые популярные варианты использования. Если вы хотите узнать больше, запустите man find .
<р>1.Найдите файл по имени: этот, вероятно, используется чаще всего. Чтобы использовать его, запустите find-имя . Например:
<р>2. Поиск по типу: иногда бывает удобно найти файлы только определенного типа. Для этого можно использовать аргумент -type. Для этого требуется файл одного из следующих типов:
f — обычный файл
d — каталог
l — символическая ссылка
c — символьные устройства
b — блочные устройства
Например, чтобы найти все блочные устройства в системе, вы должны запустить find / -type b . Аргумент -name, конечно, может работать вместе с -type . <р>3. Поиск по размеру: если у вас мало места, вы можете специально искать большие файлы в вашей системе. Для этого можно использовать аргумент -size. Ожидается размер файла с префиксом + (для поиска файлов меньшего размера используйте - ) и заканчивающийся одним из c (байтов), k, M, G . Например, чтобы найти все файлы размером более 2 гигабайт, запустите find / -size +2G .3. Найти исполняемые файлы
Когда вы вводите в оболочке команду, например python , оболочка ищет список известных папок с двоичными файлами и выполняет ее. Есть ли способ получить точный путь к исполняемому файлу? Конечно есть.
Команда, которая возвращает абсолютный путь к исполняемому файлу. Например, вот путь к экземпляру Python на моем ПК:
Если вы запустите python , он фактически выполнит /home/mk/anaconda3/bin/python . По умолчанию возвращается только один основной результат. Если вы хотите просмотреть остальные, используйте аргумент -a:
Заключительные примечания
Спасибо за прочтение, надеюсь, теперь у вас есть представление о том, как искать файлы в системе Linux. Дайте мне знать в комментариях о ваших любимых советах по поиску файлов в Linux!
Читайте также: