... и раз уж речь зашла о bash

... (чтоб тему отдельно не заводить)...
то решил я вписать для памятки себе (и может ещё кому пригодится) несколько
не очевидных приёмов работы с bash с консоли, ввод комбинаций, которые сильно ускоряют работу с командной строкой:
1. "дополнение командной строки" <Tab> ... ну, это все знают
Но вот то, что 2-х кратным <Tab><Tab> в начале командной строки выведет список
всех команд - это упускается из виду ... ну, всех это многовато будет, но вот если забыл написание какой-то редко используемой команды (забыл как touch пишется

), то сильно помогает - вводим начальные символы команды (которые ещё помнятся) + <Tab> (или <Tab><Tab>):
Код: Выделить всё
[olej@notebook ~]$ t<Tab><Tab>
Display all 156 possibilities? (y or n)
t1libconfig tcpd texhash tiffinfo transmission
tabs tcpdump texlinks tiffmedian transmissioncli
tac tcpslice texsis tiffset transmission-remote
tagtool tcsh text2wave tiffsplit trap
tail tctmgr tfmtodit tifftopnm tree
tailf tctmttest tftopl time trial
talk tcttest tftp timeout troff
tangle tcucodec tgatoppm times true
tap2deb tcumttest tgz tload truncate
tap2rpm tcutest tha tmpwatch try-from
tapconvert teamviewer then tnameserv tset
tapdisk teamviewer6 thinkjettopbm toc2cddb tsort
tar tee thumbnail toc2cue ttusb_dec_reset
taskset tek2plot thumbpdf toe tty
tasque telinit thunar togglesebool tunctl
tbl telnet thunar-settings tomboy tune2fs
tc terminal thunar-volman tomboy-panel tunelp
tca_correct test thunderbird top tvtime
tcamgr test_chmLib tic torrentinfo-console tvtime-command
tcatest testdisk tickadj totem tvtime-configure
tcbmgr testlibraw tie totem-audio-preview tvtime-scanner
tcbmttest test-moniker tiff2bw totem-video-indexer twinkle
tcbtest testparm tiff2pdf totem-video-thumbnailer twistd
tcfmgr test_physfs tiff2ps touch type
tcfmttest test_ppa tiff2rgba tput typelib-dump
tcftest testrb tiffcmp tr typeset
tchmgr testsaslauthd tiffcp tracepath tzap
tchmttest test-speech tiffcrop tracepath6 tzselect
tchtest tex tiffdiff traceroute
tclsh texconfig tiffdither traceroute6
tclsh8.5 texconfig-dialog tiffdump transformdb
tcov texconfig-sys tifficc translate
2. история команд ... это тоже все знают

:
Код: Выделить всё
[olej@notebook ~]$ history | tail -n10
992 ls -l
993 mv virtcd/ virtsd/
994 sudo mv virtcd/ virtsd/
995 ls -l
996 mc
997 t
998 history
999 history 997
1000 history --help
1001 history | tail -n10
Но здесь есть одна сильно интересная возможность: реверсивный поиск команд в истории bash - <Ctrl>+r : набираю последовательно <Ctrl>+r , v , p - и получаю полное написание команды подключения к одной из своих VPN-сетей:
- которую (команду) последний раз набирал месяца 2 назад и, конечно, не помню...
Обратите внимание, что символы, вводимые после <Ctrl>+r ищутся контекстным поиском в любом месте команды (не обязательно в начале! - см. как оно мне 'vpn' нашло

).
Последующее <Enter> после <Ctrl>+r , v , p - и найденная команда начинает выполняться.