Differences

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

Link to this comparison view

uso:laboratoare:new:01-fs:need-to-know [2019/10/02 23:06]
liza_elena.babu
uso:laboratoare:new:01-fs:need-to-know [2020/09/08 10:27] (current)
razvan.deaconescu [2. Ierarhie de directoare]
Line 9: Line 9:
  
 Putem observa că după **locate** trebuie să menționăm opțiunile precum și pattern-ul, adică cuvântul cheie pe care îl căutam. Putem observa că după **locate** trebuie să menționăm opțiunile precum și pattern-ul, adică cuvântul cheie pe care îl căutam.
-Putem afla aceste opțiuni prin folosirea comenzii **man locate** sau **locate --help**.+Putem afla aceste opțiuni prin folosirea comenzii **man locate** sau **locate ​<​nowiki>​--</​nowiki>​help**.
  
 Vom căuta cuvântul cheie **slayer**, adică fișierul **slayer** în sistemul de fișiere. Vom căuta cuvântul cheie **slayer**, adică fișierul **slayer** în sistemul de fișiere.
Line 25: Line 25:
 <code bash> <code bash>
 student@uso:​~$ locate slayer student@uso:​~$ locate slayer
-/​home/​student/​uso.git/​lab02/​demo/​slayer+/​home/​student/​uso-lab/​lab02/​demo/​slayer
 </​code>​ </​code>​
  
Line 35: Line 35:
 Mai departe vom căuta în interiorul fișierelor dintr-o ierarhie. Vom folosi utilitarul **grep**. Acesta se folosește astfel: Mai departe vom căuta în interiorul fișierelor dintr-o ierarhie. Vom folosi utilitarul **grep**. Acesta se folosește astfel:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ grep --help+student@uso:​~/​uso-lab$ grep --help
 Usage: grep [OPTION]... PATTERN [FILE]... Usage: grep [OPTION]... PATTERN [FILE]...
 Search for PATTERN in each FILE. Search for PATTERN in each FILE.
Line 41: Line 41:
 </​code>​ </​code>​
 Cuvântul cheie **grep** urmat de opțiuni și de cuvântul cheie pe care îl căutam. Cuvântul cheie **grep** urmat de opțiuni și de cuvântul cheie pe care îl căutam.
-Putem afla aceste opțiuni prin folosirea comenzii **man grep** sau **grep --help** la fel ca la utilitarul **locate**.+Putem afla aceste opțiuni prin folosirea comenzii **man grep** sau **grep ​<​nowiki>​--</​nowiki>​help** la fel ca la utilitarul **locate**.
 Astfel, putem observa că există opțiunea **-r** cu care putem căuta recursiv într-o ierarhie de fișiere. Astfel, putem observa că există opțiunea **-r** cu care putem căuta recursiv într-o ierarhie de fișiere.
  
-Vrem să căutăm apariția ''​int main()''​ in ierarhia de fișiere ''​~/​uso.git''​. Mergem în această ierarhie folosind **cd ~/uso.git**.+Vrem să căutăm apariția ''​int main()''​ in ierarhia de fișiere ''​~/​uso-lab''​. Mergem în această ierarhie folosind **cd ~/uso-lab**.
  
 <code bash> <code bash>
-student@uso:​~/​uso.git$ grep -r "int main()"​+student@uso:​~/​uso-lab$ grep -r "int main()"​
 tema1/​year/​year.c:​int main(){ tema1/​year/​year.c:​int main(){
 lab03/​ugly/​ugly.c:​}int main() lab03/​ugly/​ugly.c:​}int main()
Line 72: Line 72:
 </​code>​ </​code>​
  
-**[1c]** Căutați în interiorul fișierelor în ierarhia de fișiere ''​~/​uso.git''​ patternul **"​include <​stdio.h>"​**. Folosiți ''​grep recursiv''​.+**[1c]** Căutați în interiorul fișierelor în ierarhia de fișiere ''​~/​uso-lab''​ patternul **"​include <​stdio.h>"​**. Folosiți ''​grep recursiv''​.
  
 ==== 2. Ierarhie de directoare ​ ==== ==== 2. Ierarhie de directoare ​ ====
Line 78: Line 78:
 Putem crea directoare folosind comanda **mkdir**. Aceasta se folosește în felul următor: Putem crea directoare folosind comanda **mkdir**. Aceasta se folosește în felul următor:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ mkdir --help+student@uso:​~/​uso-lab$ mkdir --help
 Usage: mkdir [OPTION]... DIRECTORY... Usage: mkdir [OPTION]... DIRECTORY...
 Create the DIRECTORY(ies),​ if they do not already exist. Create the DIRECTORY(ies),​ if they do not already exist.
 </​code>​ </​code>​
 Cuvântul cheie **mkdir** urmat de opțiuni și de numele directorului pe care vrem să îl creăm. Cuvântul cheie **mkdir** urmat de opțiuni și de numele directorului pe care vrem să îl creăm.
-Putem afla aceste opțiuni prin folosirea comenzii **man mkdir** sau **mkdir --help** la fel ca la utilitarele **locate** și **grep**.+Putem afla aceste opțiuni prin folosirea comenzii **man mkdir** sau **mkdir ​<​nowiki>​--</​nowiki>​help** la fel ca la utilitarele **locate** și **grep**.
  
-Să creăm un director pornind de la ''​~/​uso.git''​. Mergem în acest director folosind **cd ~/uso.git**+Să creăm un director pornind de la ''​~/​uso-lab''​. Mergem în acest director folosind **cd ~/uso-lab**
 <code bash> <code bash>
-student@uso:​~/​uso.git$ mkdir director_nou +student@uso:​~/​uso-lab$ mkdir director_nou 
-student@uso:​~/​uso.git$ ls -l director_nou/​+student@uso:​~/​uso-lab$ ls -l director_nou/​
 total 8 total 8
 drwxr-xr-x ​ 2 student student 4096 aug 22 23:35 ./ drwxr-xr-x ​ 2 student student 4096 aug 22 23:35 ./
Line 94: Line 94:
 </​code>​ </​code>​
  
-Am folosit utlitarul mkdir fără nicio opțiune. **Atentie!** După fiecare comandă executată este bine să verificăm că aceasta s-a executat cu succes. După cum vedeți, am verificat folosind utlitarul **ls -l**. Să creăm încă un director în cadrul acestuia, dar să rămânem în calea ''​~/​uso.git''​.+Am folosit utlitarul mkdir fără nicio opțiune. **Atentie!** După fiecare comandă executată este bine să verificăm că aceasta s-a executat cu succes. După cum vedeți, am verificat folosind utlitarul **ls -l**. Să creăm încă un director în cadrul acestuia, dar să rămânem în calea ''​~/​uso-lab''​.
 <code bash> <code bash>
-student@uso:​~/​uso.git$ mkdir -p director_nou/​alt_director +student@uso:​~/​uso-lab$ mkdir -p director_nou/​alt_director 
-student@uso:​~/​uso.git$ ls -l director_nou/​+student@uso:​~/​uso-lab$ ls -l director_nou/​
 total 4 total 4
 drwxr-xr-x 2 student student 4096 aug 22 23:38 alt_director drwxr-xr-x 2 student student 4096 aug 22 23:38 alt_director
Line 103: Line 103:
 Am folosit opțiunea **-p** de data aceasta pentru a crea un director într-o altă cale față de cea curentă. Este echivalent cu: Am folosit opțiunea **-p** de data aceasta pentru a crea un director într-o altă cale față de cea curentă. Este echivalent cu:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ cd director_nou/​ +student@uso:​~/​uso-lab$ cd director_nou/​ 
-student@uso:​~/​uso.git/​director_nou$ mkdir un_al2lea_director +student@uso:​~/​uso-lab/​director_nou$ mkdir un_al2lea_director 
-student@uso:​~/​uso.git/​director_nou$ ls -l+student@uso:​~/​uso-lab/​director_nou$ ls -l
 total 8 total 8
 drwxr-xr-x 2 student student 4096 aug 22 23:38 alt_director drwxr-xr-x 2 student student 4096 aug 22 23:38 alt_director
Line 111: Line 111:
 </​code>​ </​code>​
  
-**[2a]** Creați o ierarhie de directoare în directorul curent ​conform ​celei de mai jos. ''​Hint:​ Frunzele sunt fișiere, nu directoare (nu se termină în /​)''​.+**[2a]** ​Creați un director ''​uso-lab/​01-fs/​support/​troops/''​. ​Creați o ierarhie de directoare în ''​uso-lab/​01-fs/​support/​troops/'' ​conform ​cele de mai jos (se presupune că sunteți în directorul ''​uso-lab/​01-fs/​support/​troops''​ ca în prompt). ''​Hint:​ Frunzele sunt fișiere, nu directoare (nu se termină în /​)''​.
 <code bash> <code bash>
-student@uso$ tree .+student@uso:​~/​uso-lab/​01-fs/​support/​troops$ tree .
 . .
-|-- ac_dc+|-- ac_dc/
 |   |-- angus |   |-- angus
 |   |-- bon |   |-- bon
