Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:laborator-02:files [2021/10/13 11:48]
andreia.ocanoaia [Lucrul cu fișiere și directoare]
uso:laboratoare:laborator-02:files [2024/10/16 09:29] (current)
razvan.deaconescu [Lucrul cu fișiere și directoare]
Line 34: Line 34:
 ===== Ierarhie de fișiere ===== ===== Ierarhie de fișiere =====
  
-Un exemplu de ierarhie de fișier este în secțiunea //Căi în ierarhia de fișiere//.+Un exemplu de ierarhie de fișiere este în secțiunea //Căi în ierarhia de fișiere//.
  
 Pentru a vedea fișierele sub formă arborescentă,​ folosim comanda ''​%%tree%%''​. Pentru a vedea fișierele sub formă arborescentă,​ folosim comanda ''​%%tree%%''​.
Line 87: Line 87:
 student@uso:​~$ ls student@uso:​~$ ls
 Desktop ​   Downloads ​ Pictures ​ Templates ​ examples.desktop ​ vm-actions-log.txt Desktop ​   Downloads ​ Pictures ​ Templates ​ examples.desktop ​ vm-actions-log.txt
-Documents ​ Music      Public ​   Videos ​    uso.git+Documents ​ Music      Public ​   Videos ​    uso-lab
 </​code>​ </​code>​
  
Line 104: Line 104:
 drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Videos drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Videos
 -rw-r--r-- ​ 1 student student 8980 aug  6  2018 examples.desktop -rw-r--r-- ​ 1 student student 8980 aug  6  2018 examples.desktop
-drwxr-xr-x 14 student student 4096 aug 20  2018 uso.git+drwxr-xr-x 14 student student 4096 aug 20  2018 uso-lab
 -rw-r--r-- ​ 1 student student 4827 aug 21  2018 vm-actions-log.txt -rw-r--r-- ​ 1 student student 4827 aug 21  2018 vm-actions-log.txt
 </​code>​ </​code>​
Line 151: Line 151:
 -rw-rw-r-- 1 student student 0 oct 12 01:05 romania -rw-rw-r-- 1 student student 0 oct 12 01:05 romania
 </​code>​ </​code>​
-Observăm că în comanda de mai sus am încercat să creăm un fișier numit ''​%%cities romania%%'',​ însă au fost create două fișiere. Pentru a crea un fișier cu //spații (space)// inclus în nume este nevoie să folosim ghilimelele la începutul și sfârșitul numelui astfel: ''​%%touch "​cities romania"​%%''​.+Observăm că în comanda de mai sus am încercat să creăm un fișier numit ''​%%cities romania%%'',​ însă au fost create două fișiere. Pentru a crea un fișier cu //spații (space)// inclus în nume este nevoie să folosim ghilimelele la începutul și sfârșitul numelui astfel: ''​%%touch "​cities ​in romania"​%%''​.
  
 <code bash> <code bash>
Line 181: Line 181:
 -rw-rw-r-- 1 student student 0 oct 12 01:06  romania -rw-rw-r-- 1 student student 0 oct 12 01:06  romania
 </​code>​ </​code>​
-În continuare avem tot 3 fișiere în plus în directorul ''​%%~%%''​. Ne uităm la liniile ''​%%-rw-rw-r-- 1 student student 0 oct 12 01:05  romania%%''​ //(de dinainte)// și ''​%%-rw-rw-r-- 1 student student 0 oct 12 01:06  romania%%''​ (**de după**) și vedem că diferă timpul. Este vorba despre timpul la care a fost ultima dată accesat fișierul ''​%%romania%%''​.+În continuare avem tot 3 fișiere în plus în directorul ''​%%~/uso_lab02%%''​. Ne uităm la liniile ''​%%-rw-rw-r-- 1 student student 0 oct 12 01:05  romania%%''​ //(de dinainte)// și ''​%%-rw-rw-r-- 1 student student 0 oct 12 01:06  romania%%''​ (**de după**) și vedem că diferă timpul. Este vorba despre timpul la care a fost ultima dată accesat fișierul ''​%%romania%%''​.
  
 ==== Crearea directoarelor ==== ==== Crearea directoarelor ====
  
