User Tools

Site Tools


medium-unix:capitole:capitol-02

This is an old revision of the document!


2. Folosirea eficientă a liniei de comandă

TODO

Subiecte abordate

  • TODO
  • TODO
  • TODO

Utilitare folosite

  • TODO
  • TODO
  • TODO

Resurse utile

  • TODO
  • TODO

Exerciții

Demo-uri

TODO

TODO

Exerciții de încălzire

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/ ?

Folosiți uname pentru a afișa doar versiunea nucleului și a arhitecturii sistemului. (Hint: man uname)

Lucrul cu documentația

Fiecare comandă din Linux este însoțită de pagini de manual. Pentru a accesa manualul editorului vim, folosiți comanda:

man vim

Navigați prin manual folosind PageUp și PageDown.

Pentru a căuta prin manual după cuvântul fork, folosiți:

/fork <ENTER>

Deplasați-vă între aparițiile cuvântului folosind n și N.

Pentru a obține o scurtă descriere referitoare la o comandă, cât și secțiunea din manual în care se află, tastați comanda:

whatis make

După aceea, folosiți comanda:

apropos make

Observați diferența dintre ce returnează fiecare comandă.

Manualele sunt grupate pe secțiuni. Pentru a vedea ce conține fiecare secțiune, consultați manualul utilitarului man:

man man

și consultați tabelul aflat în paragraful Description.

Rulați comanda:

man printf

În ce secțiune se află pagina?

Pentru a afla informații despre funcția de bibliotecă printf, rulați comanda:

man 3 printf

Pentru a determina calea completă către comanda ls, folosiți:

which ls

De cele mai multe ori, comenzile builtin ale shell-ului nu au pagină de manual. Tastați comanda:

type source

Se observă că source este o comandă internă. Folosiți utilitarul help pentru a afla informații despre ea:

help source

Căutați în pagina de manual a comenzii find exemplul de comandă care căută în /sbin și /usr/sbin fișierele cu drept de execuție dar fără drept de citire.

Ce conține secțiunea 5 a paginilor de manual? Aflați informații despre fișierul /etc/passwd.

Determinați comenzile folosite pentru a lucra cu fișiere .zip. Hint: apropos

Comanda unzip dezarhivează o arhivă .zip dar are și o opțiunea de listare a conținutului acelei arhive fără a o dezarhiva însă. Identificați acea opțiune.

Alte exerciții

Terminale

În mașina virtuală, după ce vă autentificați, din meniul Applications Menu → Terminal Emulatordeschideți un nou terminal.

Puteți folosi quick run, cu ajutorul scurtăturii Alt-F2 și rulând aplicatia xfce4-terminal.

Pentru exercițiile viitoare, folosiți astfel de terminale.

Prompt-ul și comenzi simple

Rulați comanda whoami. Observați prompt-ul și determinați utilizatorul curent și care este numele mașinii.

Rulați comanda hostname și observați ce afișează.

Rulați comanda sudo su și observați schimbările prompt-ului. Verificați din nou utilizatorul curent cu comanda whoami.

Comenzi cu argumente

Aflați informații despre Linux-ul instalat folosind comanda uname cu opțiunea -a sau --all. Folosiți o opțiune adecvată pentru a afișa doar versiunea arhitecturii sistemului de calcul.

Rulați comanda zip fără argumente și observați că nu funcționează fără argumente.

Creați două fișiere (file1 și file2) cu comanda touch. touch primește ca argumente (număr variabil de argumente) numele fișierelor.

Arhivați fișierele file1 și file2 într-o arhivă files.zip folosind comanda

zip files.zip file1 file2

Rulati comanda zip fără parametri și determinați opțiunea de “quiet operation”. Rulați comanda zip cu acea opțiune pentru a adăuga și un fișier file3 la arhivă.

Documentație

Aflați ce face comanda who folosind utilitarul whatis: whatis who. Folosiți help-ul intern al comenzii: who --help pentru a vedea ce opțiuni poate primi comanda who.

Similar, aflați ce face comanda last. Căutați în pagina de manual (rulați man last) după cuvântul cheie “full” (tastați “/full”) pentru a afla flag-ul care afișeaza data și ora în format complet. Rulați comanda last cu parametrul aflat.

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.

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.

Fiți eficienți, folosiți combinația 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.

Find the secret messages

Folosiți fișierul de la link-ul http://swarm.cs.pub.ro/~razvan/r și aflați mesajele secrete.

Pentru a descărca fișierul de link-ul de mai sus folosiți comanda

wget http://swarm.cs.pub.ro/~razvan/r

Folosiți-vă de comanda file urmată de numele unui fișier pentru a afla informații despre acel fișier.

Pentru fișiere comprimate LZOP instalați programul lzop folosind comanda:

sudo apt-get install lzop

medium-unix/capitole/capitol-02.1463389032.txt.gz · Last modified: 2016/05/16 11:57 by razvan