LINUX.ORG.RU

Найти все утилиты по маске

 


0

1

Подскажите как можно найти все утилиты, присутствующие в системе? Без установки доп утилит и использования особенностей пакетных менеджеров дистрибутива, чтобы работало на любом(почти) дистрибутиве из коробки.

Желателен также компактный вызов программы, чтобы не было желания внести это в алиас (например, ручное перечисление в ls всех директорий вида bin или парсинг $PATH с помощью sed не подходит).

Возможно, есть компактные вызовы locate, grep, find про которые я не знаю?



Последнее исправление: NordeN (всего исправлений: 1)
Ответ на: комментарий от anonymous

нужно что-то простое по типу locate -perm +x

NordeN
() автор топика
Ответ на: комментарий от anonymous

В $PATH не одна директория, бывает что забыл полное название утилиты и помнишь только ее часть, искать по каждому каталогу довольно долго, либо нужно узнать все утилиты системы с похожим названием, конечно, можно вывести все что в PATH и отфильтровать grepом, но быть может есть решение проще?

NordeN
() автор топика
Последнее исправление: NordeN (всего исправлений: 1)
Ответ на: комментарий от NordeN

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

А клавиша для чего? Ну введи часть команды и нажми.

anonymous
()

find / -executable -type f

bass ★★★★★
()

В dmenu есть утилита, выдаёт менюшку для запуска софта, ищет екзешники так:

#!/bin/sh

cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}"
cache="$cachedir/dmenu_run"

[ ! -e "$cachedir" ] && mkdir -p "$cachedir"

IFS=:
if stest -dqr -n "$cache" $PATH; then
        stest -flx $PATH | sort -u | tee "$cache"
else
        cat "$cache"
fi
pavlick ★★
()

Кстати, а dmenu целиком не подойдёт? Выдаёт аккуратную менюшку, сокращает показываемые варианты во время ввода части имени, юзаю, удобно.

pavlick ★★
()
Ответ на: комментарий от ratvier

locate

Какой нехороший человек устанавливает это ненужно?

Во FreeBSD это часть базовой системы, плюс искаропки включен periodic на ребилд locate.db.

mord0d ★★★★★
()
Ответ на: комментарий от NordeN

бывает что забыл полное название утилиты и помнишь только ее часть

man -k ...

teod0r ★★★★★
()
Ответ на: комментарий от NordeN

бывает что забыл полное название утилиты и помнишь только ее часть

Помню последние три буквы.

anonymous
()
Ответ на: комментарий от anonymous

Неплохо, как оно работает? {} если и использовал, то в другом контексте немного

NordeN
() автор топика
Ответ на: комментарий от ratvier

шуршит дисководом

Что такое «дисковод»?

когда я не просил

Лично я ни разу в жизни не воспользовался locate. Ни на FreeBSD, ни на Linux (в Ubuntu он тоже вроде искаропки, или как минимум был).

mord0d ★★★★★
()
Ответ на: комментарий от pavlick

линукс…екзешники?! я знаю, только одну (на самом деле две, но вторая давно не в счёт) систему, где исполняемые файлы «екзешники». и это не * GNU/Linux. не надо нам этих чужих «ярлыков».

anonymous
()
Ответ на: комментарий от pavlick

внезапно… так и называют «исполняемые файлы».

«экзешник» это сленговое :) из экосистемы винды, в линуксах его аналог «эльф».

А как по православному

и я о том же – не надо в наш «монастырь» чужой «устав» тянуть.

anonymous
()
Ответ на: комментарий от anonymous

Ну exectutable != elf, либа ведь тоже elf. Но не настаиваю, если не принято употреблять это дрянное слово, то не буду.

pavlick ★★
()
Ответ на: комментарий от pavlick

в линуксах исполняемый файл != «бинарник», поэтому и «эльфов» упоминают в очень специфических случаях. в винде же 90% (как минимум) исполняемых файлов с которыми имеет дело пользователь именно *.exe отсюда и появился этот самый «экзешник». я подозреваю, что за пределами рунета подобных терминов никто не изобретает.

либа ведь тоже elf

внезапно-2 :) и *.exe, и *.dll являются файлами формата PE

anonymous
()
Ответ на: комментарий от anonymous

в винде же 90% (как минимум) исполняемых файлов с которыми имеет дело пользователь именно *.exe

Иметь дело, это что? Мой виндовый хомячный бин. exe явно не 90%


 0 037 >
 0 037 > foreach ($ext in '*.exe', '*.ps1', '*.cmd','*.vbs','*.js')
       : {
       :    "$ext : " + (gci $HOME\bin $ext -rec).count
       : }
*.exe : 98
*.ps1 : 70
*.cmd : 27
*.vbs : 0
*.js : 8
 0 038 >
 0 038 >

anonymous
()
Ответ на: комментарий от anonymous

я-то не считал, ибо не где // видимо, мои стереотипы устарели

anonymous
()
Ответ на: комментарий от anonymous

а *.ps1 твои, «самописные»?

Да. Справедливости ради, сейчас посмотрел, под счет попали залежи ненужного хлама, шаблоны, дублирующие друг друга, а-ля конвертации ini в xml, узко-специализированные на одну конкретную задачу и т.д. Реально используемых штук пятнадцать и еще несколько функций, которые загружаются из $profile (аналог ~/.bashrc) при запуске новой сессии.

anonymous
()

fzf - недавно всплывала на форуме

$ find / -executable -type f 2>/dev/null | fzf

superuser ★★★★☆
()
Ответ на: комментарий от anonymous

Справедливости ради

моя категоричность про «over 90%» основана на наблюдених за ограниченной популяцией «хомячков» с оффтопиком ) – это как, 5 МП фотографии, сделанные 0.3 МП вебкой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.