Podcast
Questions and Answers
Ce semnifica valoarea zero a variabilei bash "?"?
Ce semnifica valoarea zero a variabilei bash "?"?
Ce efect are comanda $ cmd & ?
Ce efect are comanda $ cmd & ?
Ce semnal este trimis pentru a suspenda execuția unei comenzi în foreground?
Ce semnal este trimis pentru a suspenda execuția unei comenzi în foreground?
Care dintre următoarele comenzi va lista joburile curente la nivel de shell?
Care dintre următoarele comenzi va lista joburile curente la nivel de shell?
Signup and view all the answers
Cum poți relua execuția unei comenzi suspendate în foreground?
Cum poți relua execuția unei comenzi suspendate în foreground?
Signup and view all the answers
Care este rolul comenzii umask în crearea fișierelor?
Care este rolul comenzii umask în crearea fișierelor?
Signup and view all the answers
Ce se întâmplă când ștergi un link hard la un fișier?
Ce se întâmplă când ștergi un link hard la un fișier?
Signup and view all the answers
Cum afectează permisiunile speciale cum ar fi set-uid și set-gid accesul la fișiere?
Cum afectează permisiunile speciale cum ar fi set-uid și set-gid accesul la fișiere?
Signup and view all the answers
Care este efectul comenzii chmod în gestionarea permisiunilor fișierelor?
Care este efectul comenzii chmod în gestionarea permisiunilor fișierelor?
Signup and view all the answers
Ce semnificație au bitii setati în umask pentru fișierele nou create?
Ce semnificație au bitii setati în umask pentru fișierele nou create?
Signup and view all the answers
Care este rolul comenzii 'exec' în shell?
Care este rolul comenzii 'exec' în shell?
Signup and view all the answers
Ce tip de fișiere conțin date text sau binare?
Ce tip de fișiere conțin date text sau binare?
Signup and view all the answers
Ce se întâmplă când se utilizează comanda Ctrl-r în shell?
Ce se întâmplă când se utilizează comanda Ctrl-r în shell?
Signup and view all the answers
Care dintre următoarele opțiuni descrie cel mai bine FIFO?
Care dintre următoarele opțiuni descrie cel mai bine FIFO?
Signup and view all the answers
Care dintre următoarele comenzi este o comandă internă în bash?
Care dintre următoarele comenzi este o comandă internă în bash?
Signup and view all the answers
Ce tip de fișier poate fi utilizat doar de kernel pentru scriere?
Ce tip de fișier poate fi utilizat doar de kernel pentru scriere?
Signup and view all the answers
Cum se poate observa un caracter de tab orizontal în output?
Cum se poate observa un caracter de tab orizontal în output?
Signup and view all the answers
Ce tipuri de fișiere sunt considerate 'device file' în sistem?
Ce tipuri de fișiere sunt considerate 'device file' în sistem?
Signup and view all the answers
Ce permisiuni sunt necesare pentru a șterge un fișier dintr-un director folosind comanda rm?
Ce permisiuni sunt necesare pentru a șterge un fișier dintr-un director folosind comanda rm?
Signup and view all the answers
Cum se poate crea un link simbolic în sistemul de fișiere?
Cum se poate crea un link simbolic în sistemul de fișiere?
Signup and view all the answers
Ce se întâmplă când se folosește comanda rm pe un link simbolic?
Ce se întâmplă când se folosește comanda rm pe un link simbolic?
Signup and view all the answers
Care este limita principală a link-urilor hard?
Care este limita principală a link-urilor hard?
Signup and view all the answers
Care este comanda corectă pentru a crea un director și subdirectoarele sale inexistente?
Care este comanda corectă pentru a crea un director și subdirectoarele sale inexistente?
Signup and view all the answers
Ce se va întâmpla dacă se folosește comanda rmdir pentru un director care nu este gol?
Ce se va întâmpla dacă se folosește comanda rmdir pentru un director care nu este gol?
Signup and view all the answers
Care comandă se folosește pentru a schimba directorul curent în directorul home al utilizatorului?
Care comandă se folosește pentru a schimba directorul curent în directorul home al utilizatorului?
Signup and view all the answers
Cum se află directorul de lucru curent într-un terminal?
Cum se află directorul de lucru curent într-un terminal?
Signup and view all the answers
Ce simbol este de obicei folosit pentru a indica un prompt pentru utilizatorii obișnuiți în shell?
Ce simbol este de obicei folosit pentru a indica un prompt pentru utilizatorii obișnuiți în shell?
Signup and view all the answers
Care este rezultatul comenzii 'echo $PS1' în shell?
Care este rezultatul comenzii 'echo $PS1' în shell?
Signup and view all the answers
Care dintre următoarele este o variabilă de mediu în shell?
Care dintre următoarele este o variabilă de mediu în shell?
Signup and view all the answers
Ce comandă se folosește pentru a marca o variabilă ca fiind o variabilă de mediu?
Ce comandă se folosește pentru a marca o variabilă ca fiind o variabilă de mediu?
Signup and view all the answers
Care fișier este inspectat doar la logare pentru fișierele de configurare în shell?
Care fișier este inspectat doar la logare pentru fișierele de configurare în shell?
Signup and view all the answers
Ce se întâmplă când se apasă Ctrl-d în shell?
Ce se întâmplă când se apasă Ctrl-d în shell?
Signup and view all the answers
Cum se execută comenzile secvențial în shell?
Cum se execută comenzile secvențial în shell?
Signup and view all the answers
Ce simbol este echivalent cu '2>&1 |' în shell?
Ce simbol este echivalent cu '2>&1 |' în shell?
Signup and view all the answers
Unde se găsește istoricul comenzilor în shell?
Unde se găsește istoricul comenzilor în shell?
Signup and view all the answers
Ce anume influențează valorile variabilelor de mediu în shell?
Ce anume influențează valorile variabilelor de mediu în shell?
Signup and view all the answers
Care este o caracteristică a canalelor de comunicație socket TCP/IP?
Care este o caracteristică a canalelor de comunicație socket TCP/IP?
Signup and view all the answers
Ce reprezintă un link simbolic într-un sistem de fișiere?
Ce reprezintă un link simbolic într-un sistem de fișiere?
Signup and view all the answers
Ce se întâmplă cu UID-ul și GID-ul efectiv atunci când un program set-UID este executat?
Ce se întâmplă cu UID-ul și GID-ul efectiv atunci când un program set-UID este executat?
Signup and view all the answers
Care sunt permisiunile de acces pentru un fișier de tip executabil?
Care sunt permisiunile de acces pentru un fișier de tip executabil?
Signup and view all the answers
Ce caracteristică au pipele anonime în raport cu procesele?
Ce caracteristică au pipele anonime în raport cu procesele?
Signup and view all the answers
Care dintre următoarele afirmații este adevărată cu privire la permisiunile de acces la fișiere?
Care dintre următoarele afirmații este adevărată cu privire la permisiunile de acces la fișiere?
Signup and view all the answers
Care este utilizarea principală a comenzii 'passwd' în sistemele Linux?
Care este utilizarea principală a comenzii 'passwd' în sistemele Linux?
Signup and view all the answers
Ce caracteriză au fișierele FIFO în relație cu tipurile de pipe?
Ce caracteriză au fișierele FIFO în relație cu tipurile de pipe?
Signup and view all the answers
Study Notes
Instrumente și tehnici de bază în Informatică
- Curs 3 - schiță
- Interpretorul de comenzi
- Fișiere și directoare (revizuite)
Interpretorul de comenzi (Recapitulare)
- Mod de lucru interactiv (comandă-răspuns) sau batch (automatizarea lucrului cu scripturi)
- În mod interactiv, afișează un prompt
- Indică faptul că așteaptă o comandă (internă/externă) de la utilizator
- În mod uzual,
$
sau%
pentru utilizatori obișnuiți,#
pentru utilizatoriroot
- Definit de conținutul variabilei de mediu
PS1
-
$ echo $PS1
- Prompt de continuare în variabila de mediu
PS2
, în mod uzual -
$ cat << EOF >> out
-
> mai adaugăm o linie la sfârșitul fișierului out
-
> EOF
Mediul de lucru (environment)
- Listă de perechi
nume = valoare
- Numele este numele unei variabile interne ale shell-ului
- Observație: Nu orice variabilă internă a shell-ului este o variabilă de mediu
- Valorile variabilelor influențează comportamentul shell-ului, respectiv comenzilor externe lansate de acesta definite de sistemul de operare sau de utilizator
- Numele scrise cu litere mari:
PS1
,SHELL
,HOME
,PATH
, etc - Valoarea se dereferențiază cu ajutorul simbolului
$
, de exemplu$SHELL = /bin/bash
Variabile de mediu
- Setate cu comanda internă
export
- Marchează variabila ca fiind variabila de mediu
-
$ export PS1="my-new-prompt>"
- Afișate cu comanda
/usr/bin/env
- Într-un program C, accesibile în al treilea parametru al funcției
main
a programului lansat în execuție de shell -
int main(int argc, char* argv[], char* envp[])
The Bourne-Again Shell
-
/bin/bash
, urmașul primului shell istoric/bin/sh
(Bourne Shell) - Fișiere de configurare
- Fișiere de start-up inspectate doar la login
-
system-wide
:/etc/profile
- În directorul de domiciliu:
~/.profile
,~/.bash_profile
,~/.bash_login
-
- Conținutul lor este executat automat la login
- Fișiere de start-up inspectate doar la login
- Fișiere de start-up inspectate la crearea fiecărui terminal (fisier
rc
, comenzirun
)-
~/.bashrc
- Conținutul lor poate fi executat voluntar cu comanda
source
(sau.
).
-
-
source .bashrc
- Fisier de logout:
~/.bash_logout
- Conținut executat la ieșirea din shell (cu
exit
sauCtrl-d
)
- Conținut executat la ieșirea din shell (cu
- Istoria comenzilor înregistrată în
~/.bash_history
Structura comenzilor bash
- Pipeline-uri
-
$ cmd₁ | cmd₂ | ... | cmdₙ
-
- Liste de comenzi
-
$ cmd₁; cmd₂; ...; cmdₙ
- Execuție secvențială a comenzilor
-
$ cmd₁ && cmd₂ && ... && cmdₙ
- Execuție secvențială a comenzilor; dacă prima comandă nu reuseste, celelalte nu se executa
-
$ cmd₁ || cmd₂ || ... || cmdₙ
- Execuție secvențială a comenzilor; dacă prima comandă reușește, celelalte nu se executa
-
- Variabila bash
?
conține codul de terminare (exit status
) al ultimei comenzi executate (valoarea 0 înseamnă succes)-
$ echo $?
-
- Observație:
?
nu este o variabilă de mediu
Job control
- Două categorii de programe
- Executate în
foreground
, au acces citire/scriere la terminal - Executate în
background
- Executate în
- Comanda finalizată cu
&
rulează înbackground
- Shell-ul returnează imediat utilizatorului promptul
-
$ cmd &
- Execuția unei comenzi în
foreground
se poate suspenda cu^Z
(Ctrl-z) - Comanda
jobs
listează procesele (joburile) rulate la momentul curent deshell
- Joburile identificate prin număr
-
$ kill %n
-
$ fg %n
-
$ bg %n
-
$ %n &
-
Controlul istoriei comenzilor
-
/home/user/.bash_history
- Exemple
-
!n
: re-executa comanda cu număruln
-
!-n
: re-executa comanda curentă -
!string
: re-executa cea mai recentă comandă care începe custring
-
!?string?
: re-executa cea mai recentă comandă care conținestring
-
^str₁^str₂
: repeta comanda anterioară înlocuindstr₁
custr₂
-
Comenzi
- Interne: executate direct de către bash (exemplu:
cd
,alias
,fg/bg/kill
,exit
,exec
) - Externe: programe de pe disc lansate de către shell (exemplu:
pwd
,echo
,ls
/dir
)
Tipuri de fisiere
- Fisiere obișnuite (regular files): conțin date (text sau binare)
- Directoare: contin numele altor fisiere și informații despre ele
- Fisiere speciale (tip device): caracter, bloc
- FIFO: named pipe, mecanism IPC (Inter-Process Communication)
- Socket: abstracție pentru IPC peste rețea
Set UID, set GID
- Fiecare proces are asociat UID și GID real și efectiv
-
UID
,GID
real: identitatea reală a utilizatorului (/etc/passwd
) -
UID/GID efectiv
-
set-UID
,set-GID
sunt copii aleUID/GID
efectiv - În mod normal,
UID/GID
real =UID/GID
efectiv - Cînd un program se execută,
UID/GID
efectiv poate deveniUID/GID
-ul proprietarului fisierului program
Permisiuni de acces la fisiere
- Atribute ale fisierului
- Permisiuni utilizator, grup, alți utilizatori
-
S_IRUSR, S_IWUSR, S_IXUSR
,S_IRGRP, S_IWGRP, S_IXGRP
,S_IROTH, S_IWOTH, S_IXOTH
-
- Modificabile din shell cu ajutorul comenzii
chmod
- Acces la fișier: condiționat de combinația dintre
UID efectiv
(resp. GID efectiv
) al comenzii executate și biții de permisiune -
umask
- mască implicită a permisiunilor pentru fisiere noi create (setare cu comandaumask
)
Stergerea fișierelor
- Un fisier poate avea mai multe nume diferite
- Linkuri hard - create cu comanda
ln
- Linkuri soft - create cu comanda
ln -s
Link-uri simbolice
- Limitări link-uri hard
- Linkuri simbolice: fisier care conține numele fisierului referit (un string)
- Utilizate pentru a circumventa limitele link-urilor hard
- Create cu comanda
ln -s
Lucrul cu directoare
-
mkdir
,rmdir
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Acest quiz se concentrează pe instrumentele și tehnicile de bază din cursul de Informatică, în special pe lucrul cu interpretorul de comenzi și gestionarea fișierelor. Participanții vor explora moduri de operare interactive și batch, precum și variabilele de mediu. Testați-vă cunoștințele prin întrebări apărute în cadrul cursului de informatică.