User Tools

Site Tools


basic-unix:capitole:capitol-07

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
basic-unix:capitole:capitol-07 [2016/05/15 22:05]
razvan [X. TODO]
basic-unix:capitole:capitol-07 [2016/05/24 16:27] (current)
razvan [Folosire scurtături]
Line 1: Line 1:
 ====== 7. Folosirea eficientă a liniei de comandă ====== ====== 7. Folosirea eficientă a liniei de comandă ======
  
-TODO+Întrucât folosim des comenzi în shell, dorim să eficientizăm cât mai mult lucrul cu acestea. Shell-ul permite (prin intermediul bibliotecii ''​readline''​) editarea comenzilor și scrierea acestora cât mai rapid. O funcționalitate utilă este căutarea în istoricul de comenzi (//reverse history search//).
  
 ===== Subiecte abordate ===== ===== Subiecte abordate =====
  
-  * TODO +  * Scurtături în shell, biblioteca ''​readline''​ 
-  * TODO +  * Căutarea în istoricul de comenzi
-  * TODO+
  
 ==== Utilitare folosite ==== ==== Utilitare folosite ====
  
-  * TODO +  * ''​bash'',​ ''​libreadline''​
-  * TODO +
-  * TODO+
  
 ===== Resurse utile ===== ===== Resurse utile =====
Line 24: Line 21:
 ==== Demo-uri ==== ==== Demo-uri ====
  
-TODO+Despre scurtăturile din shell pentru navivagarea în comenzi shell 
 + 
 +Despre ''​Alt+.''​ 
 + 
 +Despre istoricul de comenzi, ''​!!''​ și //reverse history search// (''​Ctrl+r''​) 
 + 
 +==== Exerciții de încălzire ==== 
 + 
 +Accesați pagina de manual a Bash 
 +<​code>​ 
 +man bash 
 +</​code>​ 
 +și căutați șirul ''​Commands for Moving''​. Observați care sunt scurtăturile uzuale pentru comenzi în shell. 
 + 
 +Scrieți la prompt, fără să rulați, comanda<​code bash> 
 +cd /h 
 +</​code>​ și apoi folosiți tasta {{{TAB}}} pentru autocompletare. Se completează la ''​cd /​home''​. 
 + 
 +Pentru listarea tuturor comenzilor ce încep cu {{{ap}}}, scrieți acest prefix în terminal și folosiți de două ori consecutiv tasta {{{TAB}}}. Se completează la lista de comenzi care încep cu ''​ap''​ 
 + 
 +Scieți comanda ''​apt-get install nmap'',​ fără să o executați. Folosiți combinația de taste {{{Ctrl + a}}} pentru a vă deplasa la începutul comenzii. Similar, folosiți {{{Ctrl + e}}} pentru a vă deplasa înapoi la finalul comenzii. Folosind săgețile, plasați cursorul după cuvântul {{{get}}}. După aceea, folosiți combinația {{{Ctrl + k}}}. Observați efectul. 
 + 
 +După ce comanda este din nou completă, din aceeași poziție a cursorului, folosiți {{{Ctrl + w}}} și observați ce efect are. 
 + 
 +Rulați următoarea comandă: <code bash> 
 +ping -c 1 google.com > result.out 
 +</​code>​ 
 + 
 +După aceea, folosiți combinația de taste {{{Alt + .}}} (adică țineți apăsat tasta ''​Alt''​ și apoi apăsați tasta ''​.''​ (punct)). Observați efectul acesteia: completează ultimul argument al ultimei comenzi. 
 + 
 +Folosiți de mai multe ori {{{Alt + .}}}. Rezultatul este parcurgerea ultimului argument al ultimelor comenzi la fiecare apăsare 
 + 
 +Ștergeți ce s-a afișat la punctul anterior. Rulați comanda: <code bash> 
 +echo $_ 
 +</​code>​ Diferența față de ''​Alt + .''​ este că este neinteractiv și că nu afișează expandarea acelui argument. 
 + 
 +În același terminal în care ați tastat comenzile de mai sus, rulați comanda: <code bash> 
 +ping -c 1 8.8.8.8 
 +</​code>​ 
 + 
 +Apăsați {{{Ctrl + r}}} și în noul prompt apărut tastați {{{ping}}}. Mai apăsați o dată {{{Ctrl + r}}}. Observați ce se afișează. Folosiți tasta {{{ENTER}}}. Apoi repeteți primul pas și folosiți {{{ESC}}}. Observați diferența dintre cele două utilizări.  
 + 
 +Rulați comanda de schimbare a directorului:​ <code bash> 
 +cd /etc 
 +</​code>​ 
 + 
 +După aceea, folosiți: <code bash> 
 +cd - 
 +pwd 
 +</​code>​ Observați ce efect are: schimbă directorul în directorul anterior. 
 + 
 +Rulați comanda {{{ls /​var/​cache/​apt/​archives/​}}} (utilizând cât mai mult command completion). Ce comandă vă permite schimbarea cât mai eficientă în directorul {{{/​var/​cache/​apt/​archives/​}}}?​ 
 + 
 +==== Folosire scurtături ==== 
 + 
 +Comanda de mai jos selectează numele fișierelor din /etc/ care se termină în {{{.conf}}} și scrie lista într-un fișiere: <code bash> 
 +find /etc -name "​*.conf"​ > result.txt 
 +</​code>​ 
 +Folosind shortcut-urile de mai jos căutați fișierele care încep cu {{{mod}}} și schimbați numele fișierul în care se scrie în shiny-result.txt. Stergeți criteriul de căutare după nume și acum căutați toate directoarele din {{{/etc}}}. (Hint: man {{{find}}}, /type) 
 + 
 +<note tip> 
 +  * ''​Alt-f''​ / ''​Alt-b''​ - deplasare cuvânt următor/​anterior 
 +  * ''​Alt-d'':​ ștergere cuvânt curent 
 +  * ''​Alt-Backspace'':​ șterge cuvânt anterior 
 + 
 +</​note>​ 
 + 
 +==== Folosire eficientă a liniei de comandă ==== 
 + 
 +Pentru a deschide un tab nou de terminal folosiți scurtătura ''​Ctrl+Shift+t''​. Închideți tab-urile nou deschise folosind scurtătura ''​Ctrl+d''​.
  
-TODO+Vreți să afișați discurile sistemului.Rulați comanda<​code bash> 
 +fdisk -l 
 +</​code>​ În cazul în care sistemul are disc cu suport de GPT, folosiți comanda <code bash> 
 +gdisk -l /dev/sda 
 +</​code>​ 
 +Vă dați seama că trebuie să rulați sub ''​sudo''​. Ce faceți? (gândiți-vă la eficiență)
  
-==== TODO 2 ====+Vreți să aflați informații despre executabilul aferent comenzii ''​md5sum''​. Întâi aflați care este calea către executabilul aferent comenzii. Pentru aceasta rulați comanda<​code bash> 
 +which md5sum 
 +</​code>​ 
 +Pentru a afla din ce pachet face parte executabilul trebuie să folosiți comanda<​code bash> 
 +dpkg -S /​cale/​catre/​executabil 
 +</​code>​ 
 +Contrucția ''​$(comanda)''​ vă întoarce rezutaltul comenzii ''​comanda''​.Ce faceți? (gândiți-vă la eficiență)
  
-TODO+Rulați comenzile de mai jos pentru a crea un director nou și pentru a face o copie a fișierului ''/​etc/​passwd'':<​code bash> 
 +mkdir -p ~/​store/​system/​ 
 +cp /etc/passwd ~/​store/​system/​passwd-copy 
 +</​code>​ 
 +Folosiți comanda ''​less''​ pentru a vizualiza conținutul fișierului astfel copiat. ​
  
-==== TODO 2 ====+<note tip> 
 +Fiți eficienți, folosiți combinația ''​Alt+.''​ pentru obținerea ultimului argument al ultimei comenzi. 
 +</​note>​
  
-TODO+Rulați încă o dată comanda care afișa din ce pachet face parte utilitarul ''​md5sum''​. Fiți eficienți, căutați în istoricul de comenzi.
  
basic-unix/capitole/capitol-07.1463339134.txt.gz · Last modified: 2016/05/15 22:05 by razvan