Section 1: More Comfortable
Sadržaj:
- Korištenje
history
Naredba i proširenja povijesti - Spremanje popisa povijesti
- Brisanje povijesti
- Promjena ponašanja u povijesti
- Zaključak
, govorit ćemo o naredbi
history
, koja vam omogućuje pregled popisa prethodno izvršenih naredbi, pretraživanje po popisu i manipuliranje datotekom povijesti.
Korištenje
history
Naredba i proširenja povijesti
history
je građena školjka, a njezino se ponašanje može malo razlikovati od ljuske do ljuske. Pokrivat ćemo Bash-ovu ugrađenu verziju
history
.
U svom je najjednostavnijem obliku kada se poziva bez ikakvih mogućnosti ili argumenata, naredba
history
prikazuje cijeli popis povijesti s brojevima linija.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
Utipkajte
!n
izvršava n-tu naredbu s popisa povijesti, a
!-n
naredbu n retke natrag. U sljedećem primjeru izvršimo naredbu u retku
467
:
!467
Drugi način za izvršavanje naredbe je uporaba
!word
Ekspanzija.
word
odnosi na najnoviju naredbu koja započinje s riječju.
history
obično prikazuje mnogo izlaznih linija koje se ne uklapaju u zaslon. Da biste pogledali izlaznu stranicu po jednu, dodajte je u pager program poput naredbe
less
ili
less
:
history | less
Za prikaz zadnjih
n
redaka, proslijedite broj kao argument naredbi. Na primjer, da biste pogledali samo zadnjih pet redaka s popisa povijesti, unijeli biste:
history -5
Upotrijebite tipke sa strelicama
up
i
down
da biste se kretali unosima na popisu. Kad se prikaže naredba koju ste tražili, pritisnite
Enter
da biste je izvršili.
Vrsta
!!
izvršiti prethodnu naredbu:
!!
Ovo je osobito korisno kada zaboravite da zapovijedite naredbu sudom i umjesto da ponovo upišete naredbu možete unijeti:
sudo !!
!-1
isto je kao
!!
i izvršava zadnju naredbu s popisa povijesti, !
!-2
do zadnje, i tako dalje.
^word1^word2^
ekspanzija omogućuje vam ponovno pokretanje posljednje naredbe koja zamjenjuje "word1" s "word2". Ako ste slučajno upisali
sduo command
umjesto
sduo command
sudo command
možete ponoviti naredbu koristeći ispravnu riječ sa:
^sduo^sudo^
Upotrijebite naredbu
grep
za filtriranje izlaza. Na primjer, da biste pregledali sve naredbe uključujući „nano“, pokrenuli biste:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
Ako želite ponovo pokrenuti naredbu
nano setup.py
jednostavno upišite:
!356
Drugi način pretraživanja povijesti naredbi je pritiskom na
Ctrl-R
. Odzivnik će se promijeniti u sljedeće i možete početi tražiti prethodno izvršenu naredbu.
(reverse-i-search)`':
Shell će prikazati odgovarajuću liniju. Da biste se prebacili na sljedeći podudarni prijedlog, ponovno pritisnite
Ctrl-R
.
Provjerite Bash priručnik za više informacija o Proširenju povijesti, modifikatorima i označiteljima.
Spremanje popisa povijesti
Prilikom započinjanja nove sesije Bash čita popis povijesti iz datoteke
.bash_history
. Popis naredbi koje se izvode u trenutnoj sesiji čuvaju se u memoriji i spremaju se u datoteku kada sesija bude zatvorena.
Opcija
-a
omogućuje spremanje trenutnog popisa povijesti sesija u datoteku
.bash_history
:
history -a
Opcija
-w
upisuje cijeli popis povijesti u datoteku povijesti.
Brisanje povijesti
Naredba
history
omogućuje vam da očistite cijeli popis povijesti ili uklonite određene dijelove.
Da biste očistili popis povijesti, koristite opciju
-c
:
history -c
Da biste izbrisali određenu liniju ili linije između početne i krajnje pozicije s popisa povijesti, koristite opciju
-d
.
Na primjer, da biste uklonili linije između 365 i 375 (uključujući te retke), unijeli biste:
history -d 365 375
Kada se koristi negativni cijeli broj, redovi se odbrojavaju s kraja popisa povijesti.
Gornje naredbe brišu popis povijesti koji se zadržava u memoriji, ali ne uklanja unose iz
.bash_history
datoteke na disku. Da biste izbrisali datoteku, morate je napisati popis povijesti u datoteku:
Promjena ponašanja u povijesti
Ponašanje Bash povijesti može se definirati pomoću nekoliko različitih varijabli okruženja. Prilikom izmjene ponašanja u povijesti postavite varijable u
~/.bashrc
ili bilo koju drugu konfiguracijsku datoteku koja se učitava kada se korisnik prijavi.
Bash prema zadanom drži 500 redaka na popisu povijesti naredbi. Varijabla
HISTSIZE
omogućuje vam promjenu ove vrijednosti. Da biste ga postavili na 10000, dodajte sljedeći redak u
.bashrc
datoteku:
HISTSIZE=10000
Promjena
HISTCONTROL
prihvaća popis vrijednosti odvojenih dvotočkom koji definiraju kako se naredbe spremaju u popis povijesti:
-
ignorespace
- naredbe koje započinju s razmakom ne spremaju se na popis povijesti.ignoredups
- duplicirane naredbe se ne spremaju.ignoreboth
- skraćenica je koja uključuje iignorespace
iignoredups
.
HISTCONTROL=ignoreboth
Kad je
HISTTIMEFORMAT
varijabla
HISTTIMEFORMAT
, Bash sprema vremensku oznaku izvršenja za naredbu u svakom retku.
Na primjer, ako postavite:
HISTTIMEFORMAT="%F %T: "
Povijest će biti prikazana u sljedećem formatu:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
Zaključak
Naredba za
history
prikazuje popis prethodno izvršenih naredbi. Na primjer, možete koristiti povijest da biste pregledali dugu naredbu koju ste prije koristili i koje se ne možete sjetiti.
Chmod naredba u Linuxu (dopuštenja datoteka)

U Linuxu pristup datotekama upravlja se putem dozvola, atributa i vlasništva datoteka. Ovaj je vodič opisao kako pomoću naredbe chmod mijenjati dozvole pristupa datotekama i mapama.
Chgrp naredba u linuxu (promjena grupa)

U Linuxu je svaka datoteka povezana s vlasnikom i skupinom te ima dopuštenja koja određuju koji korisnici mogu čitati, pisati ili izvršavati datoteku. Naredba chgrpc mijenja vlasništvo grupe nad datotekama.
Cp naredba u Linuxu (kopiranje datoteka)

cp je uslužni program za kopiranje datoteka i mapa u Unix i Linux sustavima.