Sunteți pe pagina 1din 41

Capitolul 1

Introducere n Linux. Folosirea liniei de comanda


Razvan Deaconescu
razvan@rosedu.org
31 iulie 2012
Cursuri ROSEdu

1 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

2 / 40

Sistem de operare

set de programe care faciliteaza accesul la resursele hardware s, i


ofera servicii utilizatorului
abstractizare a hardware-ului
utilizatori s, i administratori

3 / 40

Structura unui sistem de operare

Hardware CPU, memorie, placa video,


hard disk
Kernel Linux, GNU Hurd, BSD,
Windows
Module cdrom, pcnet32, ext3, ip nat
Shell bash, sh, csh, zsh, PowerShell
Utilitare cp, mv, rm, top
Software OpenOffice, Mozilla Firefox
User Noi

4 / 40

Nucleu/Kernel

nucleul sistemului
face legatura dintre hardware s, i software
ofera o interfat, a comuna catre hardware
arbitreaza accesul proceselor la hardware
este prima secvent, a de cod din sistemul de operare ncarcata n
memorie

5 / 40

Nucleul Linux

kernel monolitic
ruleaza n kernel space (supervisor mode)
ofera o interfat, a peste hardware printr-un set de primitive system
calls
software-ul non-critic ruleaza n user space
Linux este un nucleu
se zice nucleul Linux sau kernelul Linux, NU kernelul de Linux

6 / 40

Distribut, ii Linux

ofera sistemul de operare (kernel, shell, utilitare)


proces facil de instalare
bootloader
package manager
aplicat, ii specifice, branding
Exemple: Debian, Ubuntu, Gentoo, OpenSUSE, Red Hat, Slackware

7 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

8 / 40

Ce nseamna CLI?

Comand Line Interface


interfat, a simpla(bazata pe text) de interact, iune cu o aplicat, ie
exemple:
shell + terminal Unix, Command Prompt, Power Shell
echipamente de ret, ea
configurarea jocurilor (n special FPS-uri)
client, i de aplicat, ii de baze de date
IRC (/away, /msg, /help)

9 / 40

Ce este un shell?

interfat, a cu sistemul de operare


diverse forme:
GUI: Explorer, Gnome, KDE
CLI: terminale

10 / 40

Terminale
terminale adevarate
terminal virtual
CTRL+ALT+1...7

11 / 40

Terminale (2)
pseudo-terminal
gnome-terminal, konsole, xterm

12 / 40

Terminale (3)
remote terminal
ssh/telnet, putty

13 / 40

Prompt

locul n care introducem comenzile


cont, ine informat, ii utile: cine s, i unde suntem?
difera ntre CLI-uri

14 / 40

Structura unei comenzi

comenzi fara argumente


user@host$ vim

comenzi cu argumente
argumentele se separa de comanda prin spat, iu
argumentele ntre ele se separa prin spat, iu
unele argumente pot fi flag-uri (precedate de - sau )
user@host$ ls -a
user@host$ ls --all
user@host$ ssh user@remotehost
user@host$ cp source.file destionation.file

15 / 40

Exemple de comenzi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

alexj@hathor $ uname
Linux
alexj@hathor $ uname --help
Usage: uname [OPTION]...
Print certain system information.
-a, --all

With no OPTION, same as -s.

print all information, in the following order,


except omit -p and -i if unknown:

[snip]
alexj@hathor $ uname -h
uname: invalid option -- h
Try uname --help for more information.
alexj@hathor $ uname -a
Linux hathor 3.3.0-rc6+ #7 SMP Mon Mar 5 19:54:28 EET 2012 i686 i686
i386 GNU/Linux
alexj@hathor $ uname --all
Linux hathor 3.3.0-rc6+ #7 SMP Mon Mar 5 19:54:28 EET 2012 i686 i686
i386 GNU/Linux

16 / 40

Autocompletion

folosind tasta TAB


se completeaza cel mai lung prefix neambiguu
pentru afis, area sugestiilor se foloses, te TAB-TAB

17 / 40

Scurtaturi n shell

Ctrl-D logout
Ctrl-C anulare comanda
Alt-F/Alt-B deplasare cuvantul urmator/anterior
Ctrl-A/Ctrl-E deplasare nceputul/sfars, itul liniei
Alt-D s, terge cuvantul curent
Alt-Backspace s, terge cuvantul anterior

18 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

19 / 40

Clase de aplicat, ii/comenzi

lucrul cu sistemul de fis, iere


lucrul cu procese
instalarea de aplicat, ii
gestiunea utilizatorilor s, i drepturilor
dezvoltarea de aplicat, ii
configurarea ret, elei
aplicat, ii de ret, ea
multimedia
gestiunea documentelor

20 / 40

Lucrul cu sistemul de fis, iere

fis, ier, director, link, separator


pozit, ionare s, i parcurgere: pwd, ls, cd
crearea de fis, iere: touch, mkdir, ln
s, tergerea de fis, iere: rm, rm -r, rmdir
afis, area fis, ierelor: cat, less, vi
drepturi pe sisteme de fis, iere: chmod, chown

21 / 40

Lucrul cu procese

procese, comunicarea ntre procese


crearea de procese: ./executabil
listarea proceselor: ps, pstree, pgrep
terminarea proceselor: kill, pkill
monitorizarea proceselor: top, htop, lsof

22 / 40

Instalarea de aplicat, ii

repository, pachet
cautarea unui pachet: apt-cache search nume-pachet
instalarea unui pachet: apt-get install nume-pachet
s, tergerea unui pachet: apt-get remove purge nume-pachet
inspectarea unui pachet: apt-cache show nume-pachet
configurarea unui repository: /etc/apt/sources.list
actualizarea bazei de date locale de pachete: apt-get update
upgrade-ul sistemului: apt-get upgrade

