rivin poisto historiasta

Komentohistoria löytyy komennon 'history' avulla shell:issä varmaan kaikista linux-ympäristöistä. Ja listauksessa on rivinumerot, joihin voi viitata '!n' komennolla jolloin kyseinen komento suoritetaan.
Entäpä sitten, kun kirjoittaa vahingossa väärään shelliin jonkin tärkeän salasanan ja se jää sitten historia-tiedostoon loppuelämäksi? Eipä mitään, sen voi poistaa komennolla:
$ history -d n
Missä n on poistettavan rivin numero historiatiedostossa kuten ylemmässä komennossakin.
16334
Äänestä

Muut lukivat myös

Vastaukset 16

Vanhimmat

Aivan, juuri noin. Niin kun vielä muistaa että komentohistoria tallentuu normaaliin TXT-tiedostoon ja Geany on ainut editori joka ei mene kyykkyyn vaikka listaukset olisi useampia miljoonia rivejä.

Jatka vaan, olet oikealla asialla.

Äänestä

Työlästä. Editoi suoraan esim:

nano .bash_history

Äänestä

Niin, avataan Geany editori suoraan sille riville missä se "poistettava salasana on"

geany -l $(awk '/salasana/{ print NR; exit }' words) -i words

"words" on esimerkissä se tiedosto ja sisältää useita miljoonia rivejä joten avaus suoraan käsiteltävälle riville on tarpeen.

Huomaa, jos teet saman millä tahaansa muulla editorilla, vain pampula pyörii ja pyörii ja kohta on kone jumissa eli Geany on tosiaankin ainut vaihtoehto enkä pysty kertomaan kuinka hitossa se pystyy tuohon.

Äänestä

Ei tarvitse edes penkoa historiaa, vaan poistaa kaikki rivit missä epämiellyttävä sana.

bash -c "unset HISTFILE && sed -i '/pahasana/d' historiatiedosto"

Tuossa suoritetaan omassa shellissä, ja "unset HISTFILE" tarkoittaa ettei juuri tuota komentoa tallenneta enää historiatiedostoon.

Äänestä

No joo, HISTFILE on ympäristömuuttuja ja sisältää täydellisen polun historia tiedostoon, jos sen sisältö tyhjennetään ei siinä istunnossa mitkään muutkaan ohjelmat tavoita kyseistä tiedostoa.

Ehkä sed komennon käyttö suoraan on fiksumpi tapa:

sed -i '/pahasana/d' $HISTFILE

Äänestä
  • Tuosta jäi välilyönti pois rivin alusta, se estää suorituksen historiaan kirjautumisen.

    Äänestä

Livessä tuokin on aina tyhjä jos niin haluaa eikä paska talletu "ikuisiksi" ajoiksi.
Livessä elämä niin paljon helpompaa. Ei tarvi miettiä mitä tekee vaan voi vaan kokeilla.

Äänestä

https://aanatoly.github.io/fbpanel/

Tuon asetustiedostoa helppo muokata käytönaikana bash scriptauksella ja tuonjälkeen scriptissä komento

"killall -USR1 fbpanel"

Lataa sillai asetustiedoston uudestaan muutetuin asetuksin. Saa lisää ohjelmia paneeliin tai niitä pois.

Jos vaikka mounttaa ajonaikana lisää moduuleita peliin

Tämän jakelun tapaan

http://www.porteus.org

sen käyttämään tint2 paneeliin meni hermot.....

