UNIX,Linux,Retele,Programare
Homespacer Tutorialespacer Forumspacer Utilizatorispacer Cautarespacer Webmailspacer Director web


Lectia 02 - Utilizare UNIX

Scris de Agkelos

Din lectia anterioara stim ce e UNIX si UN*X, stim in mare cu ce se mananca, acum sa vedem si cum il putem folosi. Incerc aici sa pun cateva din comenzile de baza in UNIX, comenzi care le pueti folosi pentru navigarea prin structura de directoare a sistemului si comenzi care le folositi in viata de zi cu zi pentru lucrul cu fisierele.

1. ls
Comanda ls este folosita pentru listarea/afisarea continutului unui director. Mai jos, un exemplu:

root@server# ls
.cshrc bin/ dev/ home@ proc/ sbin/ usr/
.profile boot/ dist/ lib/ ptg stand/ var/
.snap/ cdrom/ entropy libexec/ rescue/ sys@ www@
COPYRIGHT compat@ etc/ mnt/ root/ tmp/
root@server#

Dupa cum vedeti, a afisat toate directoarele si fisierele din dinrectorul curent ( eram in directorul de root ). ls e o comanda destul de complexa si poate arata mai mult de atat dar pentru asta trebuie sa primeasca niste parametri. Combinatiile cele mai folosite sunt: ls -l pentru listare detaliata, ls -F pentru “fancy listing”, ls -G pentru listarea colorata - fisierele au culori diferite de directoare si culorile se schimba in functie de tipul fisierului sau permisiunile acestuia. Pentru mai multe optiuni consultati pagina de manual ;-)

2. Fisiere/directoare ascunse
In UNIX spre deosebire de Windows nu exista atributul “Hidden” pentru fisiere si directoare. In schimb, se pot ascunde fisierele dar intr-un mod diferit si anume prin numele acestuia. Daca numele fisierului incepe cu un punct ( . ) fisierul este ascuns si nu apare la listare ( ls ) decat daca listarea se face cu un parametru special (a - all) de forma ls -a. In mod implicit ls rulat ca root afiseaza toate fisierele chiar si cele ascunse dupa cum se poate vedea si in exemplul care l-am dat mai sus unde utilizatorul e root.

3. mkdir
Fisierele se organizeaza in directoare si subdirectoare, deci trebuie sa existe o comanda si pentru crearea directoarelor. Exista si numele e foarte sugestiv: mkdir (make directory). mkdir primeste ca argument numele directorului care urmeaza sa fie creat. Un exemplu:

root@server# ls
mysql.sock= test/
root@server#

Daca directorul exista deja, primim un mesaj de eroare de genul “File exists”:

root@server# mkdir test
mkdir: test: File exists
root@server#

4. pwd
Cand navigam, din cauza interfetei text se intampla sa uitam directorul in care ne aflam. Cea mai simpla metoda pentru a gasi directorul curent este comanda pwd - print work directory. Un exemplu de utilizare este urmatorul:

root@server# pwd
/tmp
root@server#

5. cd
Bun, daca stim cum sa facem directoare si sa listam continutul trebuie sa stim si cum putem intra in directoarele respective. Comanda pentru intrarea intr-un alt director este similara celei din MS-DOS si anume cd care vine de la “call directory” sau “change directory” dupa preferinte :-P
Un exemplu de utilizare:

root@server# pwd
/tmp
root@server# cd /var
root@server# pwd
/var
root@server# cd /home
root@server# pwd
/home
root@server# cd /usr/local/
root@server# pwd
/usr/local
root@server#

Dupa cum vedeti am schimbat de mai multe ori directorul curent cu comanda cd si de fiecare data am verificat cu pwd (comanda de mai sus). Nu e obligatoriu sa folositi calea absoluta ( pornind din directorul de root ). Daca doriti sa intrati intr-un director vecin, folositi pur si simplu numele directorului:

