Differences

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

Link to this comparison view

uso:laboratoare:laborator-06:inspect-fs [2022/11/09 12:39]
andrei.dragomir1401 [Căutarea unui fișier în sistem]
uso:laboratoare:laborator-06:inspect-fs [2023/11/07 19:05] (current)
maria_irina.gherman [Căutarea unui fișier în sistem]
Line 131: Line 131:
 ===== Explorarea sistemului de fișiere: comanda ls ===== ===== Explorarea sistemului de fișiere: comanda ls =====
  
-În capitolul ​**Lucrul cu fișiere** am văzut cum folosim comanda ''​%%ls%%''​ pentru a afișa conținutul unui director și pentru a explora sistemul de fișiere. În continuare vom vedea cum folosim ''​%%ls%%''​ pentru a afișa mai multe informații despre conținutul unui director sau despre fișiere.+În laboratorul ​**Lucrul cu fișiere** am văzut cum folosim comanda ''​%%ls%%''​ pentru a afișa conținutul unui director și pentru a explora sistemul de fișiere. În continuare vom vedea cum folosim ''​%%ls%%''​ pentru a afișa mai multe informații despre conținutul unui director sau despre fișiere.
  
 ==== Afișarea fișierelor ascunse ==== ==== Afișarea fișierelor ascunse ====
Line 182: Line 182:
  
   * Primul grup este format dintr-un singur caracter, și denotă tipul fișierului. În cazul de față, caracterul ''​%%d%%''​ ne informează că ne uităm la un fișier de tip director. În cazul fișierelor obișnuite (text, imagini, etc.) primul caracter este ''​%%-%%'',​ așa cum putem observa în cazul fișierului ''​%%examples.desktop%%''​.   * Primul grup este format dintr-un singur caracter, și denotă tipul fișierului. În cazul de față, caracterul ''​%%d%%''​ ne informează că ne uităm la un fișier de tip director. În cazul fișierelor obișnuite (text, imagini, etc.) primul caracter este ''​%%-%%'',​ așa cum putem observa în cazul fișierului ''​%%examples.desktop%%''​.
-  * Cel de-al doilea grup este format din următoarele trei caractere și denotă permisiunile pe care le are utilizatorul care deține fișierul asupra fișierului. Caracterele sunt în ordine ''​%%r%%''​ (read) permisiuni de citire, ''​%%w%%''​ (write) permisiuni de scriere și ''​%%x%%''​ (execute) permisiuni de rulare. Dacă utilizatorul nu are o anumită permisiune, caracterul corespunzător este înlocuit de caracterul ''​%%-%%''​. Spunem că aceste permisiuni se aplică pentru **User**. Mai multe despre permisiuni in laboratoarele viitoare deoarece sunt un topic foarte important. +  * Cel de-al doilea grup este format din următoarele trei caractere și denotă permisiunile pe care le are utilizatorul care deține fișierul asupra fișierului. Caracterele sunt în ordine ''​%%r%%''​ (read) permisiuni de citire, ''​%%w%%''​ (write) permisiuni de scriere și ''​%%x%%''​ (execute) permisiuni de rulare. Dacă utilizatorul nu are o anumită permisiune, caracterul corespunzător este înlocuit de caracterul ''​%%-%%''​. Spunem că aceste permisiuni se aplică pentru **User**. Mai multe despre permisiuni in laboratoarele viitoaredeoarece sunt un topic foarte important. 
-  * Cel de-al treilea grup este format din următoarele trei caractere și denotă permisiunile pe care le au membrii grupului care dețin fișierul ​asupra fișierului. Permisiunile rămân din setul ''​%%rwx%%''​. Spunem că aceste permisiuni se aplică pentru **Group**.+  * Cel de-al treilea grup este format din următoarele trei caractere și denotă permisiunile ​asupra fișierului ​pe care le au membrii grupului care dețin fișierul. Permisiunile rămân din setul ''​%%rwx%%''​. Spunem că aceste permisiuni se aplică pentru **Group**.
   * Cel de-al patrulea grup este format din ultimele trei caractere și denotă permisiunile pe care le are orice utilizator care nu deține fișierul și nici nu face parte din grupul care deține fișierul. Permisiunile rămân din setul ''​%%rwx%%''​. Spunem că aceste permisiuni se aplică pentru **Others**.   * Cel de-al patrulea grup este format din ultimele trei caractere și denotă permisiunile pe care le are orice utilizator care nu deține fișierul și nici nu face parte din grupul care deține fișierul. Permisiunile rămân din setul ''​%%rwx%%''​. Spunem că aceste permisiuni se aplică pentru **Others**.
  
