diff --git a/chapters/files/archive.rst b/chapters/files/archive.rst index 5da2f0d..efc69c1 100644 --- a/chapters/files/archive.rst +++ b/chapters/files/archive.rst @@ -61,7 +61,7 @@ Având trei fișiere pe care vrem să le arhivăm, folosim utilitarul ``tar`` î Arhiva nou creată ocupă 9.1 MB. -Fișierele ce compun arhiva ocupă 5M, 3M respectiv 1M. +Fișierele ce compun arhiva ocupă 5MB, 3MB respectiv 1MB. Fișierul de tipul *tar* nou creat nu ocupă mai puțin spațiu; din contră, ocupă mai mult spațiu din cauza metadatelor [#]_ fișierului. @@ -72,7 +72,7 @@ Verificăm tipul fișierului folosind utilitarul ``file``. student@uso:~$ file înregistrări.tar înregistrări.tar: POSIX tar archive (GNU) -Fișierul ``înregistrări.tar`` este o arhivă de tip *tar*. +Fișierul ``înregistrări.tar`` este o arhivă de tip *tar*. Exerciții - creare arhive """"""""""""""""""""""""" @@ -108,7 +108,7 @@ Facem acest lucru folosind utilitarul ``tar``: Pentru a vizualiza arhiva **fără** dezarhivare am folosit opțiunea ``t``. -Folosim opțiunea ``f`` pentru a specifica ce arhivă vrem să afișăm. +Folosim opțiunea ``f`` pentru a specifica arhiva pe care vrem să o afișăm. Exercițiu - afișarea conținutului unei arhive """"""""""""""""""""""""""""""""""""""""""""" @@ -175,10 +175,10 @@ Creăm un director ``dezarhivare/tar`` și extragem arhiva acolo folosind ``tar` -rw-r--r-- 1 student student 1048576 Aug 19 11:55 înregistrare_lab03.mov -rw-r--r-- 1 student student 9439088 Aug 19 12:04 înregistrări.tar student@uso:~$ mkdir -p dezarhivare/tar - student@uso:~$ tree + student@uso:~$ tree -F . - |-- dezarhivare - | ``-- tar + |-- dezarhivare/ + | ``-- tar/ |-- înregistrare_lab01.mov |-- înregistrare_lab02.mov |-- înregistrare_lab03.mov @@ -189,10 +189,10 @@ Creăm un director ``dezarhivare/tar`` și extragem arhiva acolo folosind ``tar` înregistrare_lab01.mov înregistrare_lab02.mov înregistrare_lab03.mov - student@uso:~$ tree + student@uso:~$ tree -F . - |-- dezarhivare - | ``-- tar + |-- dezarhivare/ + | ``-- tar/ | |-- înregistrare_lab01.mov | |-- înregistrare_lab02.mov | ``-- înregistrare_lab03.mov @@ -273,7 +273,7 @@ Exerciții - adăugare de noi fișiere * Creați un fișier ``UPB``; verificați operația afișând conținutul directorului părinte; * Adăugați textul *Make UPB Great Again!* în interiorul fișierului; verificați operația afișând conținutul fișierului; -* Adăugați-l la arhiva ``personal_data.tar``, ca în exemplul de mai sus; verificați operația afișând conținutul arhivei. +* Adăugați-l la arhiva ``personal_data.tar``, ca în exemplul de mai sus; verificați operația afișând conținutul arhivei. Comprimare ``tar.gz`` @@ -382,7 +382,7 @@ Exerciții - creare arhive * Afișați dimensiunea arhivei. #. * Creați o arhivă de tipul ``zip`` a fișierelor din interiorul directorului ``/usr/include/net/`` cu numele ``net.zip``. - * Comparați dimensiunea arhivei ``zip`` cu cea ``tar`` de la exercițiu precendent. + * Comparați dimensiunea arhivei ``zip`` cu cea ``tar`` de la exercițiul precendent. Afișarea conținutului arhivelor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -446,7 +446,7 @@ Pentru a vedea mai clar efectul operației de dezarhivare, ștergem fișierele ` -rw-r--r-- 1 student student 9439072 Aug 19 18:02 înregistrări.zip student@uso:~$ rm înregistrare_lab01.mov înregistrare_lab02.mov înregistrare_lab03.mov -În momentul de față avem doar arhiva *zip* și urmează să obținem fișierele cu înregistrari, folosind utilitarul ``zip``: +În momentul de față avem doar arhiva *zip* și urmează să obținem fișierele cu înregistrari, folosind utilitarul ``unzip``: .. code-block:: bash student@uso:~$ unzip înregistrări.zip @@ -481,11 +481,11 @@ Putem extrage fișierele către o anumită cale: inflating: dezarhivare/zip/înregistrare_lab01.mov inflating: dezarhivare/zip/înregistrare_lab02.mov inflating: dezarhivare/zip/înregistrare_lab03.mov - student@uso:~$ tree + student@uso:~$ tree -F . - |-- dezarhivare - | |-- tar - | ``-- zip + |-- dezarhivare/ + | |-- tar/ + | ``-- zip/ | |-- înregistrare_lab01.mov | |-- înregistrare_lab02.mov | ``-- înregistrare_lab03.mov diff --git a/chapters/files/cheatsheet.rst b/chapters/files/cheatsheet.rst index 8bd3ca3..e8a8bac 100644 --- a/chapters/files/cheatsheet.rst +++ b/chapters/files/cheatsheet.rst @@ -25,7 +25,7 @@ Cale relativă: drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers drwxr-xr-x 2 student student 4096 Sep 29 19:21 GameOfThrones -Cale absolută: +Cale absolută: .. code-block:: bash @@ -95,30 +95,30 @@ Ierarhie de fișiere .. code-block:: bash - student@uso:~/comenzi/mkdir$ tree -L 1 / + student@uso:~/comenzi/mkdir$ tree -F -L 1 / / - |-- bin - |-- boot - |-- dev - |-- etc - |-- home + |-- bin/ + |-- boot/ + |-- dev/ + |-- etc/ + |-- home/ |-- initrd.img -> /boot/initrd.img-3.16.0-4-586 - |-- lib - |-- lib64 - |-- libx32 - |-- lost+found - |-- media - |-- mnt - |-- opt - |-- proc - |-- root - |-- run - |-- sbin - |-- srv - |-- sys - |-- tmp - |-- usr - |-- var + |-- lib/ + |-- lib64/ + |-- libx32/ + |-- lost+found/ + |-- media/ + |-- mnt/ + |-- opt/ + |-- proc/ + |-- root/ + |-- run/ + |-- sbin/ + |-- srv/ + |-- sys/ + |-- tmp/ + |-- usr/ + |-- var/ ``-- vmlinuz -> boot/vmlinuz-3.16.0-4-586 Afișarea conținutului unui director @@ -262,7 +262,7 @@ Afișarea tipului de fișier student@uso:~$ file index.rst index.rst: ASCII text student@uso:~$ file archive.tar - archive.tar: POSIX tar archive (GNU) + archive.tar: POSIX tar archive (GNU) Legături (Links) diff --git a/chapters/files/file_editor.rst b/chapters/files/file_editor.rst index ab6f2e2..3e3edac 100644 --- a/chapters/files/file_editor.rst +++ b/chapters/files/file_editor.rst @@ -99,14 +99,16 @@ Exerciții - editor grafic """"""""""""""""""""""""" #. * Folosind editorul de text `Sublime`, disponibil de VM, deschideți fișierul ``Romanian Presidents`` și completați fișierul cu cel puțin 3 președinți ai României. - * Salvati fișierul în directorul vostru ``home``. + * Salvați fișierul în directorul vostru ``home`` (``~``). * Duplicați textul scris anterior (copiat/lipit) de 5 ori; * Indentați fiecare linie o dată; - * Comentați liniile 2-8. -#. * Scrieti cod C (similar exemplului de mai sus) pentru a afișa textul ``Make USO Great Again!``; - * Folositi scurtăturile pentru indentare; +#. * Folosind editorul de text `Sublime`, deschideți fișierul ``program.c``. + * Salvați fișierul în directorul vostru ``home`` (``~``). + * Scrieti cod C (similar exemplului de mai sus) pentru a afișa textul ``Make USO Great Again!``; + * Folosiți scurtăturile pentru indentare; * Compilați folosind scurtătura ``Ctrl+b``. + * Comentați liniile 2-8. Editor în linie de comandă -------------------------- @@ -157,13 +159,13 @@ Exerciții - editor în linie de comandă """""""""""""""""""""""""""""""""""""" #. * Folosind editorul în linie de comandă disponibil pe VM (`nano`), deschideți fișierul ``US Presidents`` și completați fișierul cu cel puțin 3 președinți ai Statelor Unite are Americii. - * Salvati fișierul în directorul vostru ``home``. + * Salvati fișierul în directorul vostru ``home`` (``~``). * Duplicați textul scris anterior (copiat/lipit) de 5 ori; * Indentați fiecare linie de două ori; * Comentați liniile 2-8. - * Salvati fișierul în directorul vostru **home**. + * Salvați fișierul în directorul vostru ``home`` (``~``). * Duplicați textul scris anterior (copiat/lipit) de 5 ori; * Adăugați 4 spații la început de fiecare rând; * Adăugați caracterul **#** la început de rând pentru liniile 2-8. diff --git a/chapters/files/file_system.rst b/chapters/files/file_system.rst index e9a9258..8f96c07 100644 --- a/chapters/files/file_system.rst +++ b/chapters/files/file_system.rst @@ -27,7 +27,7 @@ Am căutat în calea ``/`` (*root*) orice fișier ce conține ``ssh`` și se ter Utilitarul ``find`` caută în ierarhia de fișiere care începe de la calea dată ca parametru în jos. În cazul nostru, de la ``/`` (root) în jos, adică în tot sistemul de fișiere. -Mai multe informații și exemple de utilizări vom vedea în capitolul #TODOref_capitol_edi +Mai multe informații și exemple de utilizări vom vedea în capitolul ``Îmbunătățirea lucrului în linia de comandă``. Folosirea utilitarului ``locate`` @@ -40,7 +40,7 @@ Utilitarul ``locate`` ne poate ajuta în astfel de situații. Acesta funcționează în 2 pași: * Crearea și actualizarea unei baze de date folosind comanda ``updatedb``. - Aceasta conține intrări cu toate fișierele din sistem și locatia acestora. + Aceasta conține intrări cu toate fișierele din sistem și locația acestora. * Căutarea folosind ``locate``. Această căutare se reduce la interogarea bazei de date create anterior cu ``updatedb``. @@ -71,7 +71,7 @@ Răspunsul comenzii este instant. Am folosit utilitarul ``locate`` să căutăm în tot sistemul orice fișier se termină cu ``.tar``. -Găsim mai multe informații și exemple în capitolul todo_ref_edi +Găsim mai multe informații și exemple în capitolul ``Îmbunătățirea lucrului în linia de comandă``. Variabila de mediu PATH ----------------------- @@ -80,8 +80,8 @@ Până acum am învățat câteva comenzi utile: ``ls``, ``cd``, ``find``, ``loc Utilitarele sunt de fapt **programe** (*executabile*) care se află undeva în sistemul de fișiere. -Shell-ul știe să ruleze utilitarele din orice loc în care ne aflăm (din ierarhia de fișiere). -Se întâmplă acest lucru pentru că shell-ul are o listă de câteva directoare în care se uită după utilitarele pe care le folosim. +Shellul știe să ruleze utilitarele din orice loc în care ne aflăm (din ierarhia de fișiere). +Se întâmplă acest lucru pentru că shellul are o listă de câteva directoare în care se uită după utilitarele pe care le folosim. Spre exemplu, atunci când rulăm utilitarul ``ls``, el caută programul ``ls`` în lista pe care o are, îl găsește și îl rulează. Această listă se găsește în *variabila de mediu* [#]_ ``PATH``. @@ -98,7 +98,7 @@ Afișăm valoarea variabilei de mediu ``PATH`` a sistemului folosind utilitarul /usr/local/bin:/usr/bin:/bin:/usr/games Variabila ``PATH`` are patru căi din sistem, despărțite de caracterul ``:``. -Astfel, sistemul verifică dacă utilitarul este prezent în calea ``/usr/local/bin``; dacă nu-l găsește, merge la următoarea calea ``/usr/bin``; dacă nu-l găsește, merge la următoarea cale ``/bin``; dacă nu-l găsește, merge la ultima cale ``/usr/games``. +Astfel, sistemul verifică dacă utilitarul este prezent în calea ``/usr/local/bin``; dacă nu-l găsește, merge la următoarea cale: ``/usr/bin``; dacă nu-l găsește, merge la următoarea cale: ``/bin``; dacă nu-l găsește, merge la ultima cale: ``/usr/games``. .. note:: Un utilitar poate fi la mai multe căi din PATH, dar va fi executat utilitarul din cea mai din stânga cale (prima, dacă nu a doua, etc.). @@ -122,12 +122,12 @@ Căutăm calea la care se află utilitarul ``ls`` folosind comanda ``which``: student@uso:~$ which pwd /bin/pwd student@uso:~$ which man - /usr/bin/man + /usr/bin/man ``which`` folosește variabila de mediu ``PATH`` pentru a găsi utilitarul cerut și va afișa rezultatele în ordinea directoarelor din ``PATH``. -Aflăm mai multe detalii despre utilitarul ``which`` în capitolul #TODOtodo_edi_which. +Aflăm mai multe detalii despre utilitarul ``which`` în capitolul ``Îmbunătățirea lucrului în linia de comandă``. Exerciții @@ -138,7 +138,7 @@ Exerciții Dar ``pwd_backup``? -.. [#] Variabilele de mediu sunt variabile care descriu mediul în care sunt executate programele. +.. [#] Variabilele de mediu sunt variabile care descriu mediul în care sunt executate programele. Ele sunt folosite de aplicații pentru a răspunde la întrebări cum ar fi: Care este numele calculatorului pe care sunt instalată? Care este numele contului de utilizator care mă execută? Care este folderul meu de lucru? diff --git a/chapters/files/files.rst b/chapters/files/files.rst index 78c363f..965f7b1 100644 --- a/chapters/files/files.rst +++ b/chapters/files/files.rst @@ -39,30 +39,30 @@ Pentru a vedea fișierele sub formă arborescentă, folosim comanda ``tree``: .. code-block:: bash - student@uso:~/comenzi/mkdir$ tree -L 1 / + student@uso:~/comenzi/mkdir$ tree -F -L 1 / / - |-- bin - |-- boot - |-- dev - |-- etc - |-- home + |-- bin/ + |-- boot/ + |-- dev/ + |-- etc/ + |-- home/ |-- initrd.img -> /boot/initrd.img-3.16.0-4-586 - |-- lib - |-- lib64 - |-- libx32 - |-- lost+found - |-- media - |-- mnt - |-- opt - |-- proc - |-- root - |-- run - |-- sbin - |-- srv - |-- sys - |-- tmp - |-- usr - |-- var + |-- lib/ + |-- lib64/ + |-- libx32/ + |-- lost+found/ + |-- media/ + |-- mnt/ + |-- opt/ + |-- proc/ + |-- root/ + |-- run/ + |-- sbin/ + |-- srv/ + |-- sys/ + |-- tmp/ + |-- usr/ + |-- var/ ``-- vmlinuz -> boot/vmlinuz-3.16.0-4-586 @@ -258,7 +258,7 @@ Afișăm rapid conținutul fișierului ``Arya`` din directorul ``GameOfThrones`` O altă metodă este de a folosi un editor de text: `vim`_, `gedit`_, `emacs`_, `nano`_, `Sublime`_, etc. -Vom detalia utilizarea unui editor de text în subsectiunea *Editor de text*. +Vom detalia utilizarea unui editor de text în subsecțiunea *Editor de text*. .. _gedit: https://wiki.gnome.org/Apps/Gedit .. _Sublime: https://www.sublimetext.com/3 @@ -336,7 +336,7 @@ Aceasta permite parcurgerea în adâncime a întregii ierarhii de fișiere. .. important:: 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ă poate duce la erori și mult timp pierdut din partea noastră. + Lipsa unei verificări poate duce la erori și mult timp pierdut din partea noastră. Redenumirea și mutarea fișierelor și directoarelor @@ -344,7 +344,7 @@ Redenumirea și mutarea fișierelor și directoarelor Fișierele și directoarele se redenumesc în mod similar, folosind comanda ``mv`` astfel: ``mv nume_actual nume_nou``. -Redenumim fișierele si directoarele folosind comanda ``mv``: +Redenumim fișierele și directoarele folosind comanda ``mv``: .. code-block:: bash @@ -390,18 +390,18 @@ Am verificat că directorul ``GameOfThrones`` se află la calea indicată (calea .. note:: - Observăm că putem folosi atât căi relative cât și căi absolute ca argumente pentru comanda ``mv`` de mutare / redenumire de fișiere și directoare. + Observăm că putem folosi atât căi relative, cât și căi absolute ca argumente pentru comanda ``mv`` de mutare / redenumire de fișiere și directoare. Exerciții - redenumire și mutare """""""""""""""""""""""""""""""" -#. * Creați un director ``Vikings`` în directorul home al vostru; +#. * Creați un director ``Vikings`` în directorul home al vostru (``~``); * Creați fișierele ``Ragnar``, ``Rollo``, ``Lagertha`` în directorul ``Vikings``; * Verificați că directorul și fișierele au fost mutate; - * Mutati directorul (împreună cu întreaga ierarhie de fișiere) la locația ``/tmp/``; + * Mutați directorul (împreună cu întreaga ierarhie de fișiere) la locația ``/tmp/``; * Verificați că directorul și ierarhia de fișiere au fost mutate; -#. * Creați un director ``NBA`` în directorul home al vostru; +#. * Creați un director ``NBA`` în directorul home al vostru (``~``); * Creați fișierele ``MichaelJordan``, ``LeBronJames``, ``DwayneWade`` și ``KobeBryant`` în directorul ``NBA``; * Verificați că directorul și fișierele au fost mutate; * Mutați directorul ``NBA`` (împreună cu întreaga ierarhie de fișiere) în directorul ``Vikings``; @@ -410,7 +410,7 @@ Exerciții - redenumire și mutare #. * Redenumiți directorul ``GameOfThrones`` în ``ThronesInTheGame``; * Mutați fișierele din interiorul directorului ``ThronesInTheGame`` în ``/tmp``; * 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 directorul înapoi la locatia inițială folosind atât căi relative, cât și căi absolute. Copierea fișierelor și directoarelor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -547,18 +547,18 @@ Am creat directorul ascuns ``.LordOfTheRings``. Exerciții - creare fișiere/directoare ascunse """"""""""""""""""""""""""""""""""""""""""""" -#. * Creați un director cu numele ``.LordOfTheRings`` în directorul vostru home; +#. * Creați un director cu numele ``.LordOfTheRings`` în directorul vostru home (``~``); * Intrați în directorul creat; * Creați 3 fișiere ascunse cu numele ``Aragorn``, ``Legolas``, ``Frodo Baggins``; * Verificați operațiile de creare (director și fișiere). -#. * Creați un director cu numele ``stiri`` în directorul vostru home; +#. * Creați un director cu numele ``stiri`` în directorul vostru home (``~``); * Creați fișierele ``hotnews``, ``biziday``, ``digi24``; * Creați fișierul ascuns ``.cancan``; * Afișați **toate** fișierele din director; * Afișați fișierele din director care **nu** sunt ascunse. -#. * Creați un director ``tv`` în directorul vostru home; +#. * Creați un director ``tv`` în directorul vostru home (``~``); * Creați fișierele ``ProTV``, ``Digi24``, ``Eurosport``; * Creați fișierele ascunse ``Antena3``, ``Romania24``; * Afișați **toate** fișierele din director; @@ -582,7 +582,7 @@ Pentru a afla tipul fișierului folosim comanda ``file``: student@uso:~$ file index.rst index.rst: ASCII text student@uso:~$ file archive.tar - archive.tar: POSIX tar archive (GNU) + archive.tar: POSIX tar archive (GNU) Observăm că fișierul ``Picture.abc`` este un fișier de tipul *PNG* în ciuda extensiei, iar ``archive.tar`` este o arhivă de tipul *tar*. @@ -594,28 +594,28 @@ Exerciții - ierarhii de fișiere și directoare ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. * Afișați ierarhia de fișiere pornind de la directorul vostru home (``~``). - * Creați următoarea ierarhie pornind de la directorul ``/home/student/``: + * Creați următoarea ierarhie pornind de la directorul ``/home/student/`` (directoarele se termina cu ``/``): .. code-block:: bash - student@uso:~$ tree + student@uso:~$ tree -F . - ├── prime_video - ├── Hulu + ├── prime_video/ + ├── Hulu/ │ └── Favorite - ├── Netflix - │ ├── Filme + ├── Netflix/ + │ ├── Filme/ │ │ ├── filme_2020.txt │ │ ├── filme_2019.txt │ │ ├── filme_vechi - │ └── Seriale - │ ├── seriale_2020 + │ └── Seriale/ + │ ├── seriale_2020/ │ ├── seriale_2019.txt - │ └── seriale_vechi - ├── HBO_GO + │ └── seriale_vechi/ + ├── HBO_GO/ │ ├── Modern_Family.txt - │ └── Harry_Potter - └── YouTubeTV + │ └── Harry_Potter/ + └── YouTubeTV/ * Copiați întreaga ierarhie în calea ``/tmp``. Folosiți comanda ``cp``. (Hint: recursivitate). * Confirmați copierea prin afișarea directorului părinte. @@ -633,12 +633,12 @@ Exerciții - ierarhii de fișiere și directoare .. code-block:: bash - student@uso:~$ tree + student@uso:~$ tree -F . - └─── Cale - └─── Lungă - └─── De - └─── Directoare + └─── Cale/ + └─── Lungă/ + └─── De/ + └─── Directoare/ * Mutați ierarhia copiată anterior în ``/tmp`` în directorul ``Directoare``. @@ -710,7 +710,7 @@ Observăm că dacă am șters un fișier accesându-l prin legătura, s-a șters Exerciții - legături (linkuri) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* Creați o legătură simbolică în directorul vostru ``home`` către directorul ``Netflix``. +* Creați o legătură simbolică în directorul vostru ``home`` (``~``) către directorul ``Netflix``. * Verificați crearea legăturii prin afișarea conținutului directorului părinte. * Afișați conținutul legăturii. * Ștergeți directorul ``Netflix``. @@ -744,4 +744,4 @@ Putem folosi atât calea relativă cât și absolută: student@uso:~/comenzi$ /home/student/comenzi/my_ls executie mkdir my_ls touch -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). diff --git a/chapters/files/io_redirection.rst b/chapters/files/io_redirection.rst index ad80c46..5e59d04 100644 --- a/chapters/files/io_redirection.rst +++ b/chapters/files/io_redirection.rst @@ -40,7 +40,7 @@ Caracterul ``>`` așteaptă un șir de caractere după el care este numele fiși Șirul este, de fapt, calea către un fișier. Șirul ``lista_materii`` este calea relativă până la fișierul ``lista_materii`` care se află în directorul curent ``/home/student``. -Fișierul ``lista_materii`` nu exista. Prin direcționarea outputului am creat fișierul ``lista_materii``. +Fișierul ``lista_materii`` nu exista. Prin direcționarea outputului, am creat fișierul ``lista_materii``. Vizualizăm conținutul fișierului ``lista_materii`` folosind comanda ``cat``: @@ -51,8 +51,6 @@ Vizualizăm conținutul fișierului ``lista_materii`` folosind comanda ``cat``: -rw-r--r-- 1 student student 3.0M Aug 19 11:55 RL -rw-r--r-- 1 student student 1.0M Aug 19 11:55 EGC -Momentan fișierul ``lista_materii`` nu există pe sistemul vostru. -Îl vom crea în continuare. .. note:: Odată direcționat într-un fișier, fluxul de informații nu mai apare la ecran. @@ -77,9 +75,13 @@ Folosirea caracterului ``>`` suprascrie conținutul fișierului: drwxr-xr-x 2 root root 4096 Sep 9 14:07 sbin drwxr-xr-x 137 root root 4096 Sep 9 14:07 share drwxr-xr-x 2 root root 4096 Aug 31 2015 src + student@uso:~$ echo "cats" > lista_materii + student@uso:~$ cat lista_materii + cats Fișierul ``lista_materii`` nu era creat inițial. În urma comenzii ``ls -l /usr/ > lista_materii``, fișierul ``lista_materii`` a fost creat și populat cu ieșirea comenzii ``ls -l /usr/``. +Comanda ``echo "cats" > lista_materii`` suprascrie conținutul inițial al fișierului, înlocuindu-l cu rezultatul comenzii ``echo "cats"``. Exerciții - redirectări simple ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,9 +118,9 @@ Exerciții - direcționări prin anexare #. * Folosiți ``tree`` pentru a afișa ierarhia de fișiere pornind de la ``/usr``; - * Repetați comanda anterioara, dar de data asta direcționați-o *fără* anexare la fișierul ``ierarhie_student`` folosit anterior; + * Repetați comanda anterioară, dar de data aceasta direcționați-o *fără* anexare la fișierul ``ierarhie_student`` folosit anterior; * Afisați conținutul fișierului ``ierarhie_student`` folosind comanda ``cat``. - Mai exista conținutul inițial al fișierului? + Mai există conținutul inițial al fișierului? Redirectări de eroare @@ -192,7 +194,7 @@ Ca să redirectăm și outputul și erorile de la o comandă folosim și ``>`` student@uso:~$ cat erori_comenzi cat: SO2: No such file or directory -Observăm cum după executarea primei comenzi, la ecran nu mai apare nimic; atât ieșirea standard cât și erorile au fost direcționate în fișiere. +Observăm cum după executarea primei comenzi, la ecran nu mai apare nimic; atât ieșirea standard, cât și erorile au fost direcționate în fișiere. În continuare am verificat conținutul acestor fișiere pentru a demonstra corectitudinea operației. @@ -200,7 +202,7 @@ Exerciții """"""""" * Redirectați (simplu) conținutul fișierului de la calea ``/etc/passwd`` într-un fișier cu numele ``utilizatori_si_grupuri``. -* Redirectare (simplu) fișierul de la calea ``/etc/group`` în același fișier. +* Redirectați (simplu) conținutul fișierului de la calea ``/etc/group`` în același fișier. * Repetați cele două operații de redirectare de mai sus folosind redirectare cu anexare. * Redirectați conținutul fișierului de la calea ``/etc/shadow`` în fișierul ``parole`` și afișați conținutul fișierului diff --git a/chapters/files/paths.rst b/chapters/files/paths.rst index 51ea2cb..f29bb86 100644 --- a/chapters/files/paths.rst +++ b/chapters/files/paths.rst @@ -3,7 +3,7 @@ Căi în ierarhia de fișiere ========================== -Atunci când folosim un terminal este important să știm unde ne aflăm în ierarhie. +Atunci când folosim un terminal, este important să știm unde ne aflăm în ierarhie. Dacă vrem să jucăm un joc, știm că vrem să ajungem în directorul ``Games``, unde avem jocul preferat, ``Warcraft3``. Pentru a ajunge în directorul ``Games``, trebuie să știm unde suntem și apoi să navigăm în sistemul de fișiere până acolo. @@ -25,30 +25,30 @@ Putem vedea mai jos începutul ierarhiei din Linux: .. code-block:: bash - student@uso:/$ tree -L 1 / + student@uso:/$ tree -F -L 1 / / - |-- bin - |-- boot - |-- dev - |-- etc - |-- home + |-- bin/ + |-- boot/ + |-- dev/ + |-- etc/ + |-- home/ |-- initrd.img -> /boot/initrd.img-3.16.0-4-586 - |-- lib - |-- lib64 - |-- libx32 - |-- lost+found - |-- media - |-- mnt - |-- opt - |-- proc - |-- root - |-- run - |-- sbin - |-- srv - |-- sys - |-- tmp - |-- usr - |-- var + |-- lib/ + |-- lib64/ + |-- libx32/ + |-- lost+found/ + |-- media/ + |-- mnt/ + |-- opt/ + |-- proc/ + |-- root/ + |-- run/ + |-- sbin/ + |-- srv/ + |-- sys/ + |-- tmp/ + |-- usr/ + |-- var/ ``-- vmlinuz -> boot/vmlinuz-3.16.0-4-586 Observăm ``/`` (directorul rădăcină) la începutul ierarhiei. @@ -58,18 +58,18 @@ Observăm conținutul directorul ``home``: .. code-block:: bash - student@uso:/home$ tree -L 1 /home + student@uso:/home$ tree -F -L 1 /home . - |-- student - ``-- test + |-- student/ + ``-- test/ Există două directoare ``student`` și ``test``. .. note:: Observăm cum se schimbă promptul de terminal: - * în primul exemplu ``student@uso:/$ tree -L 1 /`` eram în directorul ``/``. - * în al doilea exemplu ``student@uso:/home$ tree -L 1`` eram în directorul ``/home``. + * în primul exemplu ``student@uso:/$ tree -F -L 1 /`` eram în directorul ``/``. + * în al doilea exemplu ``student@uso:/home$ tree -F -L 1`` eram în directorul ``/home``. Avansăm în ierarhia de directoare către ``student``, folosind comanda ``cd``: @@ -78,36 +78,36 @@ Avansăm în ierarhia de directoare către ``student``, folosind comanda ``cd``: student@uso:/home$ cd student student@uso:~$ pwd /home/student - student@uso:~$ tree + student@uso:~$ tree -F . - |-- comenzi - | |-- executie - | |-- ls + |-- comenzi/ + | |-- executie/ + | |-- ls/ | | ``-- mkdir -> /home/student/comenzi/mkdir/ - | |-- mkdir - | | |-- Avengers + | |-- mkdir/ + | | |-- Avengers/ | | | |-- Captain\ America | | | |-- Iron\ Man | | | ``-- Thor - | | ``-- GameOfThrones + | | ``-- GameOfThrones/ | | |-- Arya\ Stark | | |-- Daenerys\ Targaryen | | |-- Jon\ Snow | | ``-- Tyrion\ Lannister | |-- my_ls - | ``-- touch + | ``-- touch/ | |-- orase | |-- orase\ romania | ``-- romania |-- comenzi_redirectare |-- continut_materii - |-- dezarhivare - | |-- tar - | ``-- zip + |-- dezarhivare/ + | |-- tar/ + | ``-- zip/ | |-- fisier1 | |-- fisier2 | ``-- fisier3 - |-- ELTH + |-- ELTH/ |-- erori_comenzi |-- fisier |-- fisier1 @@ -121,7 +121,7 @@ Avansăm în ierarhia de directoare către ``student``, folosind comanda ``cd``: |-- orase |-- scurtaturi.save |-- test.zip - |-- USO + |-- USO/ |-- usr_bin.tar ``-- usr_bin.zip @@ -143,7 +143,7 @@ Pornim de la următoarea analogie: Avem patru puncte pe o dreaptă: A, B, C și Pentru a ajunge de la A la D, **trebuie** să trecem prin B și C. Astfel, avem următoarele segmente: AB, BC, CD. -Similar, pentru sistemul de fișiere, pornim de la directorul rădăcină (``/``) și să coborâm în jos pe arbore. +Similar, pentru sistemul de fișiere, pornim de la directorul rădăcină (``/``) și coborâm pe arbore. Lista de directoare intermediare de la rădăcina ierarhiei de fișiere (``/``) până la un anumit fișier sau director se numeste **cale**. @@ -233,7 +233,7 @@ Prin calea relativă ne referim la un fișier în funcție de calea curentă. drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers drwxr-xr-x 2 student student 4096 Sep 29 19:21 GameOfThrones -În exemplul de mai sus, ne aflăm la calea ``/home/student`` și am coborât în jos în ierarhia de fișiere către directorul ``comenzi``, apoi directorul ``mkdir``. +În exemplul de mai sus, ne aflăm la calea ``/home/student`` și am coborât în ierarhia de fișiere către directorul ``comenzi``, apoi directorul ``mkdir``. Același rezultat îl obținem folosind calea absolută: @@ -305,7 +305,7 @@ Această comandă poate fi folosită oriunde ne-am afla deoarece este o *cale ab * în cazul ``student@uso:/usr$ pwd`` ne aflăm în ``usr`` .. note:: - La fel ca toate comenzile de lucru cu sistemul de fișiere, comanda ``cd`` primește ca parametru o cale. Aceasta poate fi atât *relativă* cât și *absolută*. + La fel ca toate comenzile de lucru cu sistemul de fișiere, comanda ``cd`` primește ca parametru o cale. Aceasta poate fi atât *relativă*, cât și *absolută*. Schimbăm calea curentă în ``/home/student``, folosind ``cd``: @@ -347,7 +347,7 @@ Schimbăm calea curentă la ``/usr/bin`` folosind cale relativă: Știm unde ne aflăm folosind comanda ``pwd``; ne deplasăm în altă parte folosind comanda ``cd``. -Observăm cum am urcat în ierarhie folosind ``..`` până la ``/`` (*directorul rădăcină*) iar apoi am coborât spre ``usr`` și apoi ``bin``. +Observăm cum am urcat în ierarhie folosind ``..`` până la ``/`` (*directorul rădăcină*), apoi am coborât spre ``usr`` și apoi ``bin``. În exemplul de mai jos, comanda de mai sus nu este valabilă: