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ényekFelsorolja 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 nPéldául az utolsó 7 végrehajtott parancs felsorolásához a következő parancs lenne:
$ előzmények 7Egy 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 -nErre 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 -nEgy 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 -nErre 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 -cwA 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 ~ /.bashrcMiutá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 ~ /.bashrc1. 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 $ HISTSIZEHasonló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 histappendA 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 histappendVagy 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 histappend4. 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.
- ignorespace - kiküszöböli azokat a parancsokat, amelyek űrtörténeti listával kezdődnek.
- ignoredup - megszünteti az ismétlődő parancsokat.
- ignoreboth - Engedélyezheti mind a figyelmen kívül hagyott, mind a figyelmen kívül hagyó teret
- törlés - távolítsa el a duplikátumokat az egész listáról
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: ignoredup6. 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.