Line 194: Line 194:
  
 <​note>​ <​note>​
-Pentru a putea deschide un director este necesar să avem drepturi de execuție (''​%%x%%''​) asupra acestuia. Trebuie să avem drepturi de execuție indiferent că vrem să navigăm în interiorul săusă afișăm conținutul directorului ​sau să creăm ​noi fișiere și directoare în cadrul acestuia.+Pentru a putea deschide un director este necesar să avem drepturi de execuție (''​%%x%%''​) asupra acestuia. Trebuie să avem drepturi de execuție indiferent că vrem să navigăm în interiorul său sau să afișăm conținutul directorului. Pentru a crea  ​noi fișiere și directoare în cadrul acestuia, avem nevoie de drepturi de scriere (''​%%w%%''​).
 </​note>​ </​note>​
  
Line 253: Line 253:
  
 <code bash> <code bash>
-student@uso:​~$ ls Documents/uni +student@uso:​~/​uso-lab/​labs/​05-cli/​support$ ls tutorial/uni 
-'[PC] Course 01.pdf'  ​'[USO] Course 01.pdf' ​ '[USO] Course 02.pdf'​+'[USO] Course 01.pdf' ​ '[USO] Course 02.pdf'​
 </​code>​ </​code>​
-În exemplul de mai sus, fișierele pdf de curs sunt prefixate cu numele materiei: ​[PC], [USO]. Vrem să îi spunem sintaxei de globbing că în acest caz, șirul **[USO]** nu trebuie tratat ca o expresie, ci ca un șir de caracter normale. Pentru a face acest lucru, încadrăm șirul între **"**:+În exemplul de mai sus, fișierele pdf de curs sunt prefixate cu numele materiei: [USO]. Vrem să îi spunem sintaxei de globbing că în acest caz, șirul **[USO]** nu trebuie tratat ca o expresie, ci ca un șir de caracter normale. Pentru a face acest lucru, încadrăm șirul între **"**:
  
 <code bash> <code bash>
-student@uso:​~/​uso-lab.git/​labs/​05-cli/​support$ ls support-globbing/"​[USO]"​*+student@uso:​~/​uso-lab/​labs/​05-cli/​support$ ls support-globbing/"​[USO]"​*
 '​support-globbing/​[USO] cursuri 1.ppt' ​  '​support-globbing/​[USO] slides 1.ppt' '​support-globbing/​[USO] cursuri 1.ppt' ​  '​support-globbing/​[USO] slides 1.ppt'
 '​support-globbing/​[USO] cursuri 10.ppt' ​ '​support-globbing/​[USO] slides 10.ppt'​ '​support-globbing/​[USO] cursuri 10.ppt' ​ '​support-globbing/​[USO] slides 10.ppt'​
Line 275: Line 275:
 ==== Exerciții ==== ==== Exerciții ====
  
-Pentru exercițiile următoare vom folosi fișierele din directorul de suport ''​%%support-globbing%%''​.+Pentru exercițiile următoare vom folosi fișierele din directorul de suport ''​%%~/​uso-lab/​labs/​05-cli/​support/​support-globbing%%''​.
  
-  - Creați un director numit ''​%%pdfs%%''​. Mutați toate fișierele cu extensia ''​%%.pdf%%''​ din directorul ''​%%support-globbing%%''​ în directorul ''​%%pdfs%%''​.+  - Creați un director numit ''​%%pdfs%%''​. Mutați toate fișierele cu extensia ''​%%.pdf%%''​ din directorul curent în directorul ''​%%pdfs%%''​. 
 +  ​Creați un director numit ''​%%cursuri/​anul-I%%''​. De ce nu funcționează crearea directorului?​ Există directorul ''​%%cursuri%%''?​ Mutați toate fișierele care conțin cuvintele **curs** sau **slide** ​în directorul ​creat. Extra: Folosiți sintaxa ​''​%%*{curs,​slide}*%%''​.
   - Creați un director numit ''​%%Excursie Brasov, 2020-2021%%''​. Mutați fișierele **DCIM** din intervalul 1400 - 1700 în directorul creat.   - Creați un director numit ''​%%Excursie Brasov, 2020-2021%%''​. Mutați fișierele **DCIM** din intervalul 1400 - 1700 în directorul creat.
