Informații
Resurse studenți
(necesită autentificare)
Pentru a deschide un terminal puteți fie să navigați la o iconiță specifică (nu faceți asta), fie puteți utiliza o anumită combinație de taste
Shortcut | Desciere |
---|---|
ALT + F2 | urmat de numele (pseudo)terminalului: în cazul nostru gnome-terminal |
CTRL + ALT + T | deschide un nou terminal |
CTRL + SHIFT + T | deschide un nou tab în terminalul curent |
CTRL + PageUp/PageDown | navigare printre tab-urile deschide |
CTRL + ALT + Arrows | navigare printre workspace-uri |
CTRL + ALT + SHIFT + Arrows | mutare fereastră focusată într-un nou workspace |
Comandă | Descriere |
---|---|
touch <fișier> | creare fișier (modificare timestamp) |
mkdir <director | creare director |
rm | ștergere |
cd <director> | mutare din directorul curent în director |
ls <director> | fără a specifica un director ls va afișa conținutul directorului curent |
cp <sursă> <destinație> | copiere de la sursă la destinație |
mv <sursă> <destinație> | mutare de la sursă la destinație; folosit și la redenumire |
echo | afișare la ieșire șirul primit ca argument |
cat | afișare conținut fișier |
ps | afișare informații despre procese |
kill | trimite un semnal unui proces |
top | afișare în mod interactiv informații despre procese |
tr | transformă sau șterge caractere dintr-un flux de text |
sed | manipulare flux de text; poate face înlocuiri, ștergeri etc. |
cut | decupează anumite coloane dintr-un fișier formatat |
head | afișare primele linii din fișier |
tail | afișare ultimele linii din fișier |
grep | caută și afișează liniile dintr-un text ce urmează respectă un pattern |
apt-get install <pachet> | instalare pachet |
apt-get remove <pachet> | dezinstalare pachet (rămân fișierele de configurare) |
apt-get autoremove | ștergere pachete instalate pentru a satisface anumite dependințe |
1. Scrieți la prompt:
cd /h
și apoi folosiți tasta TAB
pentru autocompletare.
ap
, scrieți acest prefix în terminal și folosiți de două ori consecutiv tasta TAB
.2. Scrieți (dar nu executați) la prompt următoarea comandă de instalare a unui pachet:
apt-get install ekiga
Ctrl + a
pentru a vă deplasa la începutul comenzii. Similar, folosiți Ctrl + e
pentru a vă deplasa înapoi la finalul comenzii.get
. După aceea, folosiți combinația Ctrl + k
. Observați efectul.Ctrl + y
.Ctrl + w
și observați ce efect are.3. Rulați următoarea comandă:
ping -c 1 google.com > result.out
Alt + .
. Observați efectul acesteia.Alt + .
. Care este rezultatul?echo $_
Care este diferența față de Alt + .
?
4. În același terminal în care ați tastat comenzile de mai sus, rulați comanda:
ping -c 1 8.8.8.8
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ă.ENTER
. Apoi repeteți primul pas și folosiți ESC
. Observați diferența dintre cele două utilizări. 5. Rulați comanda de schimbare a directorului:
cd /etc
cd - pwd
Observați ce efect are.
6 Fiecare comandă din Linux este însoțită de pagini de manual. Pentru a accesa manualul editorului vim
, folosiți comanda:
man vim
PageUp
și PageDown
.fork
, folosiți: /fork <ENTER>
n
și N
.7. 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
apropos make
Observați diferența dintre ce returnează fiecare comandă.
8. 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
.
man printf
În ce secțiune se află pagina?
printf
, rulați comanda: man 3 printf
1. Vrem să afișăm informații despre utilizatorii din sistem.
/etc/passwd
./etc/passwd
: cat /etc/passwd
cut -d ':' -f 1,3 /etc/passwd
cut -d ':' -f 1,3 /etc/passwd | sort -t ':' -k2n
tr
)2. Vrem să afișăm cele mai folosite 10 comenzi.
~/.bash_history
: cat ~/.bash_history
cat ~/.bash_history | tr "\|\;" "\n"
sed
: cat ~/.bash_history | tr "\|\;" "\n" | sed "s/^ //g"
"<comandă> <argumente>"
. Vrem să extragem doar comenzile.
cut -d "delimiter" -f fields
uniq
, /count}}})
3. Vrem să afișăm cele mai mari 15 fișiere dintr-un director.
/var/log/
: du /var/log/*
man sort
, /reverse).4. Vrem să aflăm numele utilizatorilor care s-au autentificat în sistem în ziua de Vineri.
last
: last
last | grep "Fri"
ALT + .
pentru a extrage argumentului comenzilor date anterior.!!
: apt-get install sl Ups...forget to sudo :( sudo !!
grep <pattern> <file>
cat <file> | grep <pattern>
1 Creați scriptul backup-script.sh
în /home/student
care copiază toate fișierele cu extensia .conf
din /etc
.
.conf
: ./backup-script.sh "backup-dir"
nume_dir.zip
și conținutul directorului va fi șters./etc
care se termină în .conf
:
man find
/type, /name
find
cu xargs
pentru a copia fișierele în director-ul de backup:
xargs
este proiectată să construiască liste de argumente și să execute alte comenzi. Pentru a aflat statistici despre fișierele din directorul curent:
ls | xargs stat
Despre folosirea comenzii xargs
puteți afla mai multe de aici.
tree
pentru a verifica că fișierele au fost copiate.
2 Creați scriptul backup-tree-script.sh
care copiază toate fișierele cu extensia .conf
din /etc
și păstrează ierarhia.
.conf
./etc/init/rsyslog.conf
va fi copiat în $DIR/etc/init/rsyslog.conf
./etc/host.conf
va fi copiat în $DIR/etc/host.conf
.find
de la exercițiul anterior.for
puteți să parcurgeți lista returnată de comanda find.
for i in $(ls); do stat $i done
dirname
)mkdir
, /parent).cp
.tree
pentru a verifica că ierarhia a fost menținută.
cpio
cu parametrul -p
sau --pass-through
.
3 Creați un script care să poată crea arhive .zip
.tar.gz
.tar.bz2
ale copiei ierarhiei de la exercițiul 2.
zip
.backup-tree-script.sh
pentru a copia ierarhia.
4 Creați un script my-adduser.sh
care să adauge un utilizator nou în sistem în mod interactiv.
/home/$user-name
.guess.sh
în care veți implmenta o versiune minimală a jocul „Guess the number“.stdin
intervalul în care se va genera numărul care trebuie ghicit.[lower_bound--upper_bound]
, voi trebuind să extrageți limita superioară și pe cea inferioară.stdin
un număr (diferența între upper și lower) și afișează la stdout
numărul de încercări.scores
(se va crea dacă nu există), o intrare fiind sub următoarea formă: nume --> scor --> inteval --> data
zi-lună-an