This shows you the differences between two versions of the page.
|
uso:laboratoare:laborator-06:improve-terminal [2022/11/08 16:55] alexandru.vladut02 [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. | ||
| ==== Navigarea în interiorul unei comenzi ==== | ==== Navigarea în interiorul unei comenzi ==== | ||
| Line 137: | Line 92: | ||
| <note> | <note> | ||
| - | Tip | ||
| 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> | </note> | ||
| - | === Exerciții === | + | === Extra: 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. | ||