Android

Előzmények parancs a linuxban (bash history)

Minitel - The Rise & Fall of a National Tech Treasure

Minitel - The Rise & Fall of a National Tech Treasure

Tartalomjegyzék:

Anonim

, az history parancsról fogunk beszélni, amely lehetővé teszi a korábban végrehajtott parancsok listájának megtekintését, a listán való keresést és az előzményfájl manipulálását.

Az history parancsának és az előzmények bővítéseinek használata

history egy héjba épített, viselkedése kissé eltérhet a héjtól. A history Bash beépített verzióját fedjük le.

Legegyszerűbb formájában, bármilyen opció vagy argumentum nélkül történő meghívásra az history parancs megjeleníti a teljes előzmények listáját sorszámmal.

history

… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history

A !n gépelés végrehajtja az n-edik parancsot az előzmények listájából, és !-n az n parancs vissza. A következő példában a 467 sorban 467 végre a parancsot:

!467

A parancs végrehajtásának másik módja a !word kiterjesztése. word a legutóbbi, a 'szó' betűvel kezdődő parancsra utal.

A history általában sok olyan kimeneti sort jelenít meg, amelyek nem férnek el a képernyőn. A kimeneti oldal egyszerre megtekintéséhez gépelje be egy személyhívó programba, például more less :

history | less

Az utolsó n sor megjelenítéséhez adja át a számot argumentumként a parancsnak. Például, ha csak az előzmények listájának utolsó öt sorát szeretné megtekinteni, akkor írja be:

history -5

A up és down nyilakkal navigálhat a lista bejegyzéseiben. Amikor megjelenik a keresett parancs, nyomja Enter az Enter billentyűt annak végrehajtásához.

Írja be !! az előző parancs végrehajtásához:

!!

Ez különösen akkor hasznos, ha elfelejti egy parancsot perverzálni a sudo , és a parancs újraírása helyett beírhatja:

sudo !!

!-1 megegyezik !! és végrehajtja az előző parancsot a történelemlistából, ! !-2 másodpercig az utolsó és így tovább.

^word1^word2^ bővítés lehetővé teszi az utolsó parancs újraindítását, amelyben a „word1” helyébe a „word2” lép. Ha véletlenül gépelte be az sduo command a sudo command sduo command helyett, megismételheti a parancsot a helyes szó használatával:

^sduo^sudo^

A grep paranccsal szűrje a kimenetet. Például az összes olyan parancs megtekintéséhez, beleértve a „nano” parancsot is, futtassa:

history | grep nano

302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh

Most, ha újra akarja futtatni a nano setup.py parancsot, egyszerűen írja be:

!356

A parancs előzményeiben történő keresés másik módja a Ctrl-R megnyomása. A prompt a következőre változik, és elkezdheti keresni egy korábban végrehajtott parancsot.

(reverse-i-search)`':

A shell megjeleníti a megfelelő sort. A következő egyező javaslathoz lépéshez nyomja meg ismét a Ctrl-R .

Ellenőrizze a Bash-kézikönyvet, ha további információt szeretne az Előzmények bővítéséről, a módosítókról és a jelölőkről.

Az előzmények listájának mentése

Alapértelmezés szerint egy új munkamenet indításakor a Bash beolvassa az előzmények listáját a .bash_history fájlból. Az aktuális munkamenetben végrehajtott parancsok listáját a memóriában tárolják és a fájlba menti a munkamenet bezárásakor.

Az -a opció lehetővé teszi az aktuális munkamenet-előzmények listájának .bash_history a .bash_history fájlba:

history -a

A -w opció beírja a teljes előzmények listáját az előzmények fájlba.

history -w

Előzmények elszámolása

Az history parancs lehetővé teszi a teljes előzménylista törlését vagy egyes részek eltávolítását.

Az előzmények listájának törléséhez használja a -c opciót:

history -c

Egy adott vonal vagy sorok törléséhez a kezdő és a végpontok között az előzmények listából használja a -d opciót.

Például a 365 és 375 közötti sorok eltávolításához (beleértve azokat a sorokat) írja be:

history -d 365 375

Negatív egész szám használatakor a sorok visszaszámlálásra kerülnek az előzmények listájának végétől.

A fenti parancsok törli az előzmények listáját, amelyet a memóriában tartanak, de nem távolítanak el bejegyzéseket a lemezen található .bash_history fájlból. A fájl törléséhez be kell írnia az előzmények listáját a fájlba:

history -c history -w

A történelem viselkedésének módosítása

A Bash-előzmények viselkedése számos különböző környezeti változó segítségével meghatározható. Az előzmények viselkedésének módosításakor állítsa be a változókat a ~/.bashrc fájlban vagy bármely más konfigurációs fájlban, amelyet a felhasználó bejelentkezéskor tölt be.

Alapértelmezés szerint Bash 500 sort tart a parancselőzmények listájában. A HISTSIZE változó lehetővé teszi ennek az értéknek a megváltoztatását. 10000-ra állításához adja hozzá a következő sort a .bashrc fájlhoz:

HISTSIZE=10000

A HISTCONTROL változó elfogad egy kettősponttal elválasztott értéklistát, amely meghatározza, hogy a parancsok hogyan HISTCONTROL az előzmények listájára:

  • ignorespace - a szóközzel ignorespace parancsok nem kerülnek mentésre az előzmények listájában. ignoredups - az ismétlődő parancsok nem kerülnek mentésre. ignoreboth - egy rövidítés, amely magában foglalja mind a ignorespace ignoredups ignorespace , mind a ignorespace ignoredups .

HISTCONTROL=ignoreboth

A HISTTIMEFORMAT változó beállításakor Bash az egyes sorok parancsának végrehajtási időbélyegzőjét állítja elő.

Például, ha beállítja:

HISTTIMEFORMAT="%F %T: "

Az előzmények a következő formátumban jelennek meg:

413 2019-10-27 21:13:07: sudo nano /etc/hosts

Következtetés

Az history parancs megjeleníti a korábban végrehajtott parancsok listáját. Például az előzmények segítségével megtekintheti a korábban használt hosszú parancsot, amelyet nem emlékszik.

történelem terminál