Sokaknak idegen lehet a terminál, pedig nagyon hasznos tud lenni, időnként csak lustaságból, időnként meg rákényszerülhet az ember hogy használja. Akit érdekel a téma azoknak ajánlanám ezt a kis bejegyzést. :-)
BASH használati tippek
linkek:
http://tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html
http://tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html
- Használd a !! parancsot
!!
után egy Enter és újra futtatod a legutóbbi parancsodat. (ugyan az mint a Ctrl+P és utána egy Enter)
- Használd sudo !! parancsot
Pl.:
$ apt-get update
E: Could not open lock file /var/lib/apt/lists/lock - open (13 Permission denied)
E: Unable to lock the list directory
$ sudo !!
sudo apt-get update
- Használj emacs szerű billentyűparancsokat
Ezekben az esetekben Ctrl vagy Alt gomb mellé használsz még valamilyen billentyűt, aminek nagy előnye hogy így tudsz navigálni és változtatni a szövegen a Terminálban úgy hogy nem kell messzire vinned az ujjaidat a gépelési pozíciótól. (Nem kell kinyúlni a Home, Delete, vagy nyíl billentyűkhöz)
Sok ezek közül működik manual oldalakon belül is, vagy a nano editorban, vagy less és more lapozáskor.
Ctrl+D -vagy EOF (end-of-file) kilépsz az aktuális Bash promptból
Ctrl+P – vissza az utolsó végrehajtott parancsra executed
Ctrl+N – előre a következő végrehajtott parancsra
Ctrl+U – mindent töröl a kurzortól balra
Ctrl+K – mindent töröl a kurzortól jobbra
Ctrl+B – vissza egy karaktert
Ctrl+F – előre egy karaktert
Alt+B – vissza egy szót
Alt+F – előre egy szót
- Csinálj színes man oldalakat
Azt hiszem ez a tipp növeli a hatékonyságot, mert ha egyszer a manuál színes akkor könnyebb keresni, könnyebben átlátható. Csak add a következő sorokat a ~/.bashrc
fájlhoz ahol a ~ te home mappád. (minden sornak export-al kell kezdődnie)
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline
Utána üsd be:
source ~/.bashrc
- Használd a saját scriptjeidet
Ha van egy kis tudásod a Bash scriptíráshoz, tudsz kreálni magadnak saját parancsokat amit utána be tehetsz egy olyan mappába ami benne van a $PATH útvonalában. ( $PATH Enter
a terminálban és megmutatja hogy hova lehet rakni a fájlokat) Olyasmit használhatsz mint ~/bin
vagy ~/usr/bin
, ahol ~ a te home mappád.
- Copy/paste használat Shift+Insert
Habár ez nem bash specifius parancs, azért nagyon hasznos amikor gyorsan van szükséged copy/paste párosra némi szöveghez a terminálban. Ugyan az mint amikor ügyesen használod az egér középső gombját.
- Használj aliasokat
Bash egyik legerősebb képessége az aliasok használata. Ezek általában rövid parancsok amik segítségével hosszabb bonyolultabb, összetettebb parancsot vagy parancsokat tudsz futtatni. Például ahhoz hogy frissítsd és telepítsd a frissítésket ezt lehet használni: sudo apt-get update && sudo apt-get upgrade
, ha csinálsz hozzá egy aliast és azt hozzáadod a ~/.bashrc fájlodhoz:
alias update='sudo apt-get update && sudo apt-get upgrade'
most már mindne alkalommal elég csak update-et gépelni és a gép elvégzi azokat a parancsokat amit az egyszeres idézőjelek között van. (esetünkben elvégzi a repository frissítését, és telepíti a szükséges programokat)
- Használd a Ctrl+R (visszafelé keresés)
Ctrl+R
egy visszafelé keresést hajt végre a keresési előzményekben. Pl. írt be ezt a parancsot: df -h | grep /dev/sda1
utána nyomd meg a Ctrl+R
kombinációt majd csak df
-et gépeld be, a legtöbbet használt parancs automatikusan kiegészül, (ha nem nyomkodjuk a tab
-ot) már csak entert
kell nyomni az indításához. Ctrl+R
keres az előzményekben, hogy mit gépeltél már be és visszatér a legutolsó parancsal amit talál:
esetünkben:
df -h | grep /dev/sda1
/dev/sda1 83G 65G 14G 83% /
(reverse-i-search)`df': df -h | grep /dev/sda1
- Használd a !PARANCS utasítást
Ahol a PARANCS az bármelyik parancs lehet amit már futtattál, vagy csak a parancs kezdete. Pl:
$ for i in *.ogg; do vorbiscomment -l $i; done
...
$ ls
...
$ !for
for i in *.ogg; do vorbiscomment -l $i; done
Fentebb a példában !for
parancsot használtuk (utána meg egy entert) ami futtatta a legutolsó eseményt az előzményekből ami a for-al kezdődött
- Kilépési stáutsz: echo”$?”
visszatér a legutolsó parancs kilépési értékével, 0-t ad ha a parancs befejeződött sikeresen. És egy nem 0 értéket minden egyéb esetben.
$ cat /etc/motd | head -1
Linux debian 2.6.26-2-686 #1 SMP Sun Jun 21 04:57:38 UTC 2009 i686
$ echo "$?"
0
$ cat /etc/mots
cat: /etc/mots: No such file or directory
$ echo "$?"
1
- Futtass megadott parancsot az előzményekből: !SZÁM
Futtatja a megfelelő számú parancsot az előzményekből. Pl. !250 (visszafelé a 250. parancsot futtatja, !1 stb..)
$ history | tail -3
534 for i in *.ogg; do vorbiscomment -l $i; done
535 history
536 history | tail -3
$ !534
for i in *.ogg; do vorbiscomment -l $i; done
Error opening input file '*.ogg'.
A fenti példában az 543 volt futtatva amikor beírutk hogy !543