Существует ли в сети набор команд Linux с описаниями?
У меня есть список команд, которые я получил с помощью alt! с 1947 командами в списке. Я помещаю их в файл, но мне нужно написать, что делает каждая команда, используя команду whatis
, а затем скопировать результат рядом с командой в текстовый документ.
Есть ли более простой способ создать этот список?
Если ваша цель - получить документ со списком выходных данных whatis для каждой системной команды на вашем компьютере, выполните:
find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis > command-encyclopedia.txt
2>&1
к этой команде 2> dark-commands.txt
вместо Фактически , чтобы быть правильной энциклопедией, вы захотите также отсортировать ее!
find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis | sort > command-encyclopedia.txt
Еще лучше, сделайте ее интерактивной возможностью поиска (спасибо за предложение @Doogfar!):
find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis | sort | less
Теперь используйте / kbd> для поиска вперед и ? Kbd> для поиска назад или Ctrl kbd> + F kbd> / B kbd> пролистывать вперед и назад в своей энциклопедии.
Подсказка: если вы хотите сэкономить при наборе текста каждый раз, когда вам нужна командная энциклопедия, поместите ее в функцию оболочки, как описано в этого ответа .
Перечисление всех возможных команд не очень полезно, но это можно сделать довольно просто.
В оболочке bash
(это то, что вы получаете, когда открываете окно терминала), вы можете сделать это с завершением bash. Введите which
(включая пробел в конце) и дважды нажмите Tab kbd>.
Тогда вам будет предложено что-то вроде:
Display all 3734 possibilities? (y or n)
Нажмите y kbd>. Вы можете прокрутить список команд вниз, нажав Пробел kbd>. Нажмите q kbd> в любое время, чтобы покинуть список.
Этот способ просмотра списка неудобен, потому что вы можете двигаться только вниз по списку, а не вверх. Чтобы создать файл, содержащий список, запустите:
script ~/Desktop/command-list.txt
Это создаст список в файле с именем command-list.txt
, расположенным на вашем рабочем столе. Вы можете изменить это соответственно. Если вы просто запустите
script
, он поместит его в файл с именем typescript
в текущем каталоге.
Команда script
записывает весь текст в Терминале. Поэтому после запуска script
введите which
(с пробелом, как и раньше), дважды введите Tab kbd> и нажмите y kbd> при появлении запроса.
Теперь прокрутите список вниз, удерживая клавишу пробела. Как только вы дойдете до конца списка, вы вернетесь к строке, где вы набираете команду which
. Введите Ctrl kbd> + C kbd>, чтобы получить новую строку, затем запустите exit
. Теперь script
больше не записывает.
Чтобы просмотреть файл, откройте его в текстовом редакторе - в Lubuntu, Leafpad; в обычной Ubuntu, Gedit. (Эти редакторы установлены по умолчанию, но, конечно, вы можете установить и использовать любой текстовый редактор, который вам нравится.)
Когда вы его просматриваете, вы увидите недостатки, когда вас попросили More
. Но это не должно мешать вашей способности читать файл, искать в нем команды или выполнять поиск в файле, чтобы найти определенную команду (или команды, содержащие определенный текст).
Если хотите, вы можете отфильтровать эти строки. Если файл ~/Desktop/command-list.txt
, вы можете запустить:
grep -ve --More-- ~/Desktop/command-list.txt > ~/Desktop/command-list2.txt
Тогда command-list2.txt
на рабочем столе не будет этих строк.
:
будет первой командой в списке. Последняя указанная команда может отличаться в зависимости от системы (это зависит от того, какое программное обеспечение вы установили). В моей системе это zsyncmake
, но у вас его может не быть, или у вас может быть команда, стоящая после нее в алфавитном порядке.
Если хотите, в текстовом редакторе вы можете вручную удалить текст перед первой командой и после последней команды. (Это всего лишь несколько строк в начале и в конце; удалить его вручную намного проще, чем если бы вам пришлось удалить все --More--
строк вручную.)