BASH programozás

A Bash Parancselőzmények használata és testreszabása

A Bash Parancselőzmények használata és testreszabása
A bash shell az alapértelmezett parancssori környezet, amely a legtöbb Linux disztribúcióban elérhető. Az összes shell környezethez hasonlóan, a felhasználó által korábban végrehajtott parancsokról is nyilvántartást vezet. Ezt a nyilvántartást akkor is vezetjük és vezetjük, ha újraindítjuk a rendszerünket.

Lehet, hogy ismeri az előzmények parancsának alapvető használatát, de ennél sokkal többre képes. A bash előzmények általában a ~ / fájlban vannak tárolva.bash_history. Lehetővé teszi a tárolt rekord hatékony előhívását és újrafelhasználását, hogy a lehető legjobban kihozza a bash előzmények mentésének funkcióját. Nem csak ez, hanem testreszabhatja és vezérelheti a bash parancs kimenetét a kívánt módon.

Ebben a cikkben elmagyarázzuk, hogyan lehet hatékonyan felhasználni és testre szabni a bash parancs előzményeit, hogy a lehető legtöbbet hozzuk ki a funkcióiból.

A Debian 10-et használtuk a cikkben említett parancsok és eljárások futtatásához.

A bash parancs előzményeinek használata

1. A bash történelem megtekintése

A shell parancsok teljes történetének megtekintéséhez futtassa a következő parancsot a Terminálban:

$ előzmények

Felsorolja az adott felhasználó teljes előzményeit a kifejezetten az adott felhasználó számára tárolt előzményfájlból. Látni fogja az összes parancsot, mindegyikhez rendelt számmal kezdve. Felül sorolja a régebbi parancsokat az 1-es számmal kezdve, az újabbakat pedig az alján.

2. Keresés az előzmények kimenetében

Az előzmények kimenetéből is kereshet egy adott kulcsszót. Az előzmények parancsot párosítsa a grep és egy adott kulcsszóval, hogy a megadott kulcsszónak megfelelő parancsokat keressen az alábbiak szerint:

$ előzmények | grep [kulcsszó]

Például az összes olyan parancs felsorolásához, amely tartalmazza a „find” kulcsszót, a következő parancs lenne:

$ előzmények | grep megtalálni

3. Az utolsó n parancs megtekintése

Az előzmények parancs alapértelmezés szerint felsorolja a felhasználó által végrehajtott utolsó 1000 parancsot. Abban az esetben, ha csak egy meghatározott számot szeretne felsorolni, mondjuk n utoljára végrehajtott parancsot, futtassa a következő parancsot a Terminálban:

$ előzmények n

Például az utolsó 7 végrehajtott parancs felsorolásához a következő parancs lenne:

$ előzmények 7

Egy adott kulcsszót tartalmazó utolsó n futtatási parancs számának megtekintéséhez használja a következő szintaxist:

$ előzmények | grep kulcsszó | farok -n

Erre példa lehet az utolsó 4 végrehajtott parancs megtekintése a „java” kulcsszóval.

$ előzmények | grep java | farok -n

4. A legrégebbi parancsok megtekintése

A legrégebbi számú parancs megtekintéséhez használhatja a következő szintaxist a Terminálban:

$ előzmények | fej -n

Egy adott kulcsszót tartalmazó legrégebbi n számú parancs megtekintéséhez használja a következő szintaxist:

$ előzmények | grep kulcsszó | fej -n

Erre példa lehet a legrégebben végrehajtott 4 parancs megnézése „java” kulcsszóval.

$ előzmények | grep java | fej -4

5. A Bash előzmények teljes törlése

A teljes bash előzmény eltávolításához futtassa a következő parancsot a terminálban:

$ history -cw

A bash parancs előzményeinek testreszabása

A bash parancsok előzményeinek testreszabásához módosítanunk kell a ~ /.bashrc fájl. A ~ / szerkesztése.bashrc fájl, használja a következő parancsot:

$ nano ~ /.bashrc

Miután végzett a fájl módosításával, használja a Ctrl + O és a Ctrl + X billentyűkombinációt a nano szerkesztő mentéséhez és bezárásához.

Ezután futtassa a következő parancsot a módosítások alkalmazásához:

$ forrás ~ /.bashrc

1. Adja hozzá a dátumot és az időbélyeget a Bash előzményekhez

