This shows you the differences between two versions of the page.
uso:laboratoare:laborator-02:paths [2021/10/11 18:06] maria.mihailescu Update lab text for 2021 |
uso:laboratoare:laborator-02:paths [2023/10/10 18:47] (current) razvan.costea2205 [Scurtături de căi] fix typo |
||
---|---|---|---|
Line 14: | Line 14: | ||
<code bash> | <code bash> | ||
- | student@uso:/$ tree -F -L 1 / | + | student@uso:~$ tree -F -L 1 / |
/ | / | ||
|-- bin/ | |-- bin/ | ||
Line 42: | Line 42: | ||
Observăm ''%%/%%'' (directorul rădăcină) la începutul ierarhiei. Pe nivelul următor, adică ramuri / copii ai directorului rădăcină, sunt directoarele ''%%bin%%'', ''%%boot%%'', ''%%dev%%'' etc. | Observăm ''%%/%%'' (directorul rădăcină) la începutul ierarhiei. Pe nivelul următor, adică ramuri / copii ai directorului rădăcină, sunt directoarele ''%%bin%%'', ''%%boot%%'', ''%%dev%%'' etc. | ||
- | Observăm conținutul directorul ''%%home%%'': | + | Observăm conținutul directorului ''%%home%%'': |
<code bash> | <code bash> | ||
- | student@uso:/home$ tree -F -L 1 /home | + | student@uso:~$ tree -F -L 1 /home |
. | . | ||
``-- student/ | ``-- student/ | ||
Line 61: | Line 61: | ||
<code bash> | <code bash> | ||
- | student@uso:~$ tree | + | student@uso:~$ tree -F -L 2 |
- | #TODO | + | . |
+ | |-- Desktop/ | ||
+ | |-- Documents/ | ||
+ | |-- Downloads/ | ||
+ | |-- Music/ | ||
+ | |-- Pictures/ | ||
+ | |-- Public/ | ||
+ | |-- Templates/ | ||
+ | |-- Videos/ | ||
+ | |-- examples.desktop | ||
+ | |-- uso-lab/ | ||
+ | | |-- assignments/ | ||
+ | | |-- labs/ | ||
+ | | |-- lectures/ | ||
+ | | |-- README.md | ||
+ | `-- vm-actions-log.txt | ||
</code> | </code> | ||
- | Directorul acesta este directorul //home// al utilizatorului //student//. În rezultatul comenzii ''%%tree%%'', vedem întreaga ierarhie a directorului ''%%/home/student%%''. | + | Directorul acesta este directorul //home// al utilizatorului //student//. În rezultatul comenzii ''%%tree -F -L 2%%'', vedem primele două niveluri din ierarhia din directorului ''%%/home/student%%''. |
În continuare detaliem conceptul de cale. | În continuare detaliem conceptul de cale. | ||
Line 123: | Line 139: | ||
După cum am precizat mai sus, calea absolută începe întotdeauna cu caracterul ''%%/%%'' (slash), denumit și //director rădăcină//. Acesta indică începutul ierarhiei de fișiere. | După cum am precizat mai sus, calea absolută începe întotdeauna cu caracterul ''%%/%%'' (slash), denumit și //director rădăcină//. Acesta indică începutul ierarhiei de fișiere. | ||
- | Afișam fișierele ''%%/usr/bin/touch%%'' și ''%%/etc/passwd%%'' prin cale absolută, folosind ''%%ls%%'': | + | Afișăm fișierele ''%%/usr/bin/touch%%'' și ''%%/etc/passwd%%'' prin cale absolută, folosind ''%%ls%%'': |
Line 133: | Line 149: | ||
</code> | </code> | ||
- | Am folosit opțiunea //-l// a utilitarului ''%%ls%%'' pentru a afișa informații suplimentare ale fisierelor. | + | Am folosit opțiunea //-l// a utilitarului ''%%ls%%'' pentru a afișa informații suplimentare ale fișierelor. |
Observăm că la începutul căilor este întotdeauna caracterul **'/'** (directorul rădăcină). | Observăm că la începutul căilor este întotdeauna caracterul **'/'** (directorul rădăcină). | ||
Line 142: | Line 158: | ||
<code bash> | <code bash> | ||
- | student@uso:~$ ls -l snap/spotify/ | + | student@uso:~$ ls -l uso-lab.git/labs/ |
- | total 8 | + | total 52 |
- | drwxr-xr-x 5 student student 4096 Oct 2 03:11 42 | + | drwxrwxr-x 4 student student 4096 nov 9 2021 00-intro |
- | drwxr-xr-x 3 student student 4096 Oct 2 03:10 common | + | drwxrwxr-x 4 student student 4096 nov 9 2021 01-filesystem |
- | lrwxrwxrwx 1 student student 2 Oct 2 03:10 current -> 42 | + | drwxrwxr-x 4 student student 4096 nov 9 2021 02-process |
+ | drwxrwxr-x 5 student student 4096 nov 9 2021 03-user | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 04-appdev | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 05-cli | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 06-scripting | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 07-hardware-obsolete | ||
+ | drwxrwxr-x 5 student student 4096 nov 9 2021 07-networking | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 08-security | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 08-storage-obsolete | ||
+ | drwxrwxr-x 3 student student 4096 nov 9 2021 09-task-admin | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 11-ctf | ||
</code> | </code> | ||
- | Î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 ''%%snap%%'', apoi directorul ''%%spotify%%''. | + | În exemplul de mai sus, ne aflăm la calea ''%%/home/student%%'' și am coborât în ierarhia de fișiere către directorul ''%%uso-lab.git%%'', apoi către directorul ''%%labs%%''. |
Același rezultat îl obținem folosind calea absolută: | Același rezultat îl obținem folosind calea absolută: | ||
<code bash> | <code bash> | ||
- | #TODO | + | student@uso:~$ ls -l /home/student/uso-lab.git/labs/ |
- | student@uso:~$ ls -l /home/student/snap/spotify/ | + | total 52 |
- | total 8 | + | drwxrwxr-x 4 student student 4096 nov 9 2021 00-intro |
- | drwxr-xr-x 5 student student 4096 Oct 2 03:11 42 | + | drwxrwxr-x 4 student student 4096 nov 9 2021 01-filesystem |
- | drwxr-xr-x 3 student student 4096 Oct 2 03:10 common | + | drwxrwxr-x 4 student student 4096 nov 9 2021 02-process |
- | lrwxrwxrwx 1 student student 2 Oct 2 03:10 current -> 42 | + | drwxrwxr-x 5 student student 4096 nov 9 2021 03-user |
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 04-appdev | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 05-cli | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 06-scripting | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 07-hardware-obsolete | ||
+ | drwxrwxr-x 5 student student 4096 nov 9 2021 07-networking | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 08-security | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 08-storage-obsolete | ||
+ | drwxrwxr-x 3 student student 4096 nov 9 2021 09-task-admin | ||
+ | drwxrwxr-x 4 student student 4096 nov 9 2021 11-ctf | ||
</code> | </code> | ||
- | Calea ''%%/home/student/snap/spotify/%%'' este validă oricare ar fi calea curentă (oriunde ne-am afla în ierarhia de fișiere). | + | Calea ''%%/home/student/uso-lab.git/labs/%%'' este validă oricare ar fi calea curentă (oriunde ne-am afla în ierarhia de fișiere). |
În acest caz, este mai eficient să folosim //calea relativă//. În cazul în care putem ajunge mai repede de la directorul rădăcina ''%%/%%'' la directorul țintă, este mai utilă //calea absolută//. | În acest caz, este mai eficient să folosim //calea relativă//. În cazul în care putem ajunge mai repede de la directorul rădăcina ''%%/%%'' la directorul țintă, este mai utilă //calea absolută//. | ||
Line 169: | Line 204: | ||
<code bash> | <code bash> | ||
- | #TODO | ||
student@uso:~$ pwd | student@uso:~$ pwd | ||
/home/student | /home/student | ||
Line 188: | Line 222: | ||
* Afișați calea curentă folosind utilitarul ''%%pwd%%''. | * Afișați calea curentă folosind utilitarul ''%%pwd%%''. | ||
- | * Referiți fișirele/directoarele ''%%/lib/%%'', ''%%/home%%'', ''%%/bin/cat%%'' atât prin cale relativă cât și prin cale absolută. | + | * Referiți fișierele/directoarele ''%%/lib/%%'', ''%%/home%%'', ''%%/bin/cat%%'' atât prin cale relativă, cât și prin cale absolută. |
* Referiți directorul părinte (un nivel mai sus față de cel curent). | * Referiți directorul părinte (un nivel mai sus față de cel curent). | ||
Line 202: | Line 236: | ||
/usr | /usr | ||
</code> | </code> | ||
- | Am schimbat calea curentă de la ''%%/etc%%'' la ''%%/usr%%''. Această comandă poate fi folosită oriunde ne-am afla deoarece este o //cale absolută//. | + | Am schimbat calea curentă de la ''%%/etc%%'' la ''%%/usr%%''. Această comandă poate fi folosită oriunde ne-am afla, deoarece este o //cale absolută//. |
<note important> | <note important> | ||
Line 222: | Line 256: | ||
/home/student | /home/student | ||
</code> | </code> | ||
- | Fiind la calea ''%%/usr%%'', am folosit utilitarul ''%%cd%%'' împreună cu o cale //absolută// ''%%/home/student%%'' pentru a schimba calea curentă. Cea de-a doua comanda ''%%pwd%%'' confirmă că am schimbat calea curentă. | + | Fiind la calea ''%%/usr%%'', am folosit utilitarul ''%%cd%%'' împreună cu o cale //absolută// ''%%/home/student%%'' pentru a schimba calea curentă. Cea de-a doua comandă ''%%pwd%%'' confirmă că am schimbat calea curentă. |
Acum ne aflăm la calea ''%%/home/student%%''. O alternativă mai puțin eficientă este să facem schimbarea căii curente în doi pași, astfel: | Acum ne aflăm la calea ''%%/home/student%%''. O alternativă mai puțin eficientă este să facem schimbarea căii curente în doi pași, astfel: | ||
Line 253: | Line 287: | ||
<code bash> | <code bash> | ||
- | #TODO - update path | + | student@uso:~/Desktop$ pwd |
- | student@uso:~/comenzi$ pwd | + | /home/student/Desktop |
- | /home/student/comenzi | + | student@uso:~/Desktop$ cd ../../usr/bin |
- | student@uso:~/comenzi$ cd ../../usr/bin | + | bash: cd: ../../usr/bin: No such file or directory |
- | -bash: cd: ../../usr/bin: No such file or directory | + | |
</code> | </code> | ||
- | Observăm că suntem la calea ''%%/home/student/comenzi%%''. Executând comanda ''%%cd ../../usr/bin%%'' de mai sus, am ajunge la calea ''%%/home/usr/bin%%'' care nu există. | + | Observăm că suntem la calea ''%%/home/student/Desktop%%''. Executând comanda ''%%cd ../../usr/bin%%'' de mai sus, am ajunge la calea ''%%/home/usr/bin%%'' care nu există. |
=== Exerciții - schimbarea directorului curent === | === Exerciții - schimbarea directorului curent === | ||
Line 273: | Line 306: | ||
{{:uso:laboratoare:laborator-01:tab_completion.gif}} | {{:uso:laboratoare:laborator-01:tab_completion.gif}} | ||
- | Observăm că atunci când calea pe care o scriem se termină cu ///// (slash), apăsând de 2 ori pe tasta ''%%Tab%%'' ne arată fișierele și directoarele din calea respectivă. Atunci vrem să ne auto-completeze numele, apăsăm o singură dată pe tasta ''%%Tab%%''. | + | Observăm că atunci când calea pe care o scriem se termină cu ///// (slash), apăsând de 2 ori pe tasta ''%%Tab%%'' ne arată fișierele și directoarele din calea respectivă. Atunci când vrem să ne auto-completeze numele, apăsăm o singură dată pe tasta ''%%Tab%%''. |
Tasta ''%%Tab%%'' este descrisă în detaliu în laboratorul //Îmbunătățirea lucrului în linia de comandă//. | Tasta ''%%Tab%%'' este descrisă în detaliu în laboratorul //Îmbunătățirea lucrului în linia de comandă//. | ||
Line 295: | Line 328: | ||
student@uso:~$ cd - | student@uso:~$ cd - | ||
/usr/bin | /usr/bin | ||
- | </code> Observăm că, dacă folosim repetat comanda ''%%cd -%%'' ,vom face un joc //du-te-vino// (//ping-pong//) între 2 directoare. | + | </code> Observăm că, dacă folosim repetat comanda ''%%cd -%%'', vom face un joc //du-te-vino// (//ping-pong//) între 2 directoare. |
* Folosim caracterul (''%%~%%'') pentru a referi //directorul home// a utilizatorului.<code bash> | * Folosim caracterul (''%%~%%'') pentru a referi //directorul home// a utilizatorului.<code bash> | ||
student@uso:/usr/bin$ cd /tmp/ | student@uso:/usr/bin$ cd /tmp/ |