-Este util să creăm directoarele atunci când vrem să păstrăm fișierele din sistem într-un mod organizat. De exemplu, putem crea câte un director pentru fiecare an de licență. Pentru fiecare an/​director, ​cream câte un director pentru fiecare materie ​si pentru fiecare materie putem să facem directoare pentru teme, laboratoare,​ cursuri etc.+Este util să creăm directoarele atunci când vrem să păstrăm fișierele din sistem într-un mod organizat. De exemplu, putem crea câte un director pentru fiecare an de licență. Pentru fiecare an/​director, ​creăm ​câte un director pentru fiecare materie ​și pentru fiecare materie putem să facem directoare pentru teme, laboratoare,​ cursuri etc.
  
 Creăm directoarele folosind utilitarul ''​%%mkdir%%''​. Etimologia comenzii provine din limba engleză - //make directory//​. Creăm directoarele folosind utilitarul ''​%%mkdir%%''​. Etimologia comenzii provine din limba engleză - //make directory//​.
  
-Creăm ​un directoarele ''​%%GameOfThrones%%''​ și ''​%%Avengers%%''​ în directorul ''​%%~%%''​ ca în exemplul de mai jos:+Creăm directoarele ''​%%GameOfThrones%%''​ și ''​%%Avengers%%''​ în directorul ''​%%~/uso_lab02%%''​ ca în exemplul de mai jos:
  
 <code bash> <code bash>
Line 212: Line 212:
 </​code>​ </​code>​
 </​note>​ </​note>​
-  * Creați un director numit "WinnieThePooh" ​și unul numit "TomSiJerry"+  * Creați un director numit ''​WinnieThePooh'' ​și unul numit ''​TomSiJerry''​
-  * Creați fișierele ​"Iron Man""Hulk""Thor""Captain America" ​(**cu spațiu**) în directorul ​"Avengers"; afișați fișierele din director; +  * Creați fișierele ​''​Iron Man''​''​Hulk''​''​Thor''​''​Captain America'' ​(**cu spațiu**) în directorul ​''​Avengers''​; afișați fișierele din director; 
-  * Creați fișierele ​"Arya""Daenerys Targaryen" ​(**cu spațiu**), ​"Jon Snow""Tyrion Lannister" ​în directorul ​"GameOfThrones"; afișați fișierele din director.+  * Creați fișierele ​''​Arya''​''​Daenerys Targaryen'' ​(**cu spațiu**), ​''​Jon Snow''​''​Tyrion Lannister'' ​în directorul ​''​GameOfThrones''​; afișați fișierele din director.
  
  
Line 235: Line 235:
  
 <code bash> <code bash>
-student@uso:​~/​uso_lab02$ echo "A girl has no name" > "GameOfThrones/​Arya" +student@uso:​~/​uso_lab02$ echo "A girl has no name" > GameOfThrones/​Arya 
-student@uso:​~/​uso_lab02$ cat "GameOfThrones/​Arya"+student@uso:​~/​uso_lab02$ cat GameOfThrones/​Arya
 A girl has no name A girl has no name
 </​code>​ </​code>​
Line 307: Line 307:
  
 <note important>​ <note important>​
-După executarea comenziiverificăm corectitudinea operației. Trebuie să verificăm și să nu presupunem că o comandă s-a executat. Lipsa unei verifică poate duce la erori și mult timp pierdut din partea noastră.+După executarea comenzii verificăm corectitudinea operației. Trebuie să verificăm și să nu presupunem că o comandă s-a executat. Lipsa unei verificări poate duce la erori și mult timp pierdut din partea noastră.
 </​note>​ </​note>​
  
Line 327: Line 327:
 Un alt rol al comenzii ''​%%mv%%''​ este de a muta fișierele și directoarele,​ în ierarhia de fișiere, dintr-un loc în altul. Un alt rol al comenzii ''​%%mv%%''​ este de a muta fișierele și directoarele,​ în ierarhia de fișiere, dintr-un loc în altul.
  
