Differences

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

Link to this comparison view

uso:laboratoare:laborator-06:improve-terminal [2022/11/07 12:46]
andrei.dragomir1401 [Navigarea în istoricul unei comenzi]
uso:laboratoare:laborator-06:improve-terminal [2023/11/07 20:03] (current)
maria_irina.gherman [Navigarea în interiorul unei comenzi]
Line 52: Line 52:
  
 <code bash> <code bash>
-(reverse-i-search)`cd':​ cd workspace/hello+(reverse-i-search)`cd':​ cd workspace
 </​code>​ </​code>​
 De aici, avem următoarele opțiuni: De aici, avem următoarele opțiuni:
Line 66: Line 66:
  
 <code bash> <code bash>
-(reverse-i-search)`work':​ cd workspace/hello+(reverse-i-search)`work':​ cd workspace
 </​code>​ </​code>​
  
-=== Expandarea comenzilor anterioare === 
- 
-Terminalul ne pune la dispoziție și alte moduri prin care putem reutiliza comenzile din istoric. 
- 
-<​note>​ 
-Atunci când rulăm comanda ''​%%history%%'',​ ca în subsecțiunea ''​%%improve_cli_history_nav%%''​ , vedem că fiecare comandă din istoric este precedată de un număr: 
-</​note>​ 
-<code bash> 
-23  ls -l 
-</​code>​ 
-Acest număr funcționează ca un index pe care îl putem folosi pentru a executa comanda care îi corespunde: 
- 
-<code bash> 
-student@uso:​~$ !23 
-ls -l 
-total 60 
-drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Desktop 
-drwxr-xr-x ​ 3 student student 4096 aug 20  2018 Documents 
-drwxr-xr-x ​ 2 student student 4096 aug 11 19:35 Downloads 
-drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Music 
-drwxr-xr-x ​ 2 student student 4096 aug 11 21:08 Pictures 
-drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Public 
-drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Templates 
-drwxr-xr-x ​ 2 student student 4096 aug  6  2018 Videos 
--rw-r--r-- ​ 1 student student 8980 aug  6  2018 examples.desktop 
-drwxr-xr-x 14 student student 4096 aug 20  2018 uso.git 
--rw-r--r-- ​ 1 student student 4827 aug 21  2018 vm-actions-log.txt 
-drwxr-xr-x ​ 3 student student 4096 aug 11 20:28 workspace 
-</​code>​ 
-Observăm că ''​%%!23%%''​ a fost înlocuit (expandat, în abuz de limbaj) cu comanda ''​%%ls -l%%''​ care corespundea indexului **23**. 
- 
-Un caz particular, foarte des folosit, este ''​%%!!%%'',​ care se va înlocui textual cu ultima comandă executată: 
- 
-<code bash> 
-student@uso:​~$ ls 
-Desktop ​   Downloads ​ Pictures ​ Templates ​ examples.desktop ​ vm-actions-log.txt 
-Documents ​ Music      Public ​   Videos ​    ​uso.git ​          ​workspace 
-student@uso:​~$ !! -l workspace 
-ls -l workspace 
-total 4 
-drwxr-xr-x 2 student student 4096 aug 11 21:32 hello 
-</​code>​ 
-În exemplul de mai sus observăm că ''​%%!!%%''​ a fost înlocuit cu ''​%%ls%%''​ în textul comenzii, pentru ca apoi să se execute comanda ''​%%ls -l workspace%%''​. Sintaxa ''​%%!!%%''​ este echivalentă cu ''​%%!-1%%''​. 
- 
-**Exercițiu**:​ Rulați trei comenzi din istoricul vostru folosind atât înlocuirea numerică (''​%%!2%%''​),​ cât și înlocuirea ultimei comenzi (''​%%!!%%''​). Folosiți-vă de faptul că această înlocuire are loc înaintea executării comenzii pentru a adăuga argumente comenzilor, similar exemplului de mai sus. 
- 
-[TO_DELETE] 
-=== Reutilizarea argumentelor comenzii anterioare === 
- 
-Terminalul ne oferă și o sintaxă prin care avem posibilitatea de a reutiliza argumentele comenzii anterioare în corpul comenzii curente. Acest lucru este util în reutilizarea argumentelor lungi sau complicate, pentru că evităm rescrierea lor. Astfel nu doar că suntem mai rapizi, dar evităm și apariția unor probleme din categoria typourilor. 
- 
-Executăm următorul șir de comenzi: 
- 
-<code bash> 
-student@uso:​~$ touch a/​very/​long/​path/​that-you-dont-want-to-retype 
-student@uso:​~$ ls -l !$ 
-ls -l a/​very/​long/​path/​that-you-dont-want-to-retype 
-</​code>​ 
-Observăm că șirul ''​%%!$%%''​ din comanda ''​%%ls -l !$%%''​ a fost înlocuit cu ultimul argument al comenzii, anterioare, ''​%%touch%%''​. 
- 
-Executăm următoarele comenzi: 
- 
-<code bash> 
-student@uso:​~$ ls ~/Desktop ~/Documents ~/Downloads 
-student@uso:​~$ ls -l !^ 
-</​code>​ 
-Observăm că șirul ''​%%!^%%''​ din comanda ''​%%ls -l !^%%''​ a fost înlocuit cu primul argument al comenzii, anterioare, ''​%%~/​Desktop%%''​. 
- 
-=== Exerciții === 
- 
-  - Afișați istoricul vostru de comenezi. Rulați a zecea comandă din istoric, folosind sintaxa ''​%%!#​num%%''​. 
-  - Rulați comanda ''​%%ls -lh%%''​. Acum rulați comanda anterioară,​ folosind sintaxa ''​%%!!%%'',​ cu argumentul ''​%%~/​Downloads%%''​. 
-  - Navigați către directorul ''​%%~/​Downloads%%'',​ folosit ca argument în exercițiul anterior, folosind sintaxa ''​%%!$%%''​. 
-  - Navigați către directorul ''​%%~/​Downloads%%'',​ folosit ca argument în exercițiul anterior, folosind sintaxa ''​%%!^%%''​. 
-[/​TO_DELETE] 
  
 ==== Navigarea în interiorul unei comenzi ==== ==== Navigarea în interiorul unei comenzi ====
