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/11 15:18]
iustina.caramida [Selectarea multiplor fișiere folosind globbing]
uso:laboratoare:laborator-06:inspect-fs [2025/10/24 22:07] (current)
daniel_ioan.dinu Improved ambiguous phrasing in [Extra: Folosirea ad-litteram a caracterelor speciale]
Line 10: Line 10:
 student@uso:​~$ man student@uso:​~$ man
 What manual page do you want? What manual page do you want?
 +For example, try 'man man'.
 </​code>​ </​code>​
 Putem consulta însăși pagina de manual a utilitarului ''​%%man%%''​ Putem consulta însăși pagina de manual a utilitarului ''​%%man%%''​
Line 22: Line 23:
  
 NAME NAME
-       man - an interface to the on-line ​reference manuals+       man - an interface to the system ​reference manuals
  
 SYNOPSIS SYNOPSIS
-       ​man ​ [-C  file ​[-d] ​ [-D]  [--warnings[=warnings]] ​ [-R encoding] [-L +       man [man options] [[section] page ...] ...
-       ​locale] [-m system[,​...]] [-M path] [-S list]  [-e  extension] ​ [-i|-I] +
-       ​[--regex|--wildcard] ​  ​[--names-only] ​ [-a]  [-u]  [--no-subpages] ​ [-P +
-       ​pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justifi‐ +
-       ​cation] ​ [-p  string] ​ [-t]  [-T[device]] ​ [-H[browser]] [-X[dpi]] [-Z] +
-       [[section] page[.section] ​...] ...+
        man -k [apropos options] regexp ...        man -k [apropos options] regexp ...
-       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...+       man -K [man options] [section] term ...
        man -f [whatis options] page ...        man -f [whatis options] page ...
-       man -l [-C file] [-d] [-D] [--warnings[=warnings]] ​ [-R  encoding] ​ [-L +       man -l [man options] file ... 
-       ​locale] ​ [-P  pager] ​ [-r  prompt] ​ [-7] [-E encoding] [-p string] [-t] +       man -w|-W [man options] page ... 
-       ​[-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ... + 
-       man -w|-W [-C file] [-d] [-D] page ... +DESCRIPTION 
-       ​man ​-c [-C file] [-d] [-D] page ... +       ​man ​ is the system'​s manual pager. ​ Each page argument given to man is  
-       man [-?V]+       ​normally the name of a program, utility or functionThe manual page  
 +       ​associated with each of these arguments is then found and displayed  
 +       A section, if provided, will direct man to look only in that section  
 +       of the manual The default action is to search in all of the available 
 +       sections following a pre-defined order (see DEFAULTS), and to show only 
 +       the first page found, even if page exists in several sections.
  
  ​Manual page man(1) line 1 (press h for help or q to quit)  ​Manual page man(1) line 1 (press h for help or q to quit)
Line 46: Line 47:
  
   * Ne aflăm pe prima linie din prima pagină a manualului   * Ne aflăm pe prima linie din prima pagină a manualului
-  * Putem apăsa tasta ''​%%h%%''​ pentru a acesa meniul de ajutor+  * Putem apăsa tasta ''​%%h%%''​ pentru a accesa ​meniul de ajutor
   * Putem apăsa tasta ''​%%q%%''​ pentru a ieși din manual   * Putem apăsa tasta ''​%%q%%''​ pentru a ieși din manual
  
 ==== Navigarea prin paginile manualului ==== ==== Navigarea prin paginile manualului ====
  
-Navigăm cu câte o linie de terminal în joș și în sus folosind folosind tastele ''​%%Ctrl+n%%''​ și ''​%%Ctrl+p%%''​. Putem folosi tastele ''​%%Ctrl+f%%''​ și ''​%%Ctrl+b%%''​ pentru a naviga, cu câte un ecran de terminal, în jos și în sus în pagină. Mai simplu, putem folosi tasta ''​%%Enter%%''​ pentru a naviga cu câte o linie în jos și tasta ''​%%Space%%''​ pentru a naviga cu câte un ecran în jos. Navigăm la începutul paginii folosind tasta ''​%%g%%''​. Navigăm la sfârșit paginii folosind tasta ''​%%G%%''​.+Navigăm cu câte o linie de terminal în joș și în sus folosind folosind tastele ''​%%Ctrl+n%%''​ și ''​%%Ctrl+p%%''​. Putem folosi tastele ''​%%Ctrl+f%%''​ și ''​%%Ctrl+b%%''​ pentru a naviga, cu câte un ecran de terminal, în jos și în sus în pagină. Mai simplu, putem folosi tasta ''​%%Enter%%''​ pentru a naviga cu câte o linie în jos și tasta ''​%%Space%%''​ pentru a naviga cu câte un ecran în jos. Navigăm la începutul paginii folosind tasta ''​%%g%%''​. Navigăm la sfârșitul paginii folosind tasta ''​%%G%%''​.
  
  
Line 131: Line 132:
 ===== 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 183:
  
   * 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 195:
  
 <​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 224: Line 225:
 drwxr-xr-x 2 student student 4096 sep  2 19:39 Desktop/ drwxr-xr-x 2 student student 4096 sep  2 19:39 Desktop/
 </​code>​ </​code>​
-  - Afișați conținutul directoarelor ''​%%/​home%%'',​ ''​%%Downloads%%''​ și ''​%%/​tmp%%''​. 
-  - Aflați care sunt permisiunile pe care le are orice utilizator asupra directoarelor ''​%%/​home%%'',​ ''​%%/​home/​student%%''​ și ''​%%/​tmp%%''​. 
  
-===== Selectarea ​multiplor ​fișiere folosind globbing =====+=== Exerciții === 
 + 
 +  - Afișați conținutul directoarelor ''​%%/​home%%'',​ ''​%%Downloads%%''​ și ''​%%/​tmp%%''​. 
 +  - Aflați care sunt permisiunile pe care le are **orice** utilizator asupra directoarelor ''​%%/​home%%'',​ ''​%%/​home/​student%%''​ și ''​%%/​tmp%%''​. 
 +===== Selectarea ​multiplelor ​fișiere folosind globbing =====
  
  
Line 250: Line 253:
 ==== Extra: Folosirea ad-litteram a caracterelor speciale ==== ==== Extra: Folosirea ad-litteram a caracterelor speciale ====
  
-Există cazuri când numele fișierelor conțin caractere speciale. Unele fișiere pot fi prefixate cu o categorie din care fac parte, ca în exemplul de mai jos:+Există cazuri când numele fișierelor conțin caractere speciale. Unele fișiere pot fi prefixate cu o categorie din care fac parte, ca în exemplul de mai jos din directorul ''​%%~/​uso-lab/​labs/​05-cli/​support%%''​:
  
 <code bash> <code bash>
Line 256: Line 259:
 '[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: [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 caractere ​normale. Pentru a face acest lucru, încadrăm șirul între ​ghilimele ''​%%"%%''​:
  
 <code bash> <code bash>
Line 271: Line 274:
 '​support-globbing/​[USO] cursuri 9.ppt' ​  '​support-globbing/​[USO] slides 9.ppt' '​support-globbing/​[USO] cursuri 9.ppt' ​  '​support-globbing/​[USO] slides 9.ppt'
 </​code>​ </​code>​
-Citim expresia ''​%%"​[USO]"​*%%'':​ orice fișier al cărui nume începe cu șirul de caractere **[USO]** și este urmat de orice caracter. Operația prin care eliminăm semnificația specială a unui caracter poartă numele de **escaping**;​ cu alte cuvinte, informal, spunem că am făcut escaping semnificației speciale a sintaxei ''​%%[]%%''​. Termenul vine de la cuvântul **escape** (a scăpa), și exprimă că scăpăm de semnificația specială a unui caracter / set de caractere.+Citim expresia ''​%%"​[USO]"​*%%'':​ orice fișier al cărui nume începe cu șirul de caractere **[USO]** și este urmat de orice caracter. Operația prin care eliminăm semnificația specială a unui caracter poartă numele de **escaping**;​ cu alte cuvinte, informal, spunem că am făcut escaping semnificației speciale a sintaxei ''​%%[]%%''​. Termenul vine de la cuvântul **escape** (a scăpa), și exprimă ​faptul ​că scăpăm de semnificația specială a unui caracter / set de caractere.
  
 ==== Exerciții ==== ==== Exerciții ====
Line 290: Line 293:
 ==== 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 299: Line 302:
        ​[expression]        ​[expression]
 </​code>​ </​code>​
-Sa clonam ​un repo cu algoritmi de sortare:+Să clonăm ​un repository ​cu algoritmi de sortare:
 <code bash> <code bash>
 student@uso:​~$ mkdir workspace student@uso:​~$ mkdir workspace
Line 326: Line 329:
 ./​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.1668172682.txt.gz · Last modified: 2022/11/11 15:18 by iustina.caramida
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