Deplasarea prin structura de directoare
Sistemul de fișiere este, așa cum am arătat, organizat cu ajutorul directoarelor și a subdirectoarelor.
Directorul curent
$ cd /usr/bin [Enter]
$ pwd [Enter]
/usr/bin
Calea absolută și calea relativă
Calea absolută pornește din directorul rădăcină în timp ce calea relativă pornește din directorul curent.
$ cd /usr/local[Enter]
Aceasta este o cale absolută deoarece începe cu /.
$ pwd [Enter]
/usr/local
$ cd bin [Enter]
Aceasta este o cale relativă deoarece pornește din directorul curent și merge în jos către bin.
$ pwd [Enter]
/usr/local/bin
Deplasarea în directoarele anterioare
Fiecare director are două referințe speciale pentru subdirectoare:
- – un punct (.) se referă la directorul curent
- – două puncte (..) se referă 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 înapoi mai mult de un nivel.
$ cd ../../var/tmp [Enter]
$ pwd [Enter]
/var/tmp
$ cd /usr/bin/../local/bin/.. [Enter]
$ pwd [Enter]
/usr/local
Referirea exactă la directorul curent
Directorul curent poate fi privit ca un singur punct. În practică, toate căile relative pot începe cu prefixul ./
$ cd ./bin [Enter]
$ pwd [Enter]
/usr/local/bin
Directorul home
Fiecare utilizator are un director personal, cunoscut sub numele de home (acasă), el păstrează toate datele ce aparțin utilizatorului respectiv. Tastând doar cd, utilizatorul poate ajunge direct în directorul sau home.
$ cd [Enter]
$ pwd [Enter]
/home/john
Unele shell-uri înlocuiesc semnul ~ de la începutul unei căi cu calea directorului home a utilizatorului.
$ cd ~ [Enter]
$ pwd [Enter]
/home/john
În același fel, dacă semnul ~ este așezat în fața unui cont de utilizator va fi înlocuit cu calea către directorul home al utilizatorului.
$ cd ~mary [Enter]
$ pwd [Enter]
/home/mary
Înapoi la directorul home.
$ cd [Enter]
Conținutul directoarelor
Pentru a lista conținutul unui director, se folosește comanda ls.
$ ls /bin [Enter]
Comanda ls /bin afișează conținutul lui /bin/.
O afișare mult mai completă se poate obține folosind opțiunea –l (long list).
$ ls -l /bin [Enter]
Pentru a afișa fișierele ascunse (care încep cu un punct)
$ ls –a [Enter]
Crearea fișierelor
Există modalități diferite de a crea un fișier. Cel mai simplu este sa creezi un fișier gol folosind comanda touch. Mai întâi se face deplasarea în directorul home, cel mai bun “loc de joacă”.
$ cd [Enter]
$ touch myfile [Enter]
$ ls -l myfile [Enter]
Se poate folosi și 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]
Copierea fișierelor
$ cp myfile2 myfile3 [Enter]
Copierea unui grup este posibilă doar dacă ultimul fișier este un director existent.
$ cp myfile myfile2 myfile3 /tmp [Enter]
$ cp myfile* /tmp [Enter]
Ștergerea fișierelor
Atenție! Atunci când ștergeți ceva și sunteți administrator!
$ rm myfile myfile2 [Enter]
Nu există nicio modalitate pentru a recupera fișierele șterse. Puteți utiliza metacaracterele: * și ?.
$ ls myfile* [Enter]
myfile3
$ rm myfile* [Enter]
Crearea directoarelor
$ cd [Enter]
$ mkdir mydir [Enter]
Să verificăm cu ls.
$ ls –l [Enter]
…
drwxr-xr-x 8 john john 1024 Dec 23 12:11 mydir
…
Caracterul d de la începutul șirului ne spune că fișierul este un director.
Copierea directoarelor
Comanda cp cu opțiunea -r sau -R.
$ cp -r mydir mydir2[Enter]
Ștergerea directoarelor
Se pot șterge directoare goale utilizând rmdir.
$ rmdir mydir2[Enter]
Iată însă 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]
Mutarea și redenumirea
În mediul Unix redenumirea și mutarea unui fișier înseamnă același lucru. Comanda utilizată este mv.
$ touch white[Enter]
$ touch green[Enter]
$ mkdir purple[Enter]
Să redenumim fișierul white și să-l facem brown.
$ mv white brown[Enter]
$ ls -l[Enter]
Pentru a muta mai multe fișiere odată destinația trebuie să 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]