Line 126: Line 126:
 |   |-- mark |   |-- mark
 |   `-- phil |   `-- phil
-|-- cargo +|-- cargo/ 
-|-- hammerfall+|-- hammerfall/
 |   |-- anders |   |-- anders
 |   |-- jesper |   |-- jesper
Line 135: Line 135:
 |   |-- pontus |   |-- pontus
 |   `-- stefan |   `-- stefan
-|-- iris +|-- iris/ 
-|-- metallica +|-- metallica/ 
-|-- nightwish +|-- nightwish/ 
-|-- nirvana +|-- nirvana/ 
-|-- phoenix +|-- phoenix/ 
-`-- slayer+`-- slayer/
 </​code>​ </​code>​
  
-Putem muta directorul ''​un_al2lea_director''​ în ''​alt_director''​ fiind în ''​~/​uso.git'':​+Putem muta directorul ''​un_al2lea_director''​ în ''​alt_director''​ fiind în ''​~/​uso-lab'':​
 <code bash> <code bash>
-student@uso:​~/​uso.git/​director_nou$ cd ~/uso.git+student@uso:​~/​uso-lab/​director_nou$ cd ~/uso-lab
-student@uso:​~/​uso.git$ mv director_nou/​un_al2lea_director/​ director_nou/​alt_director/​ +student@uso:​~/​uso-lab$ mv director_nou/​un_al2lea_director/​ director_nou/​alt_director/​ 
-student@uso:​~/​uso.git$ ls -l director_nou/​+student@uso:​~/​uso-lab$ ls -l director_nou/​
 total 4 total 4
 drwxr-xr-x 3 student student 4096 aug 22 23:41 alt_director drwxr-xr-x 3 student student 4096 aug 22 23:41 alt_director
-student@uso:​~/​uso.git$ ls -l director_nou/​alt_director/​+student@uso:​~/​uso-lab$ ls -l director_nou/​alt_director/​
 total 4 total 4
 drwxr-xr-x 2 student student 4096 aug 22 23:39 un_al2lea_director drwxr-xr-x 2 student student 4096 aug 22 23:39 un_al2lea_director
 </​code>​ </​code>​
  
-Putem șterge acel director fiind în ''​~/​uso.git'':​+Putem șterge acel director fiind în ''​~/​uso-lab'':​
 <code bash> <code bash>
-student@uso:​~/​uso.git$ rmdir director_nou/​alt_director/​un_al2lea_director +student@uso:​~/​uso-lab$ rmdir director_nou/​alt_director/​un_al2lea_director 
-student@uso:​~/​uso.git$ ls -l director_nou/​alt_director/​+student@uso:​~/​uso-lab$ ls -l director_nou/​alt_director/​
 total 0 total 0
 </​code>​ </​code>​
Line 172: Line 172:
 Utilitarul **df** afișează informații despre sistemul de fișiere precum ocuparea acestuia. Folosirea acestuia: Utilitarul **df** afișează informații despre sistemul de fișiere precum ocuparea acestuia. Folosirea acestuia:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ df --help+student@uso:​~/​uso-lab$ df --help
 Usage: df [OPTION]... [FILE]... Usage: df [OPTION]... [FILE]...
 Show information about the file system on which each FILE resides, Show information about the file system on which each FILE resides,
Line 179: Line 179:
  
 Cuvântul cheie **df** urmat de opțiuni și de numele fișierului. Fără numele fișierului,​ afișează informații despre întreg sistemul. Cuvântul cheie **df** urmat de opțiuni și de numele fișierului. Fără numele fișierului,​ afișează informații despre întreg sistemul.
-Putem afla aceste opțiuni prin folosirea comenzii **man df** sau **df --help** la fel ca la utilitarele **locate**, **mkdir** și **grep**.+Putem afla aceste opțiuni prin folosirea comenzii **man df** sau **df <​nowiki>​--</​nowiki>​help** la fel ca la utilitarele **locate**, **mkdir** și **grep**.
  
 Redirectarea rezultatului se face prin operatorul **>**. Astfel: Redirectarea rezultatului se face prin operatorul **>**. Astfel:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ df -h > informatii_sistem +student@uso:​~/​uso-lab$ df -h > informatii_sistem 
-student@uso:​~/​uso.git$ cat informatii_sistem+student@uso:​~/​uso-lab$ cat informatii_sistem
 Filesystem ​     Size  Used Avail Use% Mounted on Filesystem ​     Size  Used Avail Use% Mounted on
 udev            968M     ​0 ​ 968M   0% /dev udev            968M     ​0 ​ 968M   0% /dev
