Sunteți pe pagina 1din 15

V.

Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

Laborator SCR Nr.2:

Introducere \n Linux: lucrul cu fi[iere


1. Intrarea, ie[irea [i oprirea sistemului Departe de a face o prezentare exhaustiv` a comenzilor, acest paragraf \[i propune o minim` ini]iere \n utilizarea Linux. |n absen]a unor preciz`ri explicite, se va considera \n continuare c` versiunea de Linux exemplificat` este RedHat 8.0. |ntruc=t \n 2012-2013 se va utiliza la laborator Fedora Core 18, diferen]ele fa]` de RedHat 8.0 vor fi observate de c`tre student. Abordarea se va face pornind de la ideea c` aceasta reprezint` un instrument util pentru \n]elegerea OSI [i TCP/IP. Dac` organizarea sistemului de operare este privit` doar prin prisma utilizatorului, aspectele ce ]in de lucrul \n re]ea sunt abordate \n profunzime, din punctul de vedere al specialistului. S-a adoptat urm`toarea conven]ie: mesajele date de sistem sunt scrise cu fonturi Courier New normale, iar comenzile date de utilizator cu fonturi Courier New ingrosate (bold). Presupunem c` sta]ia se nume[te helios, are adresa IP: 172.27.208.165, masca subre]elei: 255.255.255.0, adresa gateway: 172.27.208.1, DNS: 193.226.5.35. |n urma \nc`rc`rii sistemului de operare din parti]ia Linux vom introduce numele utilizatorului (g1s1e1) [i parola (Parola):
Red Hat Linux release 8.0 (Psyche) Kernel 2.4.18-14 on an i686 helios login: g1s1e1 Password: ****** Last login: Wed Oct 12 11:09:42 on tty1 [g1s1e1@helios g1s1e1]$

Presupun=nd c` este acceptat, utilizatorul g1s1e1 de pe ma[ina helios se afl` \n directorul propriu (/home/g1s1e1, echivalent cu semnul ~) iar prompterul $ indic` faptul c` sistemul este gata s` primeasc` o comand`. Ie[irea din sistem se poate face cu comanda logout, dar [i exit cu efect similar (la alte sisteme UNIX este valabil [i CTRL-D).
[g1s1e1@helios g1s1e1]$ logout Red Hat Linux release 8.0 (Psyche) Kernel 2.4.18-14 on an i686 helios login:

De obicei o sta]ie UNIX func]ioneaz` non-stop, av=nd ata[at` o surs` de tensiune neintreruptibil` UPS (Uninterrupted Power Supply), ma[ina ram=n=nd \n func]iune chiar dac` to]i utilizatorii au ie[it din sistem. Dac` totu[i se dore[te
Copyright Virgil Dobrota 2013, All rights reserved 1

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

oprirea definitiv`, atunci se poate da comanda CTRL-ALT-DEL sau reboot \n urma c`reia au loc urm`toarele evenimente:
reboot: sending all processes the TERM signal ... reboot: sending all processes the KILL signal ... Unmounting file systems... Done.

2. Crearea unui nou utilizator [i schimbarea parolei Crearea unui nou utilizator poate fi f`cut` numai de c`tre administratorul sistemului, denumit root, sau echivalentul acestuia. Prompterul este \n acest caz # \n loc de $. |n Red Hat 8.0 utilizatorul prime[te automat la creare o parol` care poate fi eliminat`, ca \n exemplul urm`tor:
[root@helios root]# adduser g1s1e1 [root@helios root]# passwd -d g1s1e1 Removing password for user g1s1e1 passwd: Success [root@helios root]#

Presupunem \n continuare c` utilizatorul g1s1e1 are parola Parola, pe care dore[te s` o schimbe. Vom introduce mai \nt=i parola veche \n mod gre[it (de exemplu parola \n loc de Parola), iar a doua oar` \n mod corect. De notat c` parolele nu apar tip`rite \n clar [i c` \n orice versiune de Linux (sau UNIX \n general), utilizarea literelor mari \n locul celor mici [i invers nu este echivalent`, duc=nd la schimbarea semnifica]iei comenzii respective. S` presupunem c` noua parol` va trebui s` fie Ghici.
[g1s1e1@helios g1s1e1]$ passwd Changing password for user g1s1e1 Changing password for g1s1e1 (current) UNIX password: ****** passwd: Authentication token manipulation error [g1s1e1@helios g1s1e1]$ passwd Changing password for user g1s1e1 Changing password for g1s1e1 (current) UNIX password: ****** New password: ***** BAD PASSWORD: it is too short New password:

Aceasta nu a fost acceptat` fiind prea scurt` (trebuia s` con]in` minim 6 caractere). |n general parola nu trebuie s` se bazeze pe numele utilizatorului, pe cuvinte din dic]ionar [i trebuie s` aib` suficiente caractere diferite. S-a ales atunci noua parol` Ghicitoare:
[g1s1e1@helios g1s1e1]$ passwd Changing password for user g1s1e1
Copyright Virgil Dobrota 2013, All rights reserved 2

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE


Changing password for g1s1e1 (current) UNIX password: ****** New password: ********** Retype new password: ********** passwd: all authentication tokens updated successfully [g1s1e1@helios g1s1e1]$

3. Director propriu, director curent Pentru Linux un fi[ier poate fi un document (text), o comand` executabil`, un dispozitiv periferic (de exemplu floppy disk, adic` /dev/fd0), un dispozitiv fictiv (/dev/null, un fel de gaur` neagr` \n sensul c` orice date trimise aici sunt ignorate) sau un director. Spre deosebire de DOS, stabilirea c`ii unde se g`se[te un fi[ier se va face exclusiv cu semnul /. De exemplu vom ilustra lansarea binecunoscutului fortune, aflat \n /usr/games, care afi[eaz` la fiecare apelare un proverb sau o maxim`. Cu comanda pwd (Print Working Directory) se poate determina directorul curent \n care ne afl`m, iar cu cd (Change Directory) se face schimbarea lui. Intruc\t comenzile sunt perfect similare cu cele din DOS nu sunt necesare explica]ii suplimentare. Singurele reguli \n plus se refer` la lucrul cu directorul propriu, care pentru utilizatorul g1s1e1 este /home/g1s1e1. |n general referirea la acesta se face prin semnul ~. Revenirea \n directorul propriu se poate face [i cu comanda cd, f`r` nici un alt parametru. |ntreruperea execu]iei unui program \n Linux se poate face cu CTRL-C, iar suspendarea cu CTRL-Z.
[g1s1e1@helios g1s1e1]$ pwd /home/g1s1e1 [g1s1e1@helios g1s1e1]$ cd /usr/games [g1s1e1@helios games]$ ./fortune Sometimes even to live is an act of courage -- Seneca [g1s1e1@helios games]$ cd .. [g1s1e1@helios usr]$ cd [g1s1e1@helios g1s1e1]$

4. Ierarhia sistemului de operare Linux Dup` o prim` familiarizare cu versiunea Red Hat 8.0 este necesar` prezentarea ierarhiei fi[ierelor sistem. Afi[area se face pagin` cu pagin` [i se opre[te cu comanda :q specific` editorului de texte implicit vi. Lista urm`toare nu e exhaustiv`, unele sisteme put=nd fi configurate [i altfel.
[g1s1e1@helios g1s1e1]$ man hier Director/subdirector / /bin Semnifica]ia directorul r`d`cin`, de unde porne[te \ntregul arbore con]ine programe executabile \n modul de lucru cu un utilizator, necesare lans`rii sistemului [i repar`rii lui.
3

Tabelul 1. Principalele directoare/subdirectoare ale sistemului RedHat 8.0


Copyright Virgil Dobrota 2013, All rights reserved

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE


/boot /dev /dos /etc con]ine doar fi[ierele statice folosite \n procesul de boot. Programul map installer [i fi[ierele de configurare se g`sesc \n /sbin [i /etc. fi[iere speciale sau dispozitiv, care se refer` la dispozitive fizice (de exemplu: floppy disk, hard disk, mouse, port serial, imprimant` etc.). A se vedea mknod. \n cazul \n care at\t DOS c\t [i Linux ruleaz` pe acela[i calculator, acest director seve[te la montarea sistemului de fi[iere DOS. con]ine fi[iere de configurare stocate local [i necesare administr`rii sistemului Linux. Nu este destinat pentru utilizatorii obi[nui]i. Pachetele software de dimensiuni mai mari, cum ar fi X11, pot avea propriile subdirectoare \n /etc. Fi[ierele de configurare a \ntregului site se pot plasa fie \n acest director, fie se poate face o leg`tur` simbolic` la /usr/etc. fi[iere de configurare specifice sta]iei pentru aplica]iile din /opt. fi[iere de configurare pentru SGML [i XML (op]ional). la crearea unui nou utilizator, fi[ierele din acest director s\nt copiate \n directorul propriu al acestuia. fi[iere de configurare pentru sistemul de ferestre X11. con]ine directoarele proprii pentru utilizatori, structura concret` depinz\nd de administratorul de re]ea. biblioteci de coduri obiect frecvent utilizate, inclusiv biblioteci dinamice care s\nt legate \n momentul c\nd un executabil este lansat. De asemenea poate con]ine anumite executabile care nu s\nt de obicei apelate direct. este folosit de utilitarele care gestioneaz` sistemul de fi[iere (de exemplu: fsck) pentru a memora fi[ierele considerate eronate. Dup` cur`]irea sistemului ele pot fi recuperate de aici. director unde se pot monta (temporar) discuri externe (floppy, cdrom etc.) pachete software instalate ce con]in fi[iere statice aici se monteaz` sistemul de fi[iere con]in\nd informa]ii despre procesele \n curs de rulare [i despre nucleu (kernel). Mai multe detalii cu comanda proc. directorul propriu al administratorului root (op]ional). con]ine comenzi pentru \nc`rcarea sistemului de operare, ca [i /bin, dar acestea nu s\nt, de regul`, executate de c`tre utilizatorii obi[nui]i. fi[iere temporare care pot fi [terse f`r` nici o avertizare. Este de fapt directorul de lucru temporar pentru multe din programele sistem. con]ine de regul` data partajabile, care pot fi doar citite. El se monteaz` de regul` pe o parti]ie separat. De remarcat c` poate fi montat de mai multe ma[ini rul\nd Linux. sistemul X-Window, versiunea 11 varianta 6 comenzi binare pentru sistemul X-Window. De obicei exist` o leg`tur` simbolic` de la /usr/bin/X11 spre acest subdirector. fi[iere de date asociate cu sistemul X-Window.

/etc/opt /etc/sgml /etc/skel /etc/X11 /home /lib

/lost+found /mnt /opt /proc /root /sbin /tmp /usr /usr/X11R6 /usr/X11R6/bin /usr/X11R6/lib

Tabelul 1. Principalele directoare/subdirectoare ale sistemului RedHat 8.0 (continuare)


Copyright Virgil Dobrota 2013, All rights reserved 4

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE


/usr/X11R6/lib/ X11 /usr/X11R6/ include/X11 /usr/bin /usr/bin/X11 /usr/etc /usr/games /usr/include /usr/include/X11 /usr/include/asm /usr/include/ linux diverse fi[iere necesare pentru a rula X. Adesea exist` o leg`tur` logic` de la /usr/lib/X11 spre acest subdirector. con]ine fi[iere necesare pentru compilarea programelor folosind sistemul de ferestre X11. Adesea exist` o leg`tur` simbolic` de la /usr/include/X11 spre acest subdirector. principalul director cu programe executabile (pentru utilizatorii obi[nui]i), care nu s\nt necesare pentru lansarea sau repararea sistemului. executabile X11. Exist` o leg`tur` simbolic` la /usr/X11R6/bin fi[iere de configurare a \ntregului site, care pot fi partajate \ntre mai multe ma[ini. Prima referire este \ns` tot la directorul /etc, de unde exist` leg`turi spre fi[ierele din acest subdirector. fi[iere binare pentru jocuri [i programe educa]ionale (op]ional). fi[iere include pentru compilatorul C fi[iere include pentru compilator C [i X-Windows. Este o leg`tur` simbolic` la /usr/X11R6/include/X11. fi[iere include care declar` anumite func]ii asamblor. De regul` este o leg`tura simbolic` la /usr/src/linux/include/asm con]ine informa]ii care pot fi schimbate de la o oprire a sistemului la alta. Poate s` existe o leg`tur` simbolic` cu /usr/src/linux/include/linux pentru a ob]ine informa]ii specifice sistemului de operare. De remarcat c` odat` puse aceste fi[iere include, ele trebuie s` poat` fi utilizate corect \mpreun` cu libc \n spa]iul utilizator. Totu[i, sursa nucleului Linux nu a fost proiectat` pentru a apelat` de c`tre programele utilizator [i nu cunoa[te nimic despre libc. Este foarte probabil ca s` apar` erori dac` subdirectoarele /usr/include/asm [I /usr/include/linux con]in pointeri spre arborele nucleu. |n sistemele Debian nu se \nt\mpl` a[aceva deoarece se utilizeaz` fi[iere antet de la o versiune de nucleu cunoscut`, fi[iere con]inute \n pachetul libc*-dev. fi[iere include pentru compilatorul GNU C++. biblioteci obiect, inclusiv biblioteci dinamice, plus c\teva fi[iere executabile care de obicei nu s\nt invocate direct. Programele mai complexe pot avea aici propriile subdirectoare. subdirectorul uzual pentru fi[iere de date asociate cu programe X, precum [i fi[iere de configurare pentru sistemul X \nsu[i. De obicei este o leg`tur` simbolic` la /usr/X11R6/lib/X11. fi[iere executabile [i include pentru compilatorul GNU C numit gcc. fi[iere pentru sistemul GNU de formatare documente groff. fi[iere uucp. programe locale fa]` de site programe binare locale fa]` de site documenta]ie local` fi[iere de configurare asociate cu programele instalate local fi[iere binare pentru jocuri instalate local.

/usr/include/g++ /usr/lib /usr/lib/X11 /usr/lib/gcc-lib /usr/lib/groff /usr/lib/uucp /usr/local /usr/local/bin /usr/local/doc /usr/local/etc /usr/local/games

Tabelul 1. Principalele directoare/subdirectoare ale sistemului RedHat 8.0 (continuare)


Copyright Virgil Dobrota 2013, All rights reserved 5

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE


/usr/local/ include /usr/local/info /usr/local/lib /usr/local/man /usr/local/sbin /usr/local/share /usr/local/src /usr/man /usr/sbin /usr/share /usr/share/dict /usr/share/doc /usr/share/games /usr/share/info /usr/share/locale /usr/share/man /usr/share/man/ <locale>/man[1-9] /usr/share/misc /usr/share/nls /usr/share/sgml /usr/share/ terminfo /usr/share/tmac /usr/share/ zoneinfo /usr/src fi[iere antet pentru compilatorul C local pagini de informa]ii asociate cu fi[ierele instalate local. fi[iere asociate cu programele instalate local manuale asociate cu programele instalate local programe instalate logic pentru administrarea sistemului date ale aplica]iilor locale care pot fi partajate \ntre diferite arhitecturi ale aceluia[i sistem de operare. coduri surs` pentru programele instalate local. \nlocuit de /usr/share/man. programe binare pentru administrarea sistemului care nu s\nt esen]iale pentru lansarea lui, montarea /usr sau pentru reparare. subdirectoare cu date specifice aplica]iilor, care pot fi partajate \ntre diferite arhitecturi ale aceluia[i sistem de operare. Unele date de aici erau stocate \n trecut \n /usr/doc, /usr/lib sau /usr/man. fi[iere cu liste de cuvinte pentru verificarea edit`rii corecte. |nlocuie[te /usr/dict. documenta]ie despre pachetele software instalate \n /usr. |nlocuie[te /usr/doc. fi[iere de date statice pentru jocurile din /usr/games. pagini de informa]ii informa]ii \n limba local` fi[iere cu pagini de manuale fi[iere cu pagini de manuale \n cod surs` \ntr-o anumit` limb` local`. Dac` se folose[te o singur` limb` poate fi omis subdirectorul <locale>. date diverse care pot fi partajate \ntre diferite arhitecturi ale aceluia[i sistem de operare catalogul mesajelor pentru suport limb` nativ` fi[iere pentru SGML [i XML. baza de date pentru terminfo. Macro-uri troff care nu s\nt distribute cu groff. fi[iere pentru informa]ii privind zone de fus orar. |nlocuie[te /usr/lib/zoneinfo fi[iere surs` pentru diferite p`r]i ale sistemului, incluse \mpreun` cu unele pachete pentru a se putea face referire la ele. Nu se recomand` ca utilizatorul s` lucreze \n acest subdirector cu fi[ierele propriilor sale proiecte pentru c` de regul` fi[ierele din /usr ar trebui s` fie accesibile doar la citire (cu excep]ia fazelor de instalare de software). subdirectorul tradi]ional pentru sursele sistemului de operare \nsu[i. Pentru compilarea nucleului se recomand` utilizarea altui director. acest subdirector nu se recomand` s` se mai utilizeze, el exist\nd actualmente din motive de compatibilitate cu implement`ri mai vechi. Exist` o leg`tur` simbolic` la /var/tmp

/usr/src/linux /usr/tmp

Tabelul 1. Principalele directoare/subdirectoare ale sistemului RedHat 8.0 (continuare)

Copyright Virgil Dobrota 2013, All rights reserved

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE


/var /var/adm /var/backups /var/cache /var/catman/cat [1-9]sau /var/cache/man/ cat[1-9] /var/cron /var/msgs /var/lib /var/local /var/lock con]ine toate fi[ierele care pot avea dimensiuni variabile (de exemplu spool [i log) iar /usr con]ine toate fi[ierele statice. este \nlocuit de c`tre /var/log, av\nd o leg`tur` simbolic` spre acesta. se salveaz` copii ale unor fi[iere sistem importante date pentru programe salvate \n cache pagini de manual preformatate (nu mai s\nt a[a de folosite)

rezervate din motive istorice informa]ii de stare variabile pentru programe date variabile pentru /usr/local. fi[iere lock care se refer` la blocarea unui dispozitiv, \n format LCK.<dispozitiv>. Ele con]in un identificator de proces (un num`r zecimal reprezentat pe 10 octe]i ASCII), urmat de caracterul LF (linie nou`). diverse fi[iere log date variabile pentru /opt. fi[iere stocate \n coad` de a[teptare pentru po[ta electronic`. |nlocuie[te /var/spool/mail. sesiuni de editare vi salvate pentru a fi reutilizate ulterior fi[iere variabile pe durata rul`rii, cum ar fi cele care p`streaz` identificatorii proceselor (PID) sau informa]ii despre utilizatorii conecta]i (utmp). De regul` aceste fi[iere s\nt [terse la \nc`rcarea sistemului. fi[iere stocate \n coad` de a[teptare pentru diferite programe fi[iere stocate \n coad` de a[teptare pentru comanda at. fi[iere stocate \n coad` de a[teptare pentru comanda cron. fi[iere stocate \n coad` de a[teptare pentru tip`rire fi[iere de ie[ire stocate \n coad` de a[teptare pentru po[ta electronic` fi[iere stocate \n coad` de a[teptare pentru subsistemul de [tiri news. fi[iere stocate \n coad` de a[teptare pentru rwhod. fi[iere stocate \n coad` de a[teptare pentru programul de livrare po[ta electronic` smail fi[iere stocate \n coad` de a[teptare pentru comanda uucp. stocheaz` pe o durat` nespecificat` fi[iere temporare, ca [i directorul /tmp fi[iere din baza de date pentru NIS.

/var/log /var/opt /var/mail /var/preserve /var/run

/var/spool /var/spool/at /var/spool/cron /var/spool/lpd /var/spool/mqueue /var/spool/news /var/spool/rwho /var/spool/smail /var/spool/uucp /var/tmp /var/yp

Tabelul 1. Principalele directoare/subdirectoare ale sistemului RedHat 8.0 (continuare) 5. Vizualizare con]inut directoare cu comanda ls |n directorul curent, care \nt\mpl`tor coincide cu directorul propriu, vizualizarea
Copyright Virgil Dobrota 2013, All rights reserved 7

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

con]inutului s`u se va face cu comanda ls. Dup` intrarea \n sistem, conform procedurilor din paragraful 1, se va studia directorul /home/g1s1e1.
[g1s1e1@helios g1s1e1]$ ls [g1s1e1@helios g1s1e1]$ ls -l total 0 [g1s1e1@helios g1s1e1]$ ls -a ./ .bash_history .kermrc ../ .emacs .less

.lessrc .term/

Fi[ierele al c`ror nume \ncepe cu . sunt fi[iere ascunse. Op]iunea -l ofer` informa]ii complete despre fi[ierele directorului respectiv, iar -a arat` fi[ierele ascunse. Cele doua op]iuni se pot combina astfel:
[g1s1e1@helios g1s1e1]$ ls total 9 drwxr-xr-x 3 g1s1e1 g1s1e1 drwxr-xr-x 9 root root -rw-rr-- 1 g1s1e1 g1s1e1 -rw-rr-- 1 g1s1e1 g1s1e1 -rw-rr-- 1 g1s1e1 g1s1e1 -rw-rr-- 1 g1s1e1 g1s1e1 -rw-rr-- 1 g1s1e1 g1s1e1 drwxr-xr-x 2 g1s1e1 g1s1e1 -la 1024 1024 0 3016 163 34 114 1024 Oct Oct Oct May Oct Nov Nov Sep 23 16 23 14 2 24 24 24 12:43 18:33 12:43 00:39 12:37 1993 1993 17:08 ./ ../ .bash_history .emacs .kermrc .less .lessrc .term/

Semnifica]ia c=mpurilor este urm`toarea:


Drepturi de acces (Access Rights): d = director. C=nd apare - nu este director; r = citire fi[ier/director; w = scriere fi[ier/director; x = executare fi[ier; s = utilizat pentru setare identificator utilizator (uid) [i identificator grup (gid) cu drepturi de root; t = sticky bit (vezi /tmp); - = dreptul respectiv este suspendat;

PROBLEM~: Ce semnific` urm`torul con]inut Drepturi de acces: -rw-rr-- ? REZOLVARE: Primul caracter este - [i indic` faptul c` nu este un director, deci este un
fi[ier. Urm`toarele 3 caractere sunt rw- [i se refer` la drepturile proprietarului: citire [i scriere. Acest fi[ier nu este executabil nici m`car pentru proprietarul lui. Urm`toarele 3 caractere sunt r-- [i indic` drepturile grupului (citire \n acest caz). Ultimele 3 caractere sunt r-- [i se refer` la drepturile celoral]i utilizatori.

Leg`turi (Links): num`rul de leg`turi.

Copyright Virgil Dobrota 2013, All rights reserved

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

PROBLEM~: C=te leg`turi exist` pentru directorul curent:


[g1s1e1@helios g1s1e1]$ ls total 9 drwxr-xr-x 3 g1s1e1 g1s1e1 drwxr-xr-x 9 root root -rw-rr-- 1 g1s1e1 g1s1e1 drwxr-xr-x 2 g1s1e1 g1s1e1 -la 1024 1024 0 1024 Oct Oct Oct Sep 23 16 23 24 12:43 18:33 12:43 17:08 ./ ../ .bash_history .term/

REZOLVARE: Pentru ./ care este directorul curent, exist` 3 leg`turi: /home,


/home/g1s1e1 [i /home/g1s1e1/.term. Pentru .bash_history exist` o singur` leg`tur`, fiind un fi[ier nelegat cu alte fi[iere sau directoare dec=t cel curent. Proprietarul fi[ierului/ directorului (File/ Directory Owner): De exemplu pentru .bash_history, care este un fi[ier ascuns, proprietarul este g1s1e1. Grupul din care face parte proprietarul (Owners Group): De exemplu pentru .bash_history proprietarul face parte din grupul g1s1e1. Dimensiunea \n octe]i (Size): De exemplu pentru .bash_history dimensiunea este 0 octe]i. Data [i ora cre`rii fi[ierului/ directorului (Date and Hour): De exemplu pentru .bash_history data este 23 octombrie (anul curent) iar ora este 12:43. Numele fi[ierului/ directorului (File/Directory Name): Directoarele au dup` numele lor semnul /. De exemplu .term/ este un director. Dac` se folose[te ls cu op]iunea -F, al`turi de denumirea fi[ierelor apar [i alte semne cum ar fi: * pentru fi[iere executabile, @ pentru a indica o leg`tur`, ??? pentru un fi[ier complet (neexecutabil)

6. Crearea [i [tergerea directoarelor Vom crea \n directorul propriu un subdirector numit proba, folosind comanda mkdir. Apoi se va verifica execu]ia opera]iei.
[g1s1e1@helios g1s1e1]$ mkdir proba [g1s1e1@helios g1s1e1]$ cd proba [g1s1e1@helios proba]$ ls -laF total 4 drwxr-xr-x 2 g1s1e1 g1s1e1 1024 Sep 24 17:08 drwxr-xr-x 2 g1s1e1 g1s1e1 1024 Oct 23 12:43 [g1s1e1@helios proba]$

./ ../

Conform drepturilor de acces setate, [tergerea unui director cum este /home/g1s1e1/proba se face cu comanda rmdir.
[g1s1e1@helios g1s1e1]$ rmdir proba [g1s1e1@helios g1s1e1]$

Copyright Virgil Dobrota 2013, All rights reserved

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

7. Copierea, redenumirea [i [tergerea fi[ierelor Ne propunem ca \n noul director creat s` copiem executabilul numit fortune, dup` care se va verifica execu]ia opera]iei.
[g1s1e1@helios proba]$ cp /usr/games/fortune ~/proba [g1s1e1@helios proba]$ ls -l fortune -rwxr-xr-x 1 g1s1e1 g1s1e1 13148 Oct 23 13:12 fortune* [g1s1e1@helios proba]$ ./fortune I have discovered that all human evil comes from this, man's being unable to sit still in a room. -- Blaise Pascal [g1s1e1@helios proba]$

Schimbarea denumirii unui fisier este de fapt o copiere cu [tergerea vechii versiuni, noul fi[ier fiind mutat fie \n acela[i director, fie \ntr-altul. Presupunem c` vom muta fi[ierul fortune \n directorul propriu [i apoi \i vom redenumi fort.
[g1s1e1@helios [g1s1e1@helios [g1s1e1@helios [g1s1e1@helios proba]$ mv fortune ~ proba]$ cd .. g1s1e1]$ mv fortune fort g1s1e1]$

Ne propunem \n continuare s` [tergem fi[ierul fort din directorul propriu. Opera]ia poate fi executat` cu confirmare dac` se pune op]iunea -ir. Se recomand` verificarea [tergerii prin comanda ls.
[g1s1e1@helios g1s1e1]$ rm -ir fort rm: remove fort ? y [g1s1e1@helios g1s1e1]$ ls [g1s1e1@helios g1s1e1]$

8. Schimbarea drepturilor, a proprietarului [i a grupului Proprietarul fi[ierului sau directorului, administratorul sau echivalentul acestuia pot modifica drepturile de acces cu comanda chmod. Sunt valabile regulile din paragraful 5 la care se adaug` urm`toarele conven]ii: + pentru atribuirea unui drept, - pentru anularea lui, = pentru setarea singurelor drepturi, u pentru referire la utilizatorul curent (user), g pentru referire la grup (group), o pentru referire la ceilal]i utilizatori din afara grupului (others), a pentru referire la to]ii utilizatorii (all). O op]iune mai rar folosit` este t, care se refer` la salvarea textului programului \n zona de swap. Unii utilizatori prefer` modul de setare numeric cu 1 p=n` la 4 cifre octale (\ntre 0 [i 7). Cifrele omise se presupun a fi 0. Prima cifr` octal` are valoarea 4 (pentru selec]ie identificator utilizator), 2 (pentru selec]ie identificator grup), 1 (pentru salvare imagine text) sau se poate omite. A doua cifr` octal` are valoarea 4 (drept
Copyright Virgil Dobrota 2013, All rights reserved 10

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

de citire pentru proprietar), valoarea 2 (drept de scriere pentru proprietar), valoarea 1 (drept de execu]ie pentru proprietar). A treia cifr` octal` se refer` la drepturile de citire, scriere [i execu]ie ale membrilor grupului, iar ultima cifr` se refer` la drepturile celorlal]i utilizatori din afara grupului. Cumularea unor drepturi se face prin adunarea valorilor cifrei octale. De exemplu valoarea 6 reprezint` drept de citire [i de scriere iar valoarea 7 semnific` atribuirea tuturor drepturilor (citire, scriere [i execu]ie). Presupunem c` nu am [ters directorul proba [i vrem s` anul`m toate drepurile de citire, scriere [i execu]ie pentru to]i utilizatorii, inclusiv proprietarul.
[g1s1e1@helios g1s1e1]$ chmod a-rwx proba/ [g1s1e1@helios g1s1e1]$ ls -laF proba/ ls: proba/: Permission denied [g1s1e1@helios g1s1e1]$ ls -laF total 52 [] d--------- 2 g1s1e1 g1s1e1 4096 May 7 10:18 proba/

Vom da acuma drepturi complete numai pentru proprietarul directorului:


[g1s1e1@helios g1s1e1]$ chmod u+rwx proba/ [g1s1e1@helios g1s1e1]$ ls -laF proba/ drwx------ 2 g1s1e1 g1s1e1 4096 May 7 10:18 proba/ [g1s1e1@helios g1s1e1]$

S` atribuim acum drepturi de citire [i execu]ie pentru to]i utilizatorii:


[g1s1e1@helios g1s1e1]$ chmod a+rx proba/ [g1s1e1@helios g1s1e1]$ ls -laF proba/ drwxr-xr-x 2 g1s1e1 g1s1e1 4096 May [g1s1e1@helios g1s1e1]$

7 10:18 proba/

Schimbarea proprietarului [i a grupului din care face parte se poate realiza cu comenzile chown, respectiv chgrp. Presupunem c` noul proprietar va fi g1s1e2, iar grupul din care face parte este g1s1e2.
[root@helios [root@helios [root@helios drwxr-xr-x 2 [root@helios g1s1e1]# g1s1e1]# g1s1e1]# g1s1e2 g1s1e1]# chown g1s1e2 proba/ chgrp g1s1e2 proba/ ls -laF proba/ g1s1e2 4096 May

7 10:23 proba/

Opera]iile de mai sus pot fi executate [i de c`tre vechiul proprietar g1s1e1 dac` administratorul permite acest lucru. |n caz contrar apare mesajul:
[g1s1e1@helios g1s1e1]$ chown g1s1e2 proba/ chown: Changing ownership of proba: Operation not permitted. [g1s1e1@helios g1s1e1]$
Copyright Virgil Dobrota 2013, All rights reserved 11

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

De remarcat c` utilizatorul g1s1e2 va putea s` aib` acces la noile propriet`]i (adic` directorul proba) numai dac` are drept de citire [i execu]ie \n directorul propriu al lui g1s1e1, adic` \n /home/g1s1e1 . PROBLEM~: Indica]i cel pu]in dou` variante de comenzi pe care trebuie s` le execute utilizatorul g1s1e1 pentru a da drepturi de citire [i execu]ie \n directorul propriu [i altor utilizatori (inclusiv celor din grupul s`u)? REZOLVARE: Ambele variante prezentate utilizeaz` comanda chmod, pentru /home/g1s1e1 (sau prescurtat ~), ceea ce difer` fiind op]iunile. a) |n varianta 1 se folose[te op]iunea a+rx direct pentru to]i utilizatorii: [g1s1e1@helios g1s1e1]$ chmod a+rx ~ [g1s1e1@helios g1s1e1]$ b) |n varianta 2 se lucreaz` cu op]iunea o+rx pentru al]i utilizatori [i g+rx pentru
membrii grupului:
[g1s1e1@helios g1s1e1]$ chmod o+rx ~ [g1s1e1@helios g1s1e1]$ chmod g+rx ~ [g1s1e1@helios g1s1e1]$

9. Vizualizare con]inut fi[iere Dac` se dore[te afi[area pagin` cu pagin` se folose[te comanda more.
[g1s1e1@helios g1s1e1]$ more .emacs

[]

Pentru o afi[are continu` se utilizeaz` comanda cat.


[g1s1e1@helios g1s1e1]$ cat .emacs

[]

10. Metode de creare de fi[iere Un fi[ier sub sistemul de operare Linux poate fi creat \ntr-unul din urm`toarele moduri:
cu comenzile cp [i mv cu un editor de texte: se va exemplifica editorul vi cu comanda cat cu comanda touch utilitare specifice Linux: mc (Midnight Commander), joe, git etc. prin rularea unor compilatoare (de exemplu crearea unui fi[ier executabil rul=nd un compilator C)

Copyright Virgil Dobrota 2013, All rights reserved

12

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE

OBSERVA}IE: 1. Cititorului i se recomand` s` c=[tige un minim de experien]` folosind utilitarele clasice, din linia de comand`. |n felul acesta va evita disconfortul [i deruta \n momentul \n care, av=nd de lucrat cu alte sisteme UNIX (de exemplu Solaris sau FreeBSD) va constata c` nu are la dispozi]ie nici mc, nici joe sau alt utilitar specific din Linux. 2. Este util` reluarea aplica]iilor din paragrafele precedente, precum [i manualele disponibile \n re]ea. De exemplu pentru comanda cp se poate cere manualul:
[g1s1e1@helios g1s1e1]$ man cp

sau varianta de documenta]ie complet`:


[g1s1e1@helios g1s1e1]$ info cp

Printre multiplele utiliz`ri ale comenzii cat (al`turi de afi[area continu` a con]inutului unui fi[ier) este [i func]ia de editare:
[g1s1e1@helios g1s1e1]$ cat > pisica Acesta este un fisier care se numeste pisica. El a fost creat cu comanda cat. Iesirea din program se face cu CTRL-D. <CTRL-D> [g1s1e1@helios g1s1e1]$ cat pisica Acesta este un fisier care se numeste pisica. El a fost creat cu comanda cat. Iesirea din program se face cu CTRL-D. [g1s1e1@helios g1s1e1]$

11. Editorul de texte vi O aten]ie special` se acord` \n continuare editorului vi de tip Visual Display. Acesta nu este un procesor de texte, ceea ce \nseamn` c` este necesar un formator pentru a interpreta comenzile ob]inute. |ntruc=t nu se bazeaz` pe lucrul cu ferestre poate fi utilizat pe orice terminal UNIX |n continuare este dat` o list` de comenzi grupate \n Tabelul 2.
COMANDA Deplasare cursor W B W B SEMNIFICA}IA

(word) deplasare cursor la dreapta cuv=ntului (back) deplasare cursor la st\nga cuv=ntului (Word) deplasare cursor la punctua]ia adiacent` (\nainte) (Back) deplasare cursor la punctua]ia adiacent` (\napoi) Tabelul 2. Comenzi ale editorului de texte vi
Copyright Virgil Dobrota 2013, All rights reserved 13

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE <CR> SPACE H M L (Down) deplasare cursor la un nou \nceput de r=nd mut` cursorul la dreapt` (High) mut` cursorul \n sus (Middle) mut` cursorul la mijloc (Low) mut` cursorul \n jos (Scroll Forward) \nainte (Scroll Down) jos (Scroll Backward) \napoi (Scroll Up) sus (append) ad`ugare orice [ir de caractere \n text (Append) ad`ugare orice sir de caractere la sf=r[itul liniei (insert) inserare orice [ir de caractere \n text (Insert) inserare orice [ir de caractere la sf=r[itul liniei (open) deschide noi linii sub pozi]ia cursorului (Open) deschide noi linii deasupra pozi]iei cursorului (change word) modific` cuv=ntul (change line) modific` linia (Change) modific` o parte a liniei (substitute) substituie caracter (replace) \nlocuie[te un caracter transpune un caracter (de exemplu: teh <-> the) (undo) anuleaza comanda precedent` (Undo) anuleaz` modific`rile f`cute \n linia curent` [tergere caracter [tergere cuv=nt [tergere linie [tergere parte din linie

Defilare ecran
CTRL-F CTRL-D CTRL-B CTRL-U Inserare text a A I I o O

Modificare text
cw cc C s r xp u U {tergere text x dw dd D Repetare comand` 3dd Copiere, mutare [i [tergere de text :set nu :set nonu :15,20 co 30 :15,$ co 5 :.,20 co 30 :15,20 m 30 :15,20 d :u<CR>

se execut` de 3 ori comanda dd Comenzi ce se dau \n ultima linie a ecranului, fiind un mod de lucru mai convenabil \n special pentru texte lungi. selectare afi[are cu numerotarea r\ndurilor anuleaz` efectul comenzii :set nu copiaz` liniile 15...20 dup` linia 30 copiaz` \ncep\nd de la linia 15 p\n` la sf\r[it, dup` linia 5 copiaz` de la cursor p\n` la linia 20 dup` linia 30 mut` liniile 15...20 dup` linia 30 [terge liniile 15...20 anuleaz` ultima comand` Tabelul 2. Comenzi ale editorului de texte vi (continuare)
Copyright Virgil Dobrota 2013, All rights reserved 14

V. Dobrot` - SISTEME DE COMUTA}IE {I RUTARE Inserarea unui fi[ier :16 r pisica Terminare editare :w :wq :q :q!

la linia 16 se insereaz` con]inutul fi[ierului numit pisica

(write) salvare fi[ier (write and quit) salvare [i ie[ire (quit) ie[ire (daca au fost modific`ri f`r` s` fie salvate atunci vi avertizeaz` c` trebuie f`cut` fie salvare [i ie[ire, fie ie[ire f`r` modific`ri) (quit) ie[ire f`r` modific`ri Tabelul 2. Comenzi ale editorului de texte vi (continuare)

PROBLEM~: a) Descrie]i comenzile folosite pentru crearea unui fi[ier text pe 3 r=nduri, numit pisica, cu ajutorul editorului de texte vi. b) Dubla]i con]inutul fi[ierului salvat. REZOLVARE: a) Se porne[te editorul de texte vi din linia de comand` [i se d` comanda :set nu pentru a numerota liniile. Pe linia 1, se incepe inserarea textului dup` ap`sarea tastei a sau a tastei i. Ie[irea din editare se face cu ESC. Salvarea [i ie[irea din program se pot realiza simultan cu comanda :wq pisica. b) O metod` de dublare ar fi inserarea fi[ierului pisica \n interiorul fi[ierului pisica, cu comanda :3 r pisica. O alt` variant` este copierea r=ndurilor 1-3 dup` r=ndul al 3-lea, cu comanda :1,3 co 3. Rezultatul final este listat mai jos:
1. 2. 3. 4. 5. 6. Acesta este un fisier care se numeste pisica. El a fost creat cu editorul de texte vi. Iesirea din program se face cu ESC, :wq <nume-fisier> Acesta este un fisier care se numeste pisica. El a fost creat cu editorul de texte vi. Iesirea din program se face cu ESC, :wq <nume-fisier>

Copyright Virgil Dobrota 2013, All rights reserved

15

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