Line 150: Line 75:
  
 Terminalul ne pune la dispoziție și o serie de scurtături cu ajutorul cărora putem face realiza aceeași acțiune mai rapid. Dacă vreți să vă impresionați prietenii, acesta este un mod simplu, dar eficient, de a o face. Terminalul ne pune la dispoziție și o serie de scurtături cu ajutorul cărora putem face realiza aceeași acțiune mai rapid. Dacă vreți să vă impresionați prietenii, acesta este un mod simplu, dar eficient, de a o face.
- 
-Pentru a naviga în istoricul de comenzi putem folosi combinațiile de taste: 
- 
-  * ''​%%Ctrl+p%%''​ - accesăm ultima comandă dată; prin apăsări succesive ciclăm prin istoricul de comenzi, de la ultima la prima comandă dată 
-  * ''​%%Ctrl+n%%''​ - accesăm comenzile în sens invers față de ''​%%Ctrl+p%%'',​ de la comanda actuală până la ultima comandă dată 
  
 Pentru a naviga în corpul textului putem folosi combinațiile de taste: Pentru a naviga în corpul textului putem folosi combinațiile de taste:
Line 171: Line 91:
   * ''​%%Alt+d%%''​ - șterge tot textul de la cursor până la sfârșitul cuvântului   * ''​%%Alt+d%%''​ - șterge tot textul de la cursor până la sfârșitul cuvântului
  
-Tip +<​note>​
- +
 Textul șters este salvat într-un registru și poate fi folosit folosind combinația de taste ''​%%Ctrl+y%%''​. Funcționalitatea este similară cu procesul de **Cut** (''​%%Ctrl+k%%'',​ ''​%%Ctrl+u%%''​ sau ''​%%Alt+d%%''​) și **Paste** (''​%%Ctrl+y%%''​). Textul șters este salvat într-un registru și poate fi folosit folosind combinația de taste ''​%%Ctrl+y%%''​. Funcționalitatea este similară cu procesul de **Cut** (''​%%Ctrl+k%%'',​ ''​%%Ctrl+u%%''​ sau ''​%%Alt+d%%''​) și **Paste** (''​%%Ctrl+y%%''​).
 +</​note>​
  
- +=== Extra: ​Exerciții ===
-=== Exerciții ===+
  
 Rulați comanda ''​%%ls Documents/ Downloads/ Desktop/ Pictures/ Music/​%%''​ înainte de a vă apuca de exerciții. Rulați comanda ''​%%ls Documents/ Downloads/ Desktop/ Pictures/ Music/​%%''​ înainte de a vă apuca de exerciții.
Line 191: Line 109:
   - Rulați comanda ''​%%ls Documents/ Downloads/ Desktop/ Pictures/ Music/​%%''​. Apăsați tasta ''​%%Ctrl+p%%''​ pentru a accesa comanda rulată anterior (comanda corectată). Avansați până la începutul cuvântului ''​%%Pictures/​%%''​. Ștergeți cuvântul folosind combinația de taste ''​%%Alt+d%%''​. Acum anulați comanda curentă apăsând combinația de taste ''​%%Ctrl+c%%''​. În acest moment, textul pe care l-ați șters folosind ''​%%Alt+d%%''​ (**Pictures**) se află într-un buffer. O să rulați comanda ''​%%ls%%''​ pe textul din buffer. Scrieți comanda ''​%%ls%%''​ și apoi apăsați combinația de taste ''​%%Ctrl+y%%''​. Textul a fost scris din buffer în continuarea comenzii ''​%%ls%%''​ (scrisă de voi).   - Rulați comanda ''​%%ls Documents/ Downloads/ Desktop/ Pictures/ Music/​%%''​. Apăsați tasta ''​%%Ctrl+p%%''​ pentru a accesa comanda rulată anterior (comanda corectată). Avansați până la începutul cuvântului ''​%%Pictures/​%%''​. Ștergeți cuvântul folosind combinația de taste ''​%%Alt+d%%''​. Acum anulați comanda curentă apăsând combinația de taste ''​%%Ctrl+c%%''​. În acest moment, textul pe care l-ați șters folosind ''​%%Alt+d%%''​ (**Pictures**) se află într-un buffer. O să rulați comanda ''​%%ls%%''​ pe textul din buffer. Scrieți comanda ''​%%ls%%''​ și apoi apăsați combinația de taste ''​%%Ctrl+y%%''​. Textul a fost scris din buffer în continuarea comenzii ''​%%ls%%''​ (scrisă de voi).
  
-**Note de subsol** 
  
  
uso/laboratoare/laborator-06/improve-terminal.1667818016.txt.gz · Last modified: 2022/11/07 12:46 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