root@server# pwd
/tmp
root@server# ls
mysql.sock= test/
root@server# cd test/
root@server# pwd
/tmp/test
root@server#

6. Directoare speciale
Ca sa ne fie munca mai usoara, in UNIX exista trei directoare speciale fiecare cu semnificatia lui.
6.1 Directorul . (punct)
Intotdeauna un punct semnifica directorul curent. Este util in cazul rulari fisierelor executabile in directorul curent. Daca avem un script (ex. script.sh) suntem in directorul in care e scriptul si incercam sa il rulam vom primi o eroare daca directorul curent nu e in variabila $PATH. Ca sa il putem rula folosim fie calea absoluta (ex. /calea/catre/script/script.sh ) fie calea relativa la directorul curent ( ./script.sh ). Daca se foloseste calea relativa . are aceeasi valoare cu /calea/catre/script (adica directorul in care ne aflam).

6.2 Directorul .. (doua puncte)
Directorul .. se refera la directorul anterior. Daca suntem in directorul /calea/catre/directorul/curent/ si dorim sa ajungem in directorul superior, /calea/catre/directorul/ , va trebui sa folosim fie calea absoluta, adica cd /calea/catre/directorul/ fie calea relativa la directorul curent, adica cd ...

6.3 Directorul ~ (home directory)
Dupa cum am spus in lectia anterioara, fiecare utilizator al unui sistem UNIX are un home directory, un director in care se pastreaza datele utilizatorului, director in care este “plasat” utilizatorul imediat dupa logare, director in care utilizatorul are drepturi absolute (sau cel putin pe aproape :-). Pentru ca utilizatorul sa ajunga in directorul lui poate folosi calea absoluta cd /home/numeutilizator sau scurtatura cd ~. Dupa cum va dati seama e mai usor de intrat cu metoda scurta de apelare a directorului home.
Modul acesta de specificare a directorului este foarte util si in cazul apelarii unui script cazul rularii unui script din directorul HOME al utilizatorului. In loc de /home/numeutilizator/script.sh se poate folosi ~/script.sh care e mult mai simplu ;-)

7. mv
In UNIX mutarea si redenumirea sunt una si aceeasi chestie si ambele se fac cu ajutorul comenzii mv. Pentru utilizare se foloseste comanda mv in felul urmator: mv sursa destinatie unde sursa e numele initial al fisierului sau al directorului iar destinatie este numele final, numele dorit. Ca exemplu, folosim directorul test creat in /tmp (mentionat ceva mai sus):

root@server# ls
mysql.sock= test/
root@server# mv test test2
root@server# ls
mysql.sock= test2/
root@server#

Dupa cum vedeti a fost redenumit fara sa comenteze nimic.

8. cp
Comanda cp este folosita pentru a copia un fisier sau un director dintr-o parte in alta. Sintaxa este asemanatoare cu cea a comenzii mv si anume: cp sursa destinatie. Trebuie tinut minte ca in cazul in care dorim sa copiem un director, trebuie sa specificam si parametru -R pentru copiere recursiva, adica cp -R /home /backup/home.bak.

9. rm
Comanda rm este folosita pentru a sterge un fisier sau director si se foloseste in felul urmator: rm fisier (simplu). Cand stergem un fisier ni se cere o confirmare. Daca avem mai multe fisiere de sters e incomod sa confirmam stergerea fiecaruia asa ca putem folosi rm -f fisier pentru stergere fortata. Daca avem de sters un director trebuie ca in cazul precedent sa folosim optiunea de recursivitate -r adica rm -r director sau, ca sa evitam confirmarea stergerii, rm -rf director.

Cam atat pentru lectia asta. In lectia urmatoare invatam sa ne jucam putin cu fisierele text, sa le cumplam, sa le paginam sau orice altceva mai putem face :-)

Categoria: UNIX

 
© 2008 SkullBox, all rights reserved