Î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).
readline
bash
, libreadline
Despre scurtăturile din shell pentru navivagarea în comenzi shell
Despre Alt+.
Despre istoricul de comenzi, !!
și reverse history search (Ctrl+r
)
Accesați pagina de manual a Bash
man bash
ș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
cd /h
ș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ă:
ping -c 1 google.com > result.out
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:
echo $_
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:
ping -c 1 8.8.8.8
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:
cd /etc
După aceea, folosiți:
cd - pwd
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/
?
Comanda de mai jos selectează numele fișierelor din /etc/ care se termină în .conf
și scrie lista într-un fișiere:
find /etc -name "*.conf" > result.txt
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)
Alt-f
/ Alt-b
- deplasare cuvânt următor/anteriorAlt-d
: ștergere cuvânt curentAlt-Backspace
: șterge cuvânt anterior
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
.
Vreți să afișați discurile sistemului.Rulați comanda
fdisk -l
În cazul în care sistemul are disc cu suport de GPT, folosiți comanda
gdisk -l /dev/sda
Vă dați seama că trebuie să rulați sub sudo
. Ce faceți? (gândiți-vă la eficiență)
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
which md5sum
Pentru a afla din ce pachet face parte executabilul trebuie să folosiți comanda
dpkg -S /cale/catre/executabil
Contrucția $(comanda)
vă întoarce rezutaltul comenzii comanda
.Ce faceți? (gândiți-vă la eficiență)
Rulați comenzile de mai jos pentru a crea un director nou și pentru a face o copie a fișierului /etc/passwd
:
mkdir -p ~/store/system/ cp /etc/passwd ~/store/system/passwd-copy
Folosiți comanda less
pentru a vizualiza conținutul fișierului astfel copiat.
Alt+.
pentru obținerea ultimului argument al ultimei comenzi.
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.