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

8 thoughts on “BASH használati tippek

  1. 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:

    "\e[5~": history-search-backward
    "\e[6~": history-search-forward
  2. 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)

  3. [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.

  4. Ü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.

  5. [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!

  6. Ü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.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .