Cuprins

Introduction to Linux

Reminders

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

Basic stuff

1. Scrieți la prompt:

cd /h

și apoi folosiți tasta TAB pentru autocompletare.

2. Scrieți (dar nu executați) la prompt următoarea comandă de instalare a unui pachet:

apt-get install ekiga

3. Rulați următoarea comandă:

ping -c 1 google.com > result.out

4. În același terminal în care ați tastat comenzile de mai sus, rulați comanda:

ping -c 1 8.8.8.8

5. Rulați comanda de schimbare a directorului:

cd /etc

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

man vim

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

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.

One-liners

1. Vrem să afișăm informații despre utilizatorii din sistem.

2. Vrem să afișăm cele mai folosite 10 comenzi.

Remember:

cut -d "delimiter" -f fields

3. Vrem să afișăm cele mai mari 15 fișiere dintr-un director.

Remember: du

4. Vrem să aflăm numele utilizatorilor care s-au autentificat în sistem în ziua de Vineri.

Notes

  • Utilizați ALT + . pentru a extrage argumentului comenzilor date anterior.
  • Pentru rularea ultimei comenzi utilizați !!:
    apt-get install sl
    Ups...forget to sudo :(
    sudo !!
  • This is good:
    grep <pattern> <file>
  • This is bad:
    cat <file> | grep <pattern>

Advanced shell scripts

1 Creați scriptul backup-script.sh în /home/student care copiază toate fișierele cu extensia .conf din /etc.

Hint:

man find

/type, /name

Comanda 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.

2 Creați scriptul backup-tree-script.sh care copiază toate fișierele cu extensia .conf din /etc și păstrează ierarhia.

Remember:

for i in $(ls); do
    stat $i
done

Exercițiul se poate rezolva și utilizând utilitarul cpio cu parametrul -p sau --pass-through.
Mai multe informații puteți găsi aici.

3 Creați un script care să poată crea arhive .zip .tar.gz .tar.bz2 ale copiei ierarhiei de la exercițiul 2.

4 Creați un script my-adduser.sh care să adauge un utilizator nou în sistem în mod interactiv.

Bonus

 Guess the Number