Äänestä
  • No niin bash "hyöty" scriptausta?


    Jos mää kirjotan ihan mille riville tahansa sanotaan "#alkaa"

    niin miten te kirjotatte sen alle lisää "uusia" rivejä? (scriptillä). "#alkaa" ei saa vahingoittua eikä sen sanan alapuolella olevat rivit....pitää siis luoda "tyhjästä" uusia rivejä sanan "#alkaa" alle ja kirjoittaa senjälkeen mitä paskaa nyt haluaakin kirjoittaa rivi kerralla?

    Tuon jälkeen pitää tietysti pystyä poistaan kaikki kirjoitetut rivit ja "#alkaa" ei saa vahingoittua.

    Helppoo kuin heinän teko.

    Äänestä

  • Anonyymi00009 kirjoitti:

    No niin bash "hyöty" scriptausta?


    Jos mää kirjotan ihan mille riville tahansa sanotaan "#alkaa"

    niin miten te kirjotatte sen alle lisää "uusia" rivejä? (scriptillä). "#alkaa" ei saa vahingoittua eikä sen sanan alapuolella olevat rivit....pitää siis luoda "tyhjästä" uusia rivejä sanan "#alkaa" alle ja kirjoittaa senjälkeen mitä paskaa nyt haluaakin kirjoittaa rivi kerralla?

    Tuon jälkeen pitää tietysti pystyä poistaan kaikki kirjoitetut rivit ja "#alkaa" ei saa vahingoittua.

    Helppoo kuin heinän teko.

    Näinhän se on nähtävä, kaikki on helppoa kun osaa. Ehkä harvempi aloitteleva perehtyy tput- komentoriviympäristön mahdollisuuksiin.

    Mutta ohjeistuskin sisältää virheitä jotka kopioituvat sivulta toiselle. Yksi sellainen on värien määrä jonka kerrotaan 0-8 väriä merkille ja saman verran taustalle, mutta totuus on 0-15 väriä.

    MERKIN VÄRI, kirkas valkoinen
    tput setaf 15; echo " x "

    TAUSTAN VÄRI, kirkas valkoinen
    tput setap 15; echo " x "

    Niinpä minä olettaisin sinun käyttäneen ruudun tallennus/palautus komentoa.

    Äänestä

  • Anonyymi00009 kirjoitti:

    No niin bash "hyöty" scriptausta?


    Jos mää kirjotan ihan mille riville tahansa sanotaan "#alkaa"

    niin miten te kirjotatte sen alle lisää "uusia" rivejä? (scriptillä). "#alkaa" ei saa vahingoittua eikä sen sanan alapuolella olevat rivit....pitää siis luoda "tyhjästä" uusia rivejä sanan "#alkaa" alle ja kirjoittaa senjälkeen mitä paskaa nyt haluaakin kirjoittaa rivi kerralla?

    Tuon jälkeen pitää tietysti pystyä poistaan kaikki kirjoitetut rivit ja "#alkaa" ei saa vahingoittua.

    Helppoo kuin heinän teko.

    jos tiedostossa kokeilu.txt lukee millä tahansa yhdellä rivillä "#alkaa" niin sen alle helppo kirjoittaa sed:llä esimerkiksi.

    sed -i 's/#alkaa/#alkaa\n#poista\npaskaa\npaskaa\npaskaa\n/g' kokeilu.txt

    tuo siis korvaa "#alkaa" sanan sanalla "#alkaa" kirjoittaa sen alle "#poista" (jota voidaan myöhemmin tarvita (jos halutaan lisätyt rivit poistaa) lisää sen alle 3 riviä jossa lukee "paskaa") #paska:n sijaan vois lukea mitä tahansa....

    pos tuon saisi scriptsillä joka etsii kohdan "#poista"

    sed -i '/#poista/,+3d' kokeilu.txt

    Poistaa rivin jossa lukee "#poista" ja sen alta 3 riviä.

    Äänestä

Harvinaisen asiapitonen ketju, näitä syntyy kun kaksi osaavaa törmää yhteen.

Äänestä

Historian uudelleen kirjoittaminen kuulostaa venäläiseltä jutulta.

Äänestä

En tiedä olisiko kuinka hyvä pistää verkosta kohdalle sattunut komentoputki talteen juuri tuohon history-tiedostoon ja testailla sitä sitten paremmalla ajalla.

Äänestä
  • Tee aliakset jotka switchaa historyfilen.

    Äänestä

  • Anonyymi00014 kirjoitti:

    Tee aliakset jotka switchaa historyfilen.

    Ei hullumpi idea ja varmasti käyttökelpoinen jossakin tapauksessa, ei aina tule mieleen

    Äänestä

Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

Kommentoi aloitusta


Anonyymi-ap kirjoitti:

Komentohistoria löytyy komennon 'history' avulla shell:issä varmaan kaikista linux-ympäristöistä. Ja listauksessa on rivinumerot, joihin voi viitata '!n' komennolla jolloin kyseinen komento suoritetaan.
Entäpä sitten, kun kirjoittaa vahingossa väärään shelliin jonkin tärkeän salasanan ja se jää sitten historia-tiedostoon loppuelämäksi? Eipä mitään, sen voi poistaa komennolla:
$ history -d n
Missä n on poistettavan rivin numero historiatiedostossa kuten ylemmässä komennossakin.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu