44
R Curs 101-1 Interfat , ın linia de comand˘ a Linux Professional Institute Certification 2 martie 2013 LPIC-1 Curs 101-1, Interfat ,a ˆ ın linia de comand˘ a 1/44

Curs 101-1 - Interfata în linia de comandalpic.ro/res/slides/slides-01.pdf · I interpretor de comenzi I funct, ia principal a: a lansa ... I CLI: sh, bash, dash, ksh, csh, cmd,

  • Upload
    tranque

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

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

LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 3/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

R

Cuvinte cheie

I shell

I CLI

I terminal

I prompt

I argumente

I man

I info

I apropos

I whatis

I which

LPIC-1 Curs 101-1, Interfat,a ın linia de comanda 44/44