4.1 Editorul VI
4.2 Comenzi de baza
4.3 Regular Expressions
4.4 Comenzile find si grep
Editorul VI
In Unix/Linux exista mai multe editoare de text acestea impartindu-se in editoare grafice ( gedit, kate ) si editoare care ruleaza in consola ( vi, vim, emacs, joe, pico, nano etc).
Editorul omniprezent pe orice sistem Unix/Linux este VI (Visual Editor).
Acesta este extrem de flexibil, complex si plin de optiuni.
Nota
|
VIM (VI Improved) reprezinta o varianta imbunatatita a lui VI care ofera multe facilitati suplimentare si este de recomandat sa fie folosit atunci cand se poate. Toate regulile din VI raman valabile. In Ubuntu VIM nu este instalat default. Trebuie rulata comanda: sudo apt-get install vim
|
Se caracterizeaza prin 3 modalitati de operare:
1. Command Mode
In momentul in care se deschide VI suntem introdusi in "command mode". Se foloseste pentru a accesa celelalte moduri, pentru a vizualiza si edita fisierul curent, copy/paste, search etc.
Pentru a schimba intre celelalte 2 moduri de operare ( Insert Mode si Last Line Mode) trebuie sa trecem prin Command Mode. Se foloseste tasta ESC.
Modul comanda se foloseste pentru a sterge un caracter, un cuvant, un grup de cuvinte sau litere precum si pentru a inlocui un text.
In modul command ne gasim dupa deschiderea unui fisier ( Exemplu: vim /etc/passwd) sau din celelalte moduri apasand tasta ESC.
In timp ce ne aflam in modul comanda avem urmatoarele optiuni:
r - replace a char
x - sterge caracterul de sub cursor.
cw - change word - sterge cuvantul incepand cu litera de unde este pozitionat cursorul si ne introduce in Insert Mode.
dd - sterge o linie (de fapt efectul este de cut, putem face paste ulterior)
7dd - sterge 7 linii
dw - sterge cuvantul de sub cursor incepand cu caracterul care se gaseste sub cursor.
u - undo
G - se duce la sfarsitul fisierului
$ - muta cursorul la sfarsitul liniei
0(zero) sau ^(carret) - muta cursorul la inceputul unei linii
:x - muta cursorul pe linia nr. x.
Exemplu: :37 - muta pe linia 37
shift+v, alt+v si ctrl+v ne introduce intr-un sub mod in care putem selecta vizual un bloc de text sau mai multe randuri (valabil doar in VIM).
y(yank) - echivalentul lui copy din Windows
p(paste)
/(slash) - search forward.
? - search backward
n - urmatoarea aparitie
N - aparitia anterioara
ZZ (z mare, z mare) - salvare cu iesiere din fisier
2. Insert Mode
Este folosit pentru a insera text in documentul curent.
Pentru a intra in Insert Mode din Command Mode se pot folosi urmatoarele taste:
i - insereaza inaintea caracterului de sub cursor
I - insereaza la inceputul unui rand
a - insereaza dupa caracterul de sub cursor
A - insereaza la sfarsitul randului
o - insereaza pe randul urmator.
3. Last Line Mode
Se foloseste pentru a salva documentul curent, pentru revenire la varianta de la ultima salvare a fisierului sau pentru a executa diferite comenzi (text substitution, afisarea nr. de linii etc).
Pentru a intra in acest mod se foloseste : (doua puncte) din Command mode.
In Last Line mode utilizatorul are la dispozitie urmatoarele comenzi:
wq - write and quit
q! - quit fara salvare
w! - salvare fara quit
e! - undo
set nu - numeroteaza liniile
Editorul VIM foloseste fisierul de configurare ~/.vimrc si/sau ~/.exrc. Acestea pot fi modificate pentru customizarea editorului astfel incat setarile sa ramana permanente. Daca aceste fisiere nu exista se pot crea (fosind touch/vim), iar VIM le va folosi.
Resurse:
VIM Tutorial - PDF
O'Reilly - Learning the VI Editor, 6th Edition
YouTube - Basic VIM Tutorial
Comenzi de baza
In Linux exista peste 400 de comenzi folosite pentru managementul sistemului. Nu toate sunt insa utilizate pentru taskurile zilnice ale unui administrator de sistem. Mai jos ne-am propus sa explicam cele mai folosite comenzi din Linux. O intelegere buna a acestora este extrem de importanta pentru a putea avansa in studiul unui sistem de operare Linux.
Important
Cunoasterea tuturor comenzilor si a tuturor optiunilor acestora este imposibila chiar si pentru cei mai experimentati admini. Documentatia comenzilor se gaseste in man page-uri care trebuie folosite intesiv in momentul in care se doreste aflarea efectului unei comenzi sau a unei optiuni a comenzii.
Exemplu: man ls
pwd - Print Working Directory
Afiseaza directorul curent. Nu are optiuni sau argumente.
cd - Change Directory
Schimba directorul curent.
cd NEW_DIRECTORY - mutare in directorul NEW_DIRECTORY
.. = directorul parinte
. = directorul curent
~ = home directory
Exemplu
|
1. Directorul curent se schimba cu /etc/
cd /etc
2. Viitorul director curent va fi parintele directorului curent actual
cd ..
3. Directorul curent devine Home Directory al userului care executa comanda. Daca se ruleaza comanda cd fara argumente se schimba directorul curent cu Home Directory. Cele 2 comenzi sunt echivalente
cd ~
cd
4. Directorul curent devine ultimul director in care ne-am aflat
cd - = mutare in directorul anterior
|
mkdir - Make Directory
mkdir OPTIONS DIRECTORY
Optiuni:
-p = creaza atat directorul cat si directoarele parinte daca acestea nu exista. Daca directorul parinte nu exista comandamkdir returneaza eroare daca se foloseste fara optiunea -p
-v = verbose
Exemplu: mkdir /home/stud/documents/privat
ls - List
Listeaza continut director sau listare informatii despre fisier.
ls OPTIONS FILE/DIRECTORY
Detalii
mv - Move
Muta sau redenumeste (in functie de context) fisiere si directoare.
In Linux nu exista comenzi diferite pentru mutare respectiv redenumire.
mv OPTIONS SOURCE DESTINATION
Optiuni:
-f = force (do not prompt before overwriting)
-i = interactive (prompt before overwriting)
-u = update (muta doar daca sursa este mai noua ca destinatia sau destinatia lipseste)
-v = verbose
Exemplu
|
1. Muta fisierul file1.txt din /home/paul/ in /home/dan/ sub numele de file2.txt
mv /home/paul/file1.txt /home/dan/file2.txt
2. Redenumire director
mv /home/dan /home/andrei
|
cp - Copy
Copiaza fisiere sau directoare din sursa in destinatie.
cp OPTIONS SOURCE DESTINATION
Optiuni:
-i = interactiv
-p = pastreaza owner, group si permisiuni pt. fisierul destinatie creat
-r = copiaza recursiv (obligatoriu pentru directoare)
-f = force (do not prompt before overwriting)
rm - Remove
Sterge fisiere sau directoare.
rm OPTIONS FILES/DIRECTORIES
Optiuni:
-i = interactiv
-r = sterge recursiv, obligatoriu pentru directoare
-f = force
Nota
|
Comanda rm (ca si comenzile asemanatoare din Windows) nu sterge efectiv informatia reprezentata de fisier ci doar marcheaza inode-ul si blocurile de date catre care acesta pointeaza ca fiind "libere pentru a fi utilizate din nou". Folosind programe speciale informatia stearsa poate fi recuperata FOARTE USOR.
Programe cunoscute si folosite pentru investigarea unui sistem dupa compromiterea sa de catre un Black Hat Hacker si care contin inclusiv utilitare pentru recuperarea informatiei sterse accidental sau intentionat sunt The Sleuth Kit, Autopsy Browser si The Coroner's Toolkit (TCT).
|
Important
Un fisier sau director sters folosind comanda rm nu mai poate fi recuperat in mod standard din Recycle Bin. In Linux pentru fisierele si directoarele sterse folosind cumanda rm nu exista Recycle Bin. Un fisier odata sters nu mai poate fi recuperat in mod conventional.
shred
Sterge securizat fisiere.
shred OPTIONS FILES
Exemplu
|
Suprascrie fisierul a.txt cu date aleatoare de 100 ori (optiunea -n) dupa care il sterge.
shred -vu -n 100 a.txt
|
touch
Creaza un fisier gol daca FILE nu exista sau reseteaza atime, mtime si ctime pentru FILE daca acesta exista.
touch OPTIONS FILE
Detalii
cat
Concateneaza si/sau afiseaza continutul unui fisier
cat OPTIONS FILES
Optiuni:
-b = no. of nonblank lines
-n = no. of output lines
Exemplu
|
1. Afiseaza fisierul /etc/passwd la consola
cat /etc/passwd
2. Concateneaza fisierele /etc/passwd si /etc/shadow in fisierul /home/dan/passwd-shadow pe care il si creaza daca nu exista sau il suprascrie daca exista.
cat /etc/passwd /etc/shadow > /home/dan/passwd-shadow
|
more & less
Programe de paginare.
more FILE
less FILE
Detalii
head
Afiseaza primele linii (default 10) dintr-un fisier
head OPTIONS FILE
Optiuni:
-n nr = afiseaza primele 'nr' linii
tail
Afiseaza ultimele linii (default 10) dintr-un fisier
tail OPTIONS FILE
Optiuni:
-n nr = afiseaza ultimele 'nr' linii
-n +nr = afiseaza incepand cu linia 'nr'
-f = afiseaza in timp real ultimele linii dintr-un fisier. tail -f fisier este cea mai importanta comanda pentru urmarirea modificarii in timp real a logurilor.
Exemplu
|
1. Afiseaza fisierul /etc/passwd incepand cu linia nr. 5 si pana la final
tail -n +5 /etc/passwd
tail -n 5 /var/log/auth.log
3. Afiseaza in timp real ultimele 10 linii din fisierul cu loguri /var/log/auth.log
tail -f /var/log/auth.log
|
strings
Afiseaza caracterele printabile/ascii dintr-un fisier binar.
strings FILE
Exemplu: strings /bin/ls
wc
Afiseaza nr. de randuri, caractere sau cuvinte dintr-un fisier
wc OPTIONS FILE
Optiuni:
-l = nr. de linii
-w = nr de cuvinte
-m = nr de caractere
Exemplu:
1. Afiseaza nr. de useri din sistem
wc -l /etc/passwd
2. Afiseaza nr. userilor logati in sistem
who | wc -l
file
Determina tipul fisierului
file OPTIONS FILE
Optiuni:
-p = preserve atime
du - disk usage
Afiseaza marimea unui fisier sau director
du OPTIONS FILE
Optiuni:
-k = adauga prefixul KB
-s = sum (summarize)
-h = human readable format
Exemplu: du -ksh /etc/
df - disk free
Afiseaza spatiul total, spatiul ocupat si spatiul liber de pe fiecare partitie de pe hard disk.
df OPTIONS
Optiuni:
-h = human readable
-i = print used/free inodes
Exemplu: df -hi
cmp - compare
Compararea a 2 fisiere fara afisarea diferentelor dintre ele.
cmp FILE1 FILE2
diff
Compara FILE1 si FILE2 dupa continut si afiseaza diferentele
diff OPTIONS FILE1 FILE2
Optiuni:
-i = case insensitive
-B = ignora liniile goale (blank lines)
-w = ignora spatiile libere (white spaces)
-c = comparare detaliata
-y = afiseaza pe coloane
stat - statistics
Afiseaza informatii despre FILE (size, type, atime, mtime, ctime)
stat FILE
history
Afiseaza comenzile din history
history OPTIONS
Optiuni:
-c = sterge comenzile din history
-d nr = sterge linia nr. din history
which
Cauta si afiseaza calea catre o comanda
which
whereis
Cauta si afiseaza calea catre o comanda, man page sau sursa
whereis
uptime
Afiseaza timpul de cand hostul este pornit precum si load-ul din ultimele 1,5 si 15 minute
uptime
date
Afiseaza/modifica data
date
free
Afiseaza informatii despre RAM si SWAP
free OPTIONS
Optiuni:
-t = total
-m = MB
-k = KB
uname
Afiseaza informatii despre sistem (kernel version etc)
uname OPTIONS
Optiuni:
-a = all info
-s = kernel name
-r = kernel release
-v = kernel version
-m = machine
-p = processor
-o = operating system
Exemplu: uname -a
uname -s -r -v -m
vmstat - virtual memory statistics
Afiseaza informatii despre despre memorie, cpu, I/O blocks etc
vmstat
Informatiile afisate sunt documentate in man page-ul comenzii.
ifconfig - Interface configuration
Afiseaza informatii despre interfetele de retea. Se foloseste si pentru a seta caracteristicile interfetelor de retea (IP, Network Mask, MAC etc).
ifconfig OPTIONS INTERFACE
Exemplu
|
1. Afiseaza informatii despre toate interfetele (active sau inactive)
ifconfig -a
2. Afiseaza informatii doar despre interfetele active
ifconfig
3. Afiseaza informatii doar despre interfata eth0
ifconfig eth0
|
Nota
|
Pentru exemple referitoare la modul in care se pot seta parametri placii de retea folosind comanda ifconfig cititi capitolul Configurare retea.
|
netstat
Afiseaza informatii despre porturile deschise precum si despre conexiunile existente.
netstat OPTIONS
Optiuni:
-t = porturile tcp
-u = porturile udp
-p = afiseaza numele programului(client sau server) care foloseste portul
-a = all
-n = afisare numerica
Exemplu: netstat -tupan
lshw
Afiseaza informatii despre hardware.
Exemplu: lshw | less
lspci
Afiseaza informatii despre dispozitivele PCI.
acpi -V
Afiseaza informatii despre baterie in cazul laptopurilor.
iftop
Afiseaza informatii despre conexiunile din retea inclusiv Bandwidth. Se poate folosi si pe post de "Bandwidth Meter". In cazul in care nu este instalat default trebuie rulat: sudo apt-get install iftop
Exemplu: iftop -i wlan0 -B -P -n
wodim -prcap
Afiseaza informatii despre capabilitatile CD/DVD Rom.
Nota
|
Multe exemple din aceasta pagina au folosit fisierul /etc/passwd. Acesta este unul dintre cele mai importante fisiere din sistem in care se gasesc utilizatorii sistemului, cate unul pe fiecare linie, impreuna cu multe informatii despre acestia.
|
Dostları ilə paylaş: |