BASH használati tippek
Linux parancssori trükköket szeretnék leírni. Akik eddig idegenkedtek a Linux parancssorától talán így könnyebben és többet fogják használni, öreg rókák pedig feleleveníthetik tudásukat. Remélem sokaknak hasznos lesz.
A leírás ezek alapján készült:
tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html
tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html
1. 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)
2. 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
3. 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
4. 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 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
Meg kéne nézni hogy hogyan kérhető le a $PATH útvonala
5. Copy/paste használat Shift+Insert
Habár ez nem bash specifikus 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.
6. 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éseket 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 minden 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.
7. 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
8. 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
9. Kilépési státusz: 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
10. Használd sudo !! parancsot
A hozzászólások közül kimazsolázott remek példa… Ismételd meg a legutóbbi parancsot úgy hogy előtte sudo-t használsz:
sudo !!
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
11. 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 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írtuk hogy !543
Szia!
Nekem a Ctrl+R nem igazán áll kézre a .bash_historyban való keresésre, inkább azt a megoldást szoktam használni, hogy parancs neve, majd PdUp/PgDn. Ehhez a ~/.inputrc tartalmazza az alábbiakat:
nekem az alias parancs „nem mentődik el”, vagyis ha nyitok egy új terminált, akkor azt írja, h nincs ilyen parancs(Ubuntu 9.04, 64bit)
[re=4206]M0Rph3U5[/re]:
Az alias parancsot az adott user saját .bashrc-éjébe (néha .bash_profile-ba) rögzíteni kell. Ha parancssorból adod ki, reboot után elvész.
[re=4503]pityu[/re]:
THX, már régóta kerestem a megoldást
Üdv!
Nekem egy olyan kérdésem volna, hogy a terminálban a sudo….parancs után mindíg kér kódot, amit csak enter után tudok be írni, de általában azt írja ki nekem válasznak, hogy Sorry, try again pedig a kód az stimmel. Azonban néha pedig kód megadása után simán lefut minden. Nem értem, hozzzáteszem kb.3napja ismerkedem a linux rendszerrel, nekem Ubuntu 9.04 van fenn.
A segítséget előre is köszönöm.
[re=6687]Denzel[/re]:
Ha jól értem akérdésed: sudo után gondolom a jelszavad kéri. Írd be nyugodtan, nem fog látszani, de attól ott van . Utána kell az Enter!
Így már értem. Ki is probáltam köszönöm.
Üdv!
Köszönöm KKata! Ezt hiányoltam mindenhonnan, SuSE alatt olyan jól megszoktam és nagyon hasznos is volt.
Illetve naagy köszönet kanyinak a cikkért és az oldalnak a megjelenésért.