-  - Creați un director numit ''​%%cursuri/​anul-I%%''​. Mutați toate fișierele care conțin cuvintele **curs** sau **slide** în directorul creat. Extra: Folosiți sintaxa ''​%%*{curs,​slide}*%%''​. 
  
 ===== Căutarea unui fișier în sistem ===== ===== Căutarea unui fișier în sistem =====
Line 290: Line 290:
 ==== Utilitarul find ==== ==== Utilitarul find ====
  
-Utilitarul ''​%%find%%''​ îndeplinește ​același scop: căuta în fișierele de pe sistem. ''​%%find%%''​ este un utilitar mai complex decât ''​%%locate%%''​. Acesta ne permite să căutăm fișiere după nume, permisiuni, tipul fișierelor,​ data ultimei modificări și multe altele. Inspectăm pagina de manual a utilitarului pentru a vedea cum îl putem folosi.+Utilitarul ''​%%find%%''​ îndeplinește ​scopul evident de a căuta în fișierele de pe sistem. ''​%%find%%''​ este un utilitar mai complex decât ''​%%locate%%''​. Acesta ne permite să căutăm fișiere după nume, permisiuni, tipul fișierelor,​ data ultimei modificări și multe altele. Inspectăm pagina de manual a utilitarului pentru a vedea cum îl putem folosi.
  
 <code bash> <code bash>
Line 298: Line 298:
        ​find ​ [-H]  [-L]  [-P]  [-D  debugopts] ​ [-Olevel] ​ [starting-point...]        ​find ​ [-H]  [-L]  [-P]  [-D  debugopts] ​ [-Olevel] ​ [starting-point...]
        ​[expression]        ​[expression]
 +</​code>​
 +Să clonăm un repository cu algoritmi de sortare:
 +<code bash>
 +student@uso:​~$ mkdir workspace
 +student@uso:​~$ cd workspace
 +student@uso:​~/​workspace$ git clone https://​github.com/​TheAlgorithms/​C.git
 +student@uso:​~/​workspace$ cd C
 </​code>​ </​code>​
 La o primă vedere, ''​%%find%%''​ poate părea complex și intimidant, dar lucrurile stau foarte simplu. Folosim ''​%%find%%''​ cu sintaxa ''​%%find [starting-point] [expression]%%'',​ ca în exemplul de mai jos: La o primă vedere, ''​%%find%%''​ poate părea complex și intimidant, dar lucrurile stau foarte simplu. Folosim ''​%%find%%''​ cu sintaxa ''​%%find [starting-point] [expression]%%'',​ ca în exemplul de mai jos:
  
 <code bash> <code bash>
 +student@uso:​~/​workspace/​C$ cd ../.. 
 student@uso:​~$ find . -name "​*search*"​ student@uso:​~$ find . -name "​*search*"​
 ./​workspace/​C/​searching ./​workspace/​C/​searching
Line 318: Line 326:
 ./​workspace/​C/​data_structures/​binary_trees/​binary_search_tree.c ./​workspace/​C/​data_structures/​binary_trees/​binary_search_tree.c
 </​code>​ </​code>​
-În exemplul de mai sus observă că am folosit ca **starting-point** ''​%%.%%''​ (căutarea pleacă din directorul curent), iar ca **expression** ''​%%-name "​*search*"​%%''​.+În exemplul de mai sus observăcă am folosit ca **starting-point** ''​%%.%%''​ (căutarea pleacă din directorul curent), iar ca **expression** ''​%%-name "​*search*"​%%''​.
  
-Utilitarul ''​%%find%%''​ folosește o expresie compusă pentru căutare. În exemplul anterior am folosit opțiunea ''​%%-name PATTERN%%''​. Exact ca în cazul utilitarului ''​%%locate%%'',​ **PATTERN** poate folosi sintaxa globbing, așa cum am făcut în exemplul de mai sus ''​%%"​*search*"​%%''​.+Utilitarul ''​%%find%%''​ folosește o expresie compusă pentru căutare. În exemplul anterior am folosit opțiunea ''​%%-name PATTERN%%''​. Exact ca în cazul utilitarului ''​%%locate%%'',​ **PATTERN** poate folosi sintaxa globbing, așa cum am făcut în exemplul de mai sus ''​%%"​*search*"​%%''​. Există mai multe opțiuni pentru căutarea cu ''​%%find%%'',​ prezente în manual.
  
 <​note>​ <​note>​
uso/laboratoare/laborator-06/inspect-fs.1667990396.txt.gz · Last modified: 2022/11/09 12:39 by andrei.dragomir1401
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