|
Linux - Administrare si navigare in sistemul de fisiere
Sistemul de fisiere este, asa cum am aratat, organizat cu ajutorul directoarelor si a subdirectoarelor.
$ cd /usr/bin [Enter]
$ pwd [Enter]
/usr/bin
Calea absoluta porneste din directorul radacina in timp ce calea relativa porneste din directorul curent.
$ cd /usr/local[Enter]
Aceasta este o cale absoluta deoarece incepe cu /.
$ pwd [Enter]
/usr/local
$ cd bin [Enter]
Aceasta este o cale relativa deoarece porneste din directorul curent si merge in jos catre bin.
$ pwd [Enter]
/usr/local/bin
Fiecare director are doua referinte speciale pentru subdirectoare:
un punct (.) se refera la directorul curent
doua puncte (..) se refera la directorul anterior.
Aceste simboluri sunt nume efective de directoare.
$ cd .. [Enter]
$ pwd [Enter]
/usr/local
$ cd ../bin [Enter]
$ pwd [Enter]
/usr/bin
Se poate face deplasare inapoi mai mult de un nivel.
$ cd ../../var/tmp [Enter]
$ pwd [Enter]
/var/tmp
$ cd /usr/bin/../local/bin/.. [Enter]
$ pwd [Enter]
/usr/local
Directorul current poate fi privit ca un singur punct. In practica toate caile relative pot incepe cu prefixul ./
$ cd ./bin [Enter]
$ pwd [Enter]
/usr/local/bin
Fiecare utilizator are un director personal, cunoscut sub numele de home (acasa), el pastreaza toate datele ce apartin utilizatorului respective. Tastand doar cd, utilizatorul poate ajunge direct in directorul sau home.
$ cd [Enter]
$ pwd [Enter]
/home/john
Unele shell-uri inlocuiesc semnul ~ de la inceputul unei cai cu calea directorului home a utilizatorului.
$ cd ~ [Enter]
$ pwd [Enter]
/home/john
In acelasi fel, daca semnul ~ este asezat in fata unui cont de utilizator va fi inlocuit cu calea catre directorul home al utilizatorului.
$ cd ~mary [Enter]
$ pwd [Enter]
/home/mary
Inapoi la directorul home.
$ cd [Enter]
Pentru a lista continutul unui director se foloseste comanda ls.
$ ls /bin [Enter]
arch dd gzip netconf sleepComanda ls /bin afiseaza continutul lui /bin/.
O afisare mult mai completa se poate obtine folosind optiunea -l (long list).
$ ls -l /bin [Enter]
-rwxr-xr-x 1 root root2612 Mar 7 11:29 archmulte linii
-rwxr-xr-x 1 root root4320 Mar 7 12:15 true$ cd [Enter]
$ ls [Enter]
Pentru a afisa fisierele ascunse (care incep cu un punct).
$ ls -a [Enter]
. .bash_history .enlightenment .mcExista modalitati diferite de a crea un fisier. Cel mai simplu este sa creezi un fisier gol folosind comanda touch. Mai intai se face deplasarea in directorul home, ce mai bun "loc de joaca".
$ cd [Enter]
$ touch myfile [Enter]
$ ls -l myfile [Enter]
-rw-rw-r-- 1 john john 0 Dec 23 10:49 myfile
Fisierul a fost creat..
Se poate folosi si comanda cat:
$ cat > myfile2 [Enter]
there are better ways to write [Enter]
text.[Enter]
This is a one-way writing. [Enter]
[Ctrl+d]
$ cat myfile2 [Enter]
$ cp myfile2 myfile3 [Enter]
Copierea unui grup este posibila doar daca ultimul fisier este un director existent.
$ cp myfile myfile2 myfile3 /tmp [Enter]
$ cp myfile* /tmp [Enter]
Atentie atunci cand stergeti ceva si sunteti administrator!
$ rm myfile myfile2 [Enter]
Nu exista nici o modalitate pentru a recupera fisierele sterse.
Puteti utiliza metacaracterele: * si ?.
$ ls myfile* [Enter]
myfile3
$ rm myfile* [Enter]
$ cd [Enter]
$ mkdir mydir [Enter]
Sa verificam cu ls.
$ ls -l [Enter]
drwxr-xr-x8 john john 1024 Dec 23 12:11 mydir
Caracterul d de la inceputul sirului ne spune ca fisierul este un director.
Copierea directoarelor
Comanda cp cu optiunea -r sau -R.
$ cp -r mydir mydir2[Enter]
Se pot sterge directoare goale utilizand rmdir.
$ rmdir mydir2[Enter]
Iata insa ceva mai complex.
$ mkdir carbon [Enter]
$ mkdir carbon/hydrogen [Enter]
$ mkdir carbon/oxygen [Enter]
$ mkdir carbon/hydrogen/helium [Enter]
$ rmdir carbon [Enter]
rmdir: carbon: Directory not empty
$ rm -r carbon [Enter]
Comanda utilizata este mv.
$ touch white[Enter]
$ touch green[Enter]
$ mkdir purple[Enter]
Sa verificam:
$ ls -l[Enter]
-rw-rw-r--1johnjohn 0 Dec 25 12:46 white
-rw-rw-r--1johnjohn 0 Dec 25 12:46 green
drwxrwxr-x 2johnjohn 1024 Dec 25 12:46 purple
Sa redenumim fisierul white si sa-l facem brown.
$ mv white brown[Enter]
$ ls -l[Enter]
-rw-rw-r--1 john john 0 Dec 25 12:46 brown
Pentru a muta mai multe fisiere odata destinatia trebuie sa fie un director.
$ mv brown green purple [Enter]
$ ls -l purple [Enter]
-rw-rw-r-- 1 john john 0 Dec 25 12:46 green
-rw-rw-r-- 1 john john 0 Dec 25 12:46 brown
$ mv purple /tmp [Enter]
In locul copierii unui fisier s-ar putea sa dorim sa cream o referinta catre acesta. Exista doua tipuri de legaturi care pot fi create: hard link-uri si soft link-uri. Comanda pentru o legatura soft este ln cu optiunea -s.
Mai intai cream mediul.
$ touch one[Enter]
$ touch two[Enter]
$ mkdir three[Enter]
Verificam..
$ ls -l [Enter]
-rw-rw-r--1 john john 0 Dec 25 12:46 two
drwxrwxr-x 2 john john 1024 Dec 25 12:46 three
-rw-rw-r--1 john john0 Dec 25 12:46 one
$ ln -s one one.bis [Enter]
$ ls -l [Enter]
lrwxrwxrwx 1 johnjohn 3 Dec 25 12:47 one.bis -> one
La fel este si pentru directoare.
$ ln -s /tmp miatemp [Enter]
$ ln -s /home/john/one* /home/john/two three [Enter]
$ ls -l three [Enter]
lrwxrwxrwx 1johnjohn15 Dec 25 15:21 two -> /home/john/two
lrwxrwxrwx 1johnjohn15 Dec 25 15:21 one -> /home/john/one
lrwxrwxrwx 1johnjohn19 Dec 25 15:21 one.bis -> /home/john/one.bis