curs 101-1 - interfata în linia de comandalpic.ro/res/slides/slides-01.pdf · i interpretor de...
Post on 14-Feb-2018
226 Views
Preview:
TRANSCRIPT
R
Curs 101-1Interfat, a ın linia de comanda
Linux Professional Institute Certification
2 martie 2013
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 1/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 2/44
R
Structura unui sistem de operare
I Hardware – CPU, memorie, placa video,hard disk
I Kernel – Linux, GNU Hurd, BSD,Windows
I Module – cdrom, pcnet32, ext3, ip nat
I Shell – bash, sh, csh, zsh, PowerShell
I Utilitare – cp, mv, rm, top
I Software – OpenOffice, Mozilla Firefox
I User – Noi
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 4/44
R
Kernel
I nucleul sistemului
I face legatura dintre hardware s, i software
I ofera o interfat, a comuna catre hardware
I arbitreaza accesul proceselor la hardware
I este prima secvent, a de cod din sistemul de operare ıncarcataın memorie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 5/44
R
Kernelul Linux
I init, ial scris de Linus Torvalds
I ment, inut de comunitatea Open Source kernel.org
I kernel monolitic
I ruleaza ın kernel space (supervisor mode)
I ofera o interfat, a peste hardware printr-un set de primitive –system calls
I software-ul non-critic ruleaza ın user space
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 6/44
R
Modul
I fiecare modul ofera un serviciuI comunicat, ia cu o categorie de hardwareI protocol de ret, eaI sistem de fis, iere
I se ıncarca dinamic ın kernelI modulele nu comunica direct ıntre ele (de obicei)
I folosesc infrastructura kernel-ului
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 7/44
R
Shell
I interpretor de comenzi
I funct, ia principala: a lansa ın execut, ie alte comenzi
I poate fi CLI (command line interface) sau GUI (graphicaluser interface)
I exemple:I CLI: sh, bash, dash, ksh, csh, cmd, PowerShellI GUI: Windows Explorer
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 8/44
R
Utilitare
I programe mici, executa funct, ii primareI manevrarea fis, ierelor s, i a directoarelor (ls, cp)I lucrul cu procese (ps, kill)I lucrul cu hardware-ul (lspci)
I sunt folosite direct de utilizator sau pornite din script-uri shell
In linux se folosesc preponderent utilitare GNU (coreutils, binutils).
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 9/44
R
Distribut, ii Linux
I ofera sistemul de operare (kernel, shell, utilitare)
I proces facil de instalare a tuturor componentelor
I bootloader
I package manager
I interfat, a grafica
I aplicat, ii specifice, branding
Exemple: Debian, Ubuntu, Linux Mint, Gentoo, OpenSUSE, RedHat, Fedora, CentOS, Slackware, Arch Linux
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 10/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 11/44
R
Linia de comanda
I Command Line Interface
I interfat, a simpla (bazata pe text) de interact, iune cu o aplicat, ieI interact, iune de tip comanda-rezultat
I utilizatorul as, teapta sa se termine comanda, nu poateinteract, iona cu programul ın timpul rularii
I comanda, argumente (parametri)I exemple:
I shell + terminal Unix, Command Prompt, Power ShellI echipamente de ret, eaI configurarea jocurilor (ın special FPS-uri)I client, i de aplicat, ii de baze de dateI IRC (/away, /msg, /help)
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 12/44
R
Terminale
I terminal virtual
I CTRL+ALT+1..7
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 13/44
R
Terminale
I pseudo-terminal
I gnome-terminal, konsole, xterm
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 14/44
R
Terminale
I remote terminal
I ssh/telnet, putty
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 15/44
R
Ce este un prompt?
I locul ın care introducem comenzile
I cont, ine informat, ii utile: cine s, i unde suntem?
I difera ıntre CLI-uri
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 16/44
R
Structura unei comenzi
I comenzi fara argumente
Comenzi fara argumente
user@host$ vim
I comenzi cu argumenteI argumentele se separa de comanda prin spat, iuI argumentele ıntre ele se separa prin spat, iuI unele argumente pot fi flag-uri (precedate de - sau --)
Comenzi cu argumente
user@host$ ls -a
user@host$ ls --all
user@host$ ssh user@remotehost
user@host$ cp source.file destionation.file
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 17/44
R
Comenzi simple
I unameI afis, eaza informat, ii despre kernelul curentI rezultatul comenzii poate fi modificat de parametri
I echoI afis, eaza la standard output textul primit ca argument la
comanda
I bashI pornes, te un nou shell Bash
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 18/44
R
Mediul shell-ului
I felul ın care se comporta shell-ul curent este dat de variabilelede mediu
I variabile presetate ($PATH, $PS1, $PWD, $USER)I env
I se pot seta s, i mos, teni variabile noiI set, unset, export
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 19/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 20/44
R
Sistemul de fis, iere
I perspectiva utilizatoruluiI ierarhie de fis, iere s, i directoareI ierarhie, cale, separator, nume, drepturi de acces, utilizator,
grup, dimensiune, tip
I perspectiva sistemului de operareI algoritmi s, i structuri de date pentru organizarea eficienta s, i
accesul scalabil la informat, iile pe un suportI superbloc, inode, bitmap, bloc, dentry, pointeri
I exemple: FAT, FAT32, ext2, ext3, ext4, ntfs, reiserfs, btrfs,zfs, hfs, hfs+, iso9660
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 21/44
R
Ierarhia sistemului de fis, iere
I Filesystem Hierarchy Standard (FHS)I / – directorul radacinaI /bin/ – executabile de baza (disponibile ın single user mode)I /boot/ – fis, ierele bootloaderuluiI /dev/ – dispozitiveI /etc/ – fis, iere de configurare la nivelul sistemuluiI /home/ – directoarele home ale utilizatorilorI /lib/ – biblioteci pentru binarele din /bin/ s, i /sbin/I /media/, /mnt/ – mount pointsI /sbin/ – executabile pentru superuserI /tmp/ – date temporare, de obicei s, terse la repornireI /usr/ – sistem de fis, iere secundar (/usr/bin/, /usr/lib/,
/usr/sbin/)I /var/ – fis, iere variabile (cont, inutul se schimba)
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 22/44
R
Ierarhia sistemului de fis, iere
I Unde se gasesc urmatoarele?I executabilul gcc
I /usr/bin/
I fis, ierul vsftpd.confI /etc/
I fis, ierele personale ale utilizatorului anaI /home/ana/
I executabilul adduserI /usr/sbin/
I fis, ierul mail.logI /var/mail/
I imaginea de kernel vmlinuz-2.6.33I /boot/
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 23/44
R
Cale ın sistemul de fis, iere (path)
I succesiune de intrari ın sistemul de fis, iere
I separator de cale (/)I absoluta
I /etc/apache2/I /var/mail/mail.logI /home/student/file.txtI ıncepe de la directorul radacina (ıncepe cu / - slash)
I relativaI apache2/ (din /etc/)I file.txt (din /home/student/)
I intrari specialeI . – directorul curent (self reference)I .. – directorul parinte
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 24/44
R
Parcurgerea caii
I Unde ma aflu?pwd
razvan@valhalla:/usr/local$ pwd
/usr/local
razvan@valhalla:/usr/local$ echo $PWD
/usr/local
I Unde ma pot duce?
ls
razvan@valhalla:/usr/local$ ls
bin etc games include lib mail man myapps sbin share src
razvan@valhalla:/usr/local$ ls -F
bin/ etc/ games/ include/ lib/ mail/ man@ myapps/ sbin/ share/
src/
I Ma duccd
razvan@valhalla:/usr/local$ cd myapps/patches/
razvan@valhalla:/usr/local/myapps/patches$ cd /etc/apache2
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 25/44
R
Ce este un fis, ier?
I abstractizare a sistemului de operareI abstractizeaza datele/informat, iileI handler pentru gestiunea datelor de utilizator
I referit de utilizator prin nume
I referit de sistemul de operare prin numar (inode number)
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 26/44
R
Tipuri de fis, iere
I fis, iere obis, nuite (regular files)
I directoare
I link-uri (simbolice s, i hard)
I dispozitive speciale (caracter s, i bloc)
I pipe-uri cu nume (named pipes, FIFOs)
I socket, i Unix (Unix domain sockets)
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 27/44
R
Operat, ii pe fis, iere
I (pseudo)creareI touch a.txt
I s, tergereI rm, unlink
I copiereI cp a.txt b.txt
I mutare/redenumireI mv a.txt new_a.txt
I afis, are cont, inutI catI head, tailI vi, emacs, nano, joe, mcedit
I copiere bloc de dateI dd
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 28/44
R
Operat, ii pe directoare
I creareI mkdir my-dir
I s, tergereI rmdir my-dir (pentru directoare goale)I rm -r my-dir (s, tergere recursiva)
I copiereI cp -r my-dir my-dir-copy
I mutareI mv my-dir new-my-dir
I afis, are cont, inutI lsI opt, iuni utile ls: -a, -l, -F, −−color=auto, -1, -i, -R, -d
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 29/44
R
Operat, ii pe link-uri
I creare link hard (hard link)I ln file file2I creeaza un nou nume/alias, nu un fis, ier (inode)
I creare link simbolic (symlink)I ln -s file file2I creeaza un nou fis, ier (un nou inode)I merge pe directoareI merge ıntre sisteme de fis, iere diferite
I s, tergereI rmI unlink
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 30/44
R
Informat, ii despre fis, iere (status)
I ls -l
I file razvan@valhalla:/tmp/lpic-2/type$ file file
file: empty
razvan@valhalla:/tmp/lpic-2/type$ file
/usr/bin/gcc4.3
/usr/bin/gcc4.3: ELF 64bit LSB executable,
x8664, version 1 (SYSV),
dynamically linked (uses shared libs), for
GNU/Linux 2.6.18, stripped
I stat
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 31/44
R
Cautarea fis, ierelor
I whereisI cauta executabile, surse s, i pagini de manual pentru o comandaI whereis bash
I cautare indexataI locate ‘‘string’’ – localizareI updatedb – actualizarea bazei de dateI /etc/updatedb.conf
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 32/44
R
Spat, iu ocupat
I dimensiune fis, ier
pwd
alexj@hathor $ ls -l main.s
-rw-rw-r-- 1 alexj alexj 1802 2012-05-06 22:30 main.s
alexj@hathor $ ls -lh main.s
-rw-rw-r-- 1 alexj alexj 1.8K 2012-05-06 22:30 main.s
alexj@hathor $ stat -c "%s" main.s
1802
I dimensiune directorpwd
alexj@hathor $ du -hs lpic/
8.8M lpic/
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 33/44
R
Arhivare
I .zip: zip, unzip
I .tar: tar
I .gz: gzip, gunzip
I .bz2: bzip2, bunzip2
I .a, .deb: ar
I .Z: compress, uncompress/gunzip
I .cpio: cpioI operat, ii cu arhive
I arhivareI dezarhivareI listare cont, inutI adaugare, eliminare
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 34/44
R
Arhivare (cont.)
I arhivareI tar cf arhiva.tar file1 dir1 file2 dir2I gzip arhiva.tar (tar czf)I bzip2 arhiva.tar (tar cjf)I zip -r arhiva.zip file1 dir1 file2 dir2
I dezarhivareI tar xf arhiva.tarI gunzip arhiva.tar.gz (tar xzf)I bunzip2 arhiva.tar.bz2 (tar xjf)I unzip arhiva.zip
I listareI tar tf arhiva.tarI unzip -l arhiva.zip
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 35/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 36/44
R
Autocompletion
I folosind tasta TAB
I se completeaza cel mai lung prefix neambiguu
I pentru afis, area sugestiilor se foloses, te TAB-TAB
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 37/44
R
Istoricul comenzilor
I sageata sus - sageata jos
I !! – rularea comenzii anterioare
I comanda history
I fis, ierul ˜/.bash history
sudo !!
I $ sau Alt-. – ultimul parametru al ultimei comenzi
mkdir mydir
cd $_
I Ctrl-R – reverse search
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 38/44
R
Scurtaturi libreadline
I Ctrl-D – logout
I Ctrl-C – anulare comanda
I Alt-F/Alt-B – deplasare cuvantul urmator/anterior
I Ctrl-A/Ctrl-E – deplasare ınceputul/sfars, itul liniei
I Alt-D – s, terge cuvantul curent
I Alt-Backspace – s, terge cuvantul anterior
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 39/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 40/44
R
Surse de informare
I cel mai important skill: cum sa ınvet, i sa gases, ti singur lucruriI documentat, ie disponibila ın sistem:
I argumentele -h s, i --help la comenziI paginile de manual (comanda man)I paginile info (comanda info)I comenzi ajutatorare: which, apropos, whatis
I documentat, ie externa:I The Linux Documentation Project (http://tldp.org)I GoogleI forumuri s, i liste de discut, iiI IRC (live)
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 41/44
R
Paginile de manual
I man comanda
I cautare cu /KEYWORD
I se folosesc n s, i N pentru navigare printre cuvintele cautate
I q pentru ies, ire
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 42/44
R
Outline
Introducere
Linia de comanda
Gestiunea fis, ierelor
Utilizarea eficienta a liniei de comanda
Folosirea documentat, iei
Cuvinte cheie
LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 43/44
top related