âñå çàïèñè àâòîðà
Äëÿ íåïîñâÿùåííûõ, bash - êîìàíäíàÿ îáîëî÷êà ïî óìîë÷àíèþ âî ìíîãèõ Linux-äèñòðèáóòèâàõ, âêëþ÷àÿ Fedora, Ubuntu, Redhat è äð. Èñïîëüçóÿ îïåðàöèîííóþ ñèñòåìó Linux-ñåìåéñòâà, âû, âåðîÿòíî, èñïîëüçóåòå è bash. Ïî ýòîé ïðè÷èíå íèæå ÿ ñîáðàë íåñêîëüêî ÷àñòî âîçíèêàþùèõ ïðîáëåì ñ bash è ïðîñòûå ñïîñîáû èõ ðåøåíèÿ.
1. Ïîòåðÿ èñòîðèè êîìàíä
Åñëè îòêðûòü îêíî òåðìèíàëà è ââåñòè íåñêîëüêî êîìàíä, à ïîñëå îòêðûòü âòîðîå îêíî, òî èñòîðèÿ êîìàíä bash âî âòîðîì îêíå íå áóäåò ñîäåðæàòü êîìàíä èç ïåðâîãî. Ê òîìó æå, åñëè çàêðûòü ïåðâûé òåðìèíàë, à çàòåì âòîðîé, òî èñòîðèÿ êîìàíä èç ïåðâîãî òåðìèíàëà áóäåò ïåðåçàïèñàíà âòîðûì. Âäâîéíå íåïðèÿòíî!
Òàê ïðîèñõîäèò èç-çà òîãî, ÷òî èñòîðèÿ êîìàíä çàïèñûâàåòñÿ òîëüêî ïðè çàêðûòèè òåðìèíàëà, à íå ïîñëå êàæäîé êîìàíäû. Ýòî ìîæíî èñïðàâèòü.
Äëÿ ýòîãî íàäî îòðåäàêòèðîâàòü ôàéë .bashrc (íà÷èíàþùèì: ëþáîé ôàéë, íà÷èíàþùèéñÿ ñ òî÷êè, ÿâëÿåòñÿ ñêðûòûì - ñëóæèò äëÿ õðàíåíèÿ ïîëüçîâàòåëüñêèõ íàñòðîåê).
nano ~/.bashrc
sudo çäåñü íå íóæíî, ýòî ôàéë ïîëüçîâàòåëÿ, à íå íàñòðîéêà ñèñòåìû. Ìíå íðàâèòñÿ nano, íî ìîæíî èñïîëüçîâàòü ëþáîé ðåäàêòîð: gedit, kate, mousepad, vi èëè emacs
äîáàâèòü ñòðîêè
shopt -s histappend
PROMPT_COMMAND=’history -a’
È ñîõðàíèòü. (Ctrl-O äëÿ çàïèñè. “^” îçíà÷àåò êëàâèøó “Ctrl” â nano è äðóãèõ ïðîãðàììàõ. ^X äëÿ âûõîäà)
Òàê èñòîðèÿ êîìàíä áóäåò äîáàâëÿòüñÿ ê ñòàðîé, à íå ïåðåçàïèñûâàòü åå, è çàïèñü áóäåò ïðîèñõîäèòü êàæäûé ðàç â ìîìåíò îòîáðàæåíèÿ ïîäñêàçêè bash.
2. Ãëóïûå îøèáêè â íàïèñàíèè
Äîáàâüòå
shopt -s cdspell
îïÿòü-òàêè â .bashrc. Òàêèì îáðàçîì îøèáêè â íàïèñàíèè (íàïðèìåð, ect âìåñòî etc) áóäóò èñïðàâëÿòüñÿ.
3. Äóáëèêàòû â èñòîðèè êîìàíä
ß ÷àñòî íàáèðàþ cd .. íåñêîëüêî ðàç ïîäðÿä, è êîãäà ÿ íàæèìàþ êëàâèøó “ââåðõ”, ÷òîáû âåðíóòüñÿ ê ðàíåå ââåäåííûì êîìàíäàì, ÿ íå õî÷ó, ÷òîáû ìíå ïîñòîÿííî íàïîìèíàëè î ìîèõ íåîïòèìàëüíûõ ïåðåäâèæåíèÿõ ïî ôàéëîâîé ñèñòåìå.
Äîáàâüòå
export HISTCONTROL="ignoredups"
îïÿòü òàêè ê .bashrc.
Èëè äàæå ëó÷øå, äîáàâüòå
export HISTIGNORE="&:ls:[bf]g:exit"
Ýòî ïîçâîëèò èçáàâèòüñÿ îò äóáëèêàòîâ, à òàêæå îò ls, bg, fg è exit, ÷òî ñäåëàåò èñòîðèþ êîìàíä bash áîëåå ÷èòàáåëüíîé.
4. Ðàçîðâàííûå ìíîãîñòðî÷íûå êîìàíäû â èñòîðèè êîìàíä
Äîáàâüòå
shopt -s cmdhist
â .bashrc, è ìíîãîñòðî÷íûå êîìàíäû áóäóò çàïèñûâàòüñÿ â îäíó ñòðîêó, ÷òî îáëåã÷èò ðåäàêòèðîâàíèå.
5. Ïàðà äîïîëíèòåëüíûõ ñîâåòîâ îò êîììåíòàòîðîâ
Íàæìèòå Ctrl-R â bash, äàëåå íà÷íèòå íàáèðàòü êîìàíäó. Òàê èñêàòü â èñòîðèè êîìàíä ãîðàçäî áûñòðåå, ÷åì íàæèìàòü 300 ðàç “ââåðõ”.
Òàêæå ìîæíî èñêàòü ïðè ïîìîùè
history | grep "foo"
Êîìàíäà
cd -
îñóùåñòâëÿåò âîçâðàò ê ïîñëåäíåé ïîñåùåííîé äèðåêòîðèè - áûâàåò ïîëåçíî, êîãäà íóæíî ïåðåéòè êóäà-òî ÷òîáû ÷òî-òî èçìåíèòü, à çàòåì áûñòðî âåðíóòüñÿ íàçàä.
Íàæàòèå “Esc”+”.” âûçûâàåò ïîñëåäíèé óïîìÿíóòûé îáúåêò. Íàïðèìåð, åñëè íàáðàòü cat /etc/apt/sources.list, à çàòåì rm è íàæàòü “Esc”+”.”, òî êîìàíäà áóäåò àâòîìàòè÷åñêè çàâåðøåíà: rm /etc/apt/sources.list. Ïîïðîáóéòå!
Çàêëþ÷åíèå
Âîò íåñêîëüêî ñîâåòîâ, êàê ñäåëàòü èñòîðèþ êîìàíä bash óäîáíåé. Åñëè ó âàñ åñòü ñâîè õèòðîñòè íà ýòîò ñ÷åò, äîáàâëÿéòå â êîììåíòàðèè!
Èçâèíÿþñü çà êîïèïàñò. Ïðîñòî íàøåë ýòó ñòàòüþ ïîëåçíîé äëÿ ñåáÿ è äóìàþ, ÷òî äëÿ ìíîãèõ áóäåò õîðîøèì ïîäñïîðüåì.
Âçÿòî ñ
http://linux-digg.ru/?p=11