A parancselőzmények segítségével megtekintheti a terminálon belül korábban futtatott parancsokat. Így kezelheti a parancselőzményeket Linuxon.
Linuxon minden beírt parancs az előzményfájlba kerül. A történelem parancs segítségével megtekintheti és újra felhasználhatja ezeket a parancsokat anélkül, hogy újra be kellene őket írnia. Az előzmények listájában a gombbal navigálhat Fel és Le kulcsok. Előfordulhat azonban, hogy törölni szeretne néhány parancsot az előzményekből, vagy véglegesen letilthatja az előzmények mentési funkcióját.
Szerencsére a Linux lehetővé teszi a parancsnaplózási funkciók vezérlését, például ideiglenes letiltását vagy véglegesen, a teljes előzmény törlésével vagy bizonyos parancsok mentésének megakadályozásával az előzményekben lista. Lássuk hogyan.
Törölje a teljes parancselőzményt Linuxon
A teljes törléséhez parancselőzmények Linuxon elejétől kezdve használja a történelem parancsot a -c választási lehetőség:
történelem -c
Ezzel törli a korábban futtatott parancsok teljes előzményét.
Adott parancsok törlése az előzményekből
Néha a teljes előzmény törlése helyett bizonyos parancsokat szeretne eltávolítani. Ebben az esetben meg kell határoznia az adott parancshoz tartozó számot az előzmények listájában. Ezt egyszerűen beírhatja:
történelem
Vagy az előzmények kimenetét a grep-be is átvezetheti, hogy könnyebben megtalálja a kívánt információkat:
történelem | grep ifconfig
Ha megtalálta a parancs számát, törölheti azt a történelem parancs segítségével a -d opció, majd a parancs száma:
történelem -d
Parancs végrehajtása anélkül, hogy belefoglalná az előzményekbe
Ha úgy szeretne végrehajtani egy parancsot, hogy nem rögzíti az előzményeket, egyszerűen adja hozzá a Hely a parancs előtt. Ahhoz azonban, hogy ez a funkció működjön, be kell állítania a HISTCONTROL környezeti változóhoz szóköz figyelmen kívül hagyása a következő paranccsal:
export HISTCONTROL=szóköz figyelmen kívül hagyása
Ez a változás nem marad fenn újraindítás után. Ha állandóvá szeretné tenni, adja hozzá a sajátjához .bashrc fájl a következő paranccsal:
echo 'HISTCONTROL=szóköz figyelmen kívül hagyása' >> ~/.bashrc
A funkció engedélyezésével a Bash nem rögzíti a szóköz karakterrel kezdődő parancsokat az előzményfájlban.
Például a következő parancsot nem rögzíti a shell:
[szóköz] echo 'helló, ez az első sor'
Ha ugyanazt a parancsot szóköz nélkül futtatja, a Bash rögzíti az előzményekben:
echo 'helló, ez az első sor'
Hasonlóképpen engedélyezheti a Bash számára az egymást követő ismétlődő parancsok eltávolítását az előzményekből:
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Ez a funkció csak egyszer tárolja az egymást követő ismétlődéseket az előzmények listájában.
A parancselőzmények engedélyezése/letiltása Linuxon
Míg az előző módszer megakadályozhatja, hogy a shell parancsokat naplózzon az előzményekben, előfordulhat, hogy nem praktikus, ha nagy számú parancsot kezel.
Egy szóköz beszúrása minden parancs elé monotonná és megterhelővé válhat. Ilyen esetben ideiglenesen letilthatja a shell előzményeket a következő parancs végrehajtásával:
+o előzmények beállítása
A visszakapcsoláshoz használja a következő parancsot:
set -o történelem
A Linux parancselőzmények végleges letiltásához használja:
echo 'set +o history' >> ~/.bashrc
Figyelmen kívül hagyja az előzményekben rögzített bizonyos parancsokat
Lehetnek bizonyos parancsok, amelyeket ki szeretne zárni, mivel ezek összezavarhatják az előzmények listáját, és megnehezíthetik a navigációt. Néhány gyakori példa a pwd, ls, man, cat és a cd parancsot mivel lehet ismétlődő és felesleges.
Használni a HISTIGNORE környezeti változó, szabályozhatja, hogy mely parancsok ne kerüljenek fel az előzmények listájára. Ha például bizonyos parancsokat, például a történelem, a pwd és a cat kizárhat az előzmények listájából, válassza el őket kettősponttal, és tegye idézőjelek közé az alábbiak szerint:
export HISTIGNORE="történet: pwd: macska"
A változtatás véglegesítéséhez adja hozzá a parancsot a .bashrc fájl segítségével:
echo 'HISTIGNORE="history: pwd: cat"' >> .bashrc
Vezérelje Bash parancselőzményeit Linuxon
A Linux kiterjedt szabályozást kínál a parancssori előzmények kezeléséhez, lehetővé téve a felhasználók számára, hogy meghatározzák, mely parancsokat mentse el a előzményeket, töröljön bizonyos parancsokat az előzményekből, engedélyezze vagy tiltsa le ideiglenesen az előzményeket, vagy akár törölje az egészet történelem.
Ez nemcsak a felhasználó magánéletének védelmét segíti elő, hanem megakadályozza, hogy irreleváns vagy ismétlődő parancsok összezavarják a Bash előzményeit.
A parancssori előzmények elérésének még jobb módja a McFly használata, amely a Linux alapértelmezett reverse-i-search helyettesítője a neurális hálózattal.