Line 222: Line 222:
  
  
-**[3a]** Intrați în directorul ''​uso/​labs/​01-fs/​support/​need-to-know/''​. Rulați executabilul din calea ''​3-compile''​ obtinut anterior **din directorul curent**. ​Hint: puteti vedea opțiunile utilitarului **make** folosind **man make** sau **make ​--help** la fel ca utilitarele folosite precedent.+**[3a]** Intrați în directorul ''​uso/​labs/​01-fs/​support/​need-to-know/''​. Rulați executabilul din calea ''​3-compile/''​ obtinut anterior **din directorul curent**. ​Rămânând în directorul ''​uso/​labs/​01-fs/​support/​need-to-know/'',​ ștergeți executabilul ''​hello-world''​ din directorul ''​3-compile/''​.
  
-**[3b]** Rămâneți în directorul ''​uso/​labs/​01-fs/​support/​need-to-know/''​. ​Copiați ''​3-compile/​Makefile'' ​in directorul curent, rulați Makefile ​și executați binarul obținut.+**[3b]** Rămâneți în directorul ''​uso/​labs/​01-fs/​support/​need-to-know/''​. ​Fără a schimba directorul, folosiți comanda ''​make''​ pentru a compila fișierul din directorul ​''​3-compile/''​. **Hint**: Folosiți ''​man make''​ sau ''​%%make --help%%''​ pentru a vedea documentația comenzii ''​make'' ​și urmăriți (și folosiți) opțiunea ''​-C''​.
  
-**[3c]** Creați un nou director numit ''​nu_intrati''​ și în cadrul acestuia un fișier sursă ''​manele_2018.c''​ în care să afișați un text la alegere. Copiați Makefile-ul folosit anterior și adaptați-l pentru cazul vostru. Compilați executabilul folosind Makefile și rulați executabilul. ​''​Hint: Pentru a crea un fișier puteți folosi utilitarul vim care primește ca argument un nume de fișier/o cale. În cazul în care fișierul există, se continuă editarea acestuia din starea în care se află, altfel este creat un nou fișier cu acel nume.''​+**[3c]** Creați un nou director numit ''​nu_intrati''​ și în cadrul acestuia un fișier sursă ''​manele_2018.c''​ în care să afișați un text la alegere. Copiați Makefile-ul folosit anterior și adaptați-l pentru cazul vostru. Compilați executabilul folosind Makefile și rulați executabilul. ​**Hint**: Pentru a crea un fișier puteți folosi utilitarul vim care primește ca argument un nume de fișier/o cale. În cazul în care fișierul există, se continuă editarea acestuia din starea în care se află, altfel este creat un nou fișier cu acel nume.
  
  
Line 233: Line 233:
 Putem crea archive folosind diferite extensii. E bine să știm să creăm diferite tipuri de arhive deoarece fiecare are beneficiul ei. Astfel, pentru arhiva.zip folosim: Putem crea archive folosind diferite extensii. E bine să știm să creăm diferite tipuri de arhive deoarece fiecare are beneficiul ei. Astfel, pentru arhiva.zip folosim:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ zip backup.zip -r *+student@uso:​~/​uso-lab$ zip backup.zip -r *
   adding: README.md (deflated 18%)   adding: README.md (deflated 18%)
   adding: TW Warhammer/ (stored 0%)   adding: TW Warhammer/ (stored 0%)
Line 244: Line 244:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git$ tar -zcvf backup.tar.gz *+student@uso:​~/​uso-lab$ tar -zcvf backup.tar.gz *
 README.md README.md
 TW Warhammer/ TW Warhammer/
Line 254: Line 254:
 Pentru arhiva.tar.bz2:​ Pentru arhiva.tar.bz2:​
 <code bash> <code bash>
-student@uso:​~/​uso.git$ tar -cvjSf backup.tar.bz2 *+student@uso:​~/​uso-lab$ tar -cvjSf backup.tar.bz2 *
 README.md README.md
 TW Warhammer/ TW Warhammer/
Line 265: Line 265:
 Putem observa rezultatul: Putem observa rezultatul:
 <code bash> <code bash>
-student@uso:​~/​uso.git$ ls -l+student@uso:​~/​uso-lab$ ls -l
 total 91124 total 91124
 drwxr-xr-x 15 student student ​    4096 aug 23 00:58  ./ drwxr-xr-x 15 student student ​    4096 aug 23 00:58  ./
uso/laboratoare/new/01-fs/need-to-know.1570046809.txt.gz · Last modified: 2019/10/02 23:06 by liza_elena.babu
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