-Mutăm directorul ''​%%GameOfThrones%%''​ (cu tot conținutul acestuia) la calea ''​%%/​tmp/​%%''​ folosind comanda ''​%%mv%%'':​+Mutăm directorul ''​%%ThroneOfGames%%''​ (cu tot conținutul acestuia) la calea ''​%%/​tmp/​%%''​ folosind comanda ''​%%mv%%'':​
  
 <code bash> <code bash>
 student@uso:​~/​uso_lab02$ ls student@uso:​~/​uso_lab02$ ls
 Avengers ​ GameOfThrones Avengers ​ GameOfThrones
-student@uso:​~/​uso_lab02$ mv GameOfThrones/ /tmp/+student@uso:​~/​uso_lab02$ mv ThroneOfGames/ /tmp/
 student@uso:​~/​uso_lab02$ ls /tmp/ student@uso:​~/​uso_lab02$ ls /tmp/
-GameOfThrones ​ ssh-ApUMKI3HSJ +ThroneOfGames ​ ​ssh-ApUMKI3HSJ
-student@uso:​~/​uso_lab02$ ls /tmp/ +
-GameOfThrones ​ ​ssh-ApUMKI3HSJ+
 student@uso:​~/​uso_lab02$ ls student@uso:​~/​uso_lab02$ ls
 Avengers Avengers
 </​code>​ </​code>​
-Acum directorul ''​%%GameOfThrones%%''​ se află în calea ''​%%/​tmp/​GameOfThrones%%''​. Am verificat folosind ''​%%ls%%''​ că nu se mai află în directorul curent și că există în directorul ''​%%/​tmp/​%%''​.+Acum directorul ''​%%ThroneOfGames%%''​ se află în calea ''​%%/​tmp/​ThroneOfGames%%''​. Am verificat folosind ''​%%ls%%''​ că nu se mai află în directorul curent și că există în directorul ''​%%/​tmp/​%%''​.
  
-Mutăm înapoi directorul ''​%%GameOfThrones%%''​ (cu tot conținutul acestuia) folosind cale relativă, pentru a indica directorul, și cale absolută, pentru a indica locul unde vrem să ajungă directorul folosind ''​%%mv%%'':​+Mutăm înapoi directorul ''​%%ThroneOfGames%%''​ (cu tot conținutul acestuia) folosind cale relativă, pentru a indica directorul, și cale absolută, pentru a indica locul unde vrem să ajungă directorul folosind ''​%%mv%%'':​
  
 <code bash> <code bash>
-student@uso:​~/​uso_lab02$ mv ../​../​../​tmp/​GameOfThrones/ /​home/​student/​+student@uso:​~/​uso_lab02$ mv ../​../​../​tmp/​ThroneOfGames/ /​home/​student/​uso_lab02
 student@uso:​~/​uso_lab02$ ls student@uso:​~/​uso_lab02$ ls
-Avengers  ​GameOfThrones+Avengers  ​ThroneOfGames
 </​code>​ </​code>​
-Am verificat că directorul ''​%%GameOfThrones%%''​ se află la calea indicată (calea curentă).+Am verificat că directorul ''​%%ThroneOfGames%%''​ se află la calea indicată (calea curentă).
  
 <​note>​ <​note>​
Line 370: Line 368:
      * Verificați că directorul și ierarhia de fișiere au fost mutate.      * Verificați că directorul și ierarhia de fișiere au fost mutate.
   -    - 
-     * Redenumiți directorul ''​%%GameOfThrones%%''​ în ''​%%ThronesInTheGame%%''​.+     * Redenumiți directorul ''​%%ThroneOfGames%%''​ în ''​%%ThronesInTheGame%%''​.
      * Mutați fișierele din interiorul directorului ''​%%ThronesInTheGame%%''​ în ''​%%/​tmp%%''​.      * Mutați fișierele din interiorul directorului ''​%%ThronesInTheGame%%''​ în ''​%%/​tmp%%''​.
      * Verificați operațiile.      * Verificați operațiile.
