TODO
TODO
TODO
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
)
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.
În mașina virtuală, după ce vă autentificați, din meniul Applications Menu → Terminal Emulator
deschideți un nou terminal.
Puteți folosi quick run, cu ajutorul scurtăturii Alt-F2 și rulând aplicatia xfce4-terminal.
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
.
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ă.
unzip -l <nume-arhiva>.zip
unde <nume-arhiva>
este numele arhivei.
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.
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.
Folosiți fișierul de la link-ul http://swarm.cs.pub.ro/~razvan/r și aflați mesajele secrete.
wget http://swarm.cs.pub.ro/~razvan/r
file
urmată de numele unui fișier pentru a afla informații despre acel fișier.
lzop
folosind comanda:
sudo apt-get install lzop
xz-utils
folosind comanda:
sudo apt-get install xz-utils
Pentru fișierele comrimate XZ sau LZMA trebuie să modificați numele fișierelor pentru a avea extensia .xz
respectiv .lzma
.
Vrem să creăm o imagina ISO pentru toate fișierele dn ierarhia /etc
.
Creați un fișier etc.iso
folosind comanda genisoimage
care să conțină fișierele din ierarhia /etc
.
Apoi montați imaginea ISO pentru a valida structura corectă a fișierului .iso
. Folosiți indicațiile de aici.
Folosiți netcat
pentru a porni, pe un tab de terminal, un server și pe alt tab de terminal un client conectat la acel server, pe localhost
(127.0.0.1
).
netcat
este un utilitar care permite deschiderea de clienți și servere de comunicare în rețea.
Rulați netcat
pentru a permite comunicarea peste UDP.
UDP
și folosiți opțiunea corespunzătoare.
Folosiți utilitarul iperf
pentru a porni un client și un server și pentru a verifica lățimea de bandă pe localhost
.
Porniți întâi serverul.
Ca argument pentru client (pentru conectare la server) folosiți localhost
(stația locală). Durează circa 10
secunde de comunicare între client și server pentru stabilirea lățimii de bandă.