Ha meg szeretné jeleníteni a dátumot és az időbélyegzőt, valamint a parancs előzményeket, akkor ezt megteheti a következő sor hozzáadásával a ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Most futtassa a történelem parancsot, és megmutatja a parancs előzményeit a megfelelő adatokkal és időbélyegzővel.

2. A Bash History méretének növekedése

A Bash alapértelmezés szerint 500 parancsot tart az előzmények listájában. Ezt az értéket azonban megváltoztathatjuk a HISTSIZE értékkel.

A bash előzmények jelenlegi méretének megtekintéséhez futtassa a következő parancsot a terminálban:

$ echo $ HISTSIZE

Hasonlóképpen, a bash előzményfájl alapértelmezett mérete 500. Ez az előzmények fájljában szereplő bejegyzések maximális száma.

A bash előzmények méretének növeléséhez tegyük fel, hogy 10000, adja hozzá a következő sorokat a ~ /.bashrc fájl:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

Annak ellenőrzéséhez, hogy a bash előzmények mérete sikeresen megváltozott-e, futtassa a következő parancsokat a Terminálban:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Csatolja a Bash parancsokat az Előzmények fájlhoz

Amikor egy bash munkamenet zárva van, kiválaszthatja, hogy felülírja-e vagy hozzáfűzi-e a parancsokat az előzményfájlba a histappend változó használatával. Az aktuális beállítások megtekintéséhez futtassa a következő parancsot a Terminálban:

$ shopt histappend

A kimenet „be” értéke azt mutatja, hogy a histappend opció engedélyezve van, és a parancsok felülírása helyett az előzményfájlba kerülnek. Amíg az „off” felirat látható, a histappend opció le van tiltva, és a fájl felülírásra kerül.

Nyissa meg a ~ /.bashrc fájl és:

Adja hozzá a következő sort, ha felülírása helyett a parancsokat szeretné hozzáadni az előzményfájlhoz:

$ shopt -s histappend

Vagy adja hozzá a következő sort, ha letiltja a függelék opciót, és kilépéskor felül akarja írni a fájlt:

$ shopt -u histappend

4. Azonnal tárolja a Bash előzményeket

A Bash alapértelmezés szerint csak a munkamenetet menti a bash előzmények fájljába, miután a munkamenet befejeződött. Az alapértelmezett viselkedés megváltoztatásához és az egyes végrehajtott parancsok azonnali mentéséhez használhatja a PROMPT_COMMAND.

Szerkessze a ~ /.bashrc fájlt, és adja hozzá a következő sort:

$ PROMPT_COMMAND = 'előzmény -a'

Most, amikor bármilyen parancsot végrehajt, azonnal hozzáadja az előzmények fájljához.

5. Control Bash History

A HISTCONTROL változón keresztül szabályozhatjuk, hogy a bash hogyan menti a parancsok előzményeit. Megadhatjuk, hogy figyelmen kívül hagyjuk az ismétlődő bejegyzéseket, és / vagy figyelmen kívül hagyjuk a vezető szóközöket tartalmazó bejegyzéseket.

Ezen funkciók alkalmazásához nyissa meg a ~ /.bashrc és adja hozzá a következő sort a kettőspont által elválasztott értékekkel az alábbiak szerint:

$ export HISTCONTROL = ignorespace: ignoredup

6. A parancsok figyelmen kívül hagyása

Azt is szabályozhatjuk, hogy mely parancsokat hagyja figyelmen kívül a történelemben a HISTIGNORE változó segítségével. Ez egy kettősponttal elválasztott minták listája, amelyben megadhatjuk az összes olyan parancsot, amelyet figyelmen kívül akarunk hagyni az előzményekből.

Például, ha nem akarjuk felsorolni az alapparancsokat, mint például az előzmények, az ls, a pwd parancsokat az előzmények listájába, akkor a következő sort hozzáadjuk a ~ /.bashrc fájl:

$ export HISTIGNORE = "előzmények: ls: pwd:"

A Linux bash parancs történetével sokkal többet tehet, mint csak megismételni a régi parancsokat. Ebben a cikkben megtanultuk, hogyan kell használni a bash előzményeket a korábban végrehajtott parancsok megtekintésére, és megtanultuk szabályozni a bash parancsok előzményeinek mentését is.

A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...