-     * Mutați ​directorul ​înapoi la locatia inițială folosind atât căi relative cât și căi absolute.+     * Mutați ​fișierele ​înapoi la locatia inițială folosind atât căi relative cât și căi absolute.
  
 ==== Copierea fișierelor și directoarelor ==== ==== Copierea fișierelor și directoarelor ====
Line 428: Line 426:
 drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
 (...) (...)
-drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones+drwxr-xr-x 2 student student 4096 Sep 29 17:44 ThronesInTheGame
 (...) (...)
 </​code>​ </​code>​
Line 475: Line 473:
 student@uso:​~/​uso_lab02$ mkdir .LordOfTheRings student@uso:​~/​uso_lab02$ mkdir .LordOfTheRings
 student@uso:​~/​uso_lab02$ ls student@uso:​~/​uso_lab02$ ls
-Avengers  ​GameOfThrones+Avengers  ​ThronesInTheGame
 student@uso:​~$ ls -al student@uso:​~$ ls -al
 total 20 total 20
Line 483: Line 481:
 drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
 (...) (...)
-drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones+drwxr-xr-x 2 student student 4096 Sep 29 17:44 ThronesInTheGame
 (...) (...)
 </​code>​ </​code>​
Line 526: Line 524:
 </​code>​ </​code>​
  
-Observăm că fișierul ''​%%examples.desktop%%''​ este un fișier de tipul //UTF-8// în ciuda extensiei, ''​%%/​usr/​bin/​touch%%''​ este o //​legătură simbolică//,​ iar ''​%%/usr/​bin/​touch%%''​ este un fișier //binar//.+Observăm că fișierul ''​%%examples.desktop%%''​ este un fișier de tipul //UTF-8// în ciuda extensiei, ''​%%/​usr/​bin/​touch%%''​ este o //​legătură simbolică//,​ iar ''​%%/​bin/​touch%%''​ este un fișier //binar//.
  
 Vom prezenta mai multe detalii în capitolul //​Îmbunătățirea lucrului în linia de comandă//. Vom prezenta mai multe detalii în capitolul //​Îmbunătățirea lucrului în linia de comandă//.
Line 624: Line 622:
 -rw-r--r-- 1 student student ​   0 Sep 29 19:04 test -rw-r--r-- 1 student student ​   0 Sep 29 19:04 test
 (...) (...)
-student@uso:/​tmp$ ln -s /​home/​student/​uso_lab02/​test ​+student@uso:/​tmp$ ln -s /​home/​student/​uso_lab02/​test ​my_link
 student@uso:/​tmp$ ls -l student@uso:/​tmp$ ls -l
 (...) (...)
Line 631: Line 629:
 student@uso:/​tmp$ rm my_link student@uso:/​tmp$ rm my_link
 student@uso:/​tmp$ ls student@uso:/​tmp$ ls
-student@uso:/​tmp$ ls -l /​home/​student/​uso_lab02+student@uso:/​tmp$ ls -l /​home/​student/​uso_lab02/test
 (...) (...)
 drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
Line 637: Line 635:
 (...) (...)
 </​code>​ </​code>​
-Observăm că dacă am șters un fișier accesându-l prin legătura, s-a șters și la destinație.+Observăm că dacă am șters un fișier accesându-l prin legătura ​(''​my_link''​)nu s-a șters și la destinație ​(''/​home/​student/​uso_lab02/​test''​).
  
 ==== Exerciții - legături (linkuri) ==== ==== Exerciții - legături (linkuri) ====
Line 680: Line 678:
 (...) (...)
 </​code>​ </​code>​
-Observăm cum se rulează un executabil atât cu cale relativă (în primul caz) cât și cu cale absolută (în al doilea caz).+Observăm cum se rulează un executabil atât cu cale relativă (în primul caz)cât și cu cale absolută (în al doilea caz).
  
uso/laboratoare/laborator-02/files.1634114933.txt.gz · Last modified: 2021/10/13 11:48 by andreia.ocanoaia
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0