23 / 40

Gestiunea utilizatorilor s, i drepturilor

utilizatori, grupuri, privilegii


informat, ii despre utilizatori: who, id, finger
crearea unui utilizator: useradd
s, tergerea unui utilizator: userdel
crearea unui grup: groupadd
s, tergerea unui grup: groupdel
schimbarea parolei: passwd, chpasswd
modificarea informat, iilor: usermod

24 / 40

Dezvoltarea de aplicat, ii

compilare, interpretare, biblioteci


editarea codului sursa: Vim, Emacs, nano, Gedit, Kate, Jini
compilarea/interpretarea surselor: gcc, g++, javac, python, php,
perl, Make
depanarea aplicat, iilor: gdb, printf debugging
rularea aplicat, iilor: ./executabil
profiling: gprof, perf, oprofile

25 / 40

Configurarea ret, elei

ret, ea, adresa, DNS


vizualizarea informat, iile de ret, ea: ifconig, route, arp, netstat, ip
configurarea statica manuala: ifconfig, ip
configurarea dinamica manuala: dhclient
configurarea automata: /etc/network/interfaces
configurarea server-ului de DNS: /etc/resolv.conf
captura de pachete: tcpdump, wireshark, tshark
depanare: route -n, ping, traceroute, host

26 / 40

Aplicat, ii de ret, ea

web: server web, browsere, wget, curl, lynx


email: server e-mail, server SMTP, Evolution, Thunderbird, mail,
Mutt, Gnus
SSH: server, ssh, scp, sftp
DNS: sever, host, dig, nslookup
BitTorrent: tracker, client
monitorizare s, i captura: netstat, tcpdump, wireshark, lsof

27 / 40

Multimedia

viewere de imagini
editoare de imagini: image-magick, Gimp
viewere de filme
convertoare de cont, inut de filme: ffmpeg, handbrake, kino
playere de audio
editoare de cont, inut audio: audacity

28 / 40

Gestiunea documentelor

editoare: Vim, Emacs, nano, Gedit, Kate


suita Office: LibreOffice (OpenOffice), KOffice, Gnome Office
LaTeX: latex, pdflatex, Kile, LyX

29 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

30 / 40

Documentat, ie n Linux

cel mai important skill: cum sa nvet, i sa gases, ti singur lucruri


documentat, ie disponibila n sistem
argumentele -h s, i --help la comenzi
paginile de manual (comanda man)
paginile info (comanda info)
comenzi ajutatorare: which, apropos, whatis

documentat, ie externa:
The Linux Documentation Project (http://tldp.org)
Google
forumuri s, i liste de discut, ii
IRC (live)

31 / 40

Paginile de manual

man comand
a
cautare cu /KEYWORD s, i n s, i N pentru navigare
/KEYWORD nseamna ,,slash urmat de s, irul de cautare
n next
N previous
?KEYWORD pentru cautare napoi

q pentru ies, ire

32 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

33 / 40

Distribuirea software-ului

tarballs (.tar, .tar.gz, .tgz)


cont, in surse, trebuiesc compilate
necesita un toolchain pentru compilare
sunt independente de platforma
the Slackware way

34 / 40

Distribuirea software-ului

tarballs (.tar, .tar.gz, .tgz)


cont, in surse, trebuiesc compilate
necesita un toolchain pentru compilare
sunt independente de platforma
the Slackware way

package manager (.rpm, .deb)


construite pentru o arhitectura/distribut, ie
simplitate n administrare
controlul versiunilor
controlul dependent, elor s, i al conflictelor

34 / 40

Debian Package Manager

folosit pe distribut, ii bazate pe Debian (inclusiv Ubuntu)


pachet distribuit sub forma de fis, ier .deb
sendmail_8.12.3-6.6.deb
sendmail numele pachetului
8.12.3 versiunea pachetului
6.6 versiunea distribut, iei pentru care este pachetul

utilitare
dpkg
apt-get
apt-cache
Synaptic, Aptitude

35 / 40

APT (Advanced Packaging Tool)

cauta s, i instaleaza pachete din locat, ii specificate (repositories)


/etc/apt/sources.list
apt-get
update actualizeaza lista de pachete disponibile
install instaleaza un pachet
remove s, terge un pachet
uprade instaleaza o versiune mai noua a unui pachet

mai nou aptitude


apt-cache
search cauta un s, ir de caractere n numele s, i descrierile pachetelor
din baza de date

36 / 40

dpkg

back-end-ul folosit de apt


folosit pentriu instalarea unor fis, iere .deb (din afara
repository-urilor)
folosit pentru interogarea bazei de date locale cu pachete
dpkg -l *alf* listeaza pachetele ce cont, in s, irul alf
dpkg -L procps afis, eaza fis, ierele din sistem care au fost instalate
din cadrul pachetului procps
dpkg -S /usr/bin/which din ce pachet face parte fis, ierul
/usr/bin/which

37 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

38 / 40

Cuvinte cheie
sistem de operare
kernel
Linux
distribut, ii
CLI
shell
terminal
prompt
comanda

operat, ii n Linux
man
/KEYWORD
apt-get
/etc/apt/sources.list
dpkg

argumente
autocompletion

39 / 40

Cuprins

Linux

Linia de comanda

Folosirea sistemului Linux

Documentat, ie

Gestiunea pachetelor

Concluzie

Intrebari

40 / 40

S-ar putea să vă placă și