Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde:teme:tema_ro_2_busybox [2020/03/02 19:31]
ioana_maria.culic
— (current)
Line 1: Line 1:
-====== Tema 2 - Mini-busybox ====== 
  
-===== Informații generale ===== 
- 
-<note important>​ 
-Deadline: **18 Martie, ora 23:55**\\ 
-Punctaj: **1 punct** din notă\\ 
-Încărcarea temei: [[https://​vmchecker.cs.pub.ro|vmchecker.cs.pub.ro]]\\ 
-Încărcarea cu întârziere:​ **1 punct / zi** (maxim 4 zile)\\ 
-</​note>​ 
- 
-===== Cunoștințe evaluate ===== 
- 
-  * Folosirea limbajului Python 
-  * Modul de funcționare a liniei de comandă 
- 
-===== Reguli ===== 
- 
-  - Tema trebuie să conțină un fișier Readme în care să explicați cum ații făcut tema **(-0.1p)**. 
-  - Tema trebuie implementată folosind limbajul Python și doar folosind funcții POSIX (biblioteca Python **os**). Orice alte implementări vor duce la anularea temei **(0 puncte)**. 
- 
-===== Copierea ===== 
- 
-Tema se rezolvă individual. Orice tentativă de copiere va rezulta în **0 puncte** pentru tema respectivă. Vom utiliza și sisteme automate de detectare a copierii. Dacă avem dubii, vă vom adresa întrebări suplimentare legate de temă. 
- 
-===== Întrebări ===== 
- 
-Dacă aveți întrebări legate de temă, vă rugăm să scrieți un issue pe repository-ul de github [[https://​github.com/​upb-fils/​sde.git|repository]] cu titlul de forma [busybox] <titlul întrebări voastre>​. Aveți nevoie de un cont de github pentru a scrie întrebări. 
- 
-<note warning> 
-**NU PUBLICAȚI COD SURSĂ**. Acesta va fi considerată copiere și se va penaliza cu **0 puncte** pe temă pentru voi. 
-</​note>​ 
- 
-Dacă doriți să primiți un email când se pun întrebări noi sau cand apar răspunsuri,​ accesați github [[https://​github.com/​upb-fils/​sde|repository]] și faceți click pe //Watch//. 
- 
-===== Mini-busybox ===== 
- 
-Scopul acestei teme este implementarea unui utilitar capabil să execute comenzi tip Linux bash.  
- 
-Pentru rezolvarea temei veți realiza un script Python care primește ca argumente comanda ce se dorește a fi executată, urmată de parametrii acesteia. Scriptul va executa comanda după care își va încheia execuția. ​ 
- 
-**Exemplu:​** 
-<code bash> 
-python busybox.py cp file folder 
-</​code>​ 
- 
-<note info> 
-Programul va fi rulat folosind Python 3. 
-</​note>​ 
- 
-==== Comenzi suportate ==== 
- 
-În continuare, vom defini comenzile suportate de utilitar, împreună cu comportamentul caracteristic și parametrii pe care acestea de suportă. Pentru orice altă comandă sau orice alt format, scriptul va afișa mesajul **Invalid command** și va returna valoarea 1. 
- 
-În cazul în care comanda primită de utilitar a fost rulată cu succes, acesta va returna valoarea 0.  În caz contrar, acesta va returna valoarea 1. 
- 
-<note info> 
-Pentru a vă ajuta în înțelegerea modului de funcționare a fiecărei comenzi, am atașat pagina de manual a acesteia. Nu se cere implementarea tuturor parametrilor precizați în manual, doar a celor precizați în cerință. 
- 
-Parametrii de forma [parametru] sunt optionali. 
-</​note>​ 
- 
-Comenzile suportate de aplicația mini-busybox sunt: 
- 
-  * pwd - Afișează calea completă a directorului curent. (https://​linux.die.net/​man/​1/​pwd) 
- 
-**Exemplu:​** ​ 
-<code bash> 
-$ python busybox.py pwd 
-/​home/​pi/​my_directories ​   ​ 
-</​code>​ 
- 
-  * echo [opțiune] argumente - Afișează argumentele în consolă urmate de linie nouă. (https://​linux.die.net/​man/​1/​echo) 
-      * **-n** ​ nu adaugă o linie nouă la final 
- 
- ​**Exemplu:​** ​ 
-<code bash> 
-$ python busybox.py echo a b c 
-a b c 
-$ python busybox.py echo -n a b c 
-a b c$    ​ 
-</​code>​ 
- 
-  * cat fișiere - Concatenează conținutul fișierelor și îl afișează la ieșirea standard. (https://​linux.die.net/​man/​1/​cat) 
- 
- ​**Exemplu:​** ​ 
-<code bash> 
-$ python busybox.py cat file1 
-Text in file1                        
-$ python busybox.py cat file2 
-Text in file 2 
-$ python busybox.py cat file1 file2 
-Text in file1 
-Text in file 2  
-</​code>​ 
- 
-  * mkdir directoare - Crează directoarele pasate ca parametru, dacă nu exista deja. Dacă operația de creare a directoarelor eșuează, scriptul va întoarce valoarea 1. (https://​linux.die.net/​man/​1/​mkdir) 
- 
- ​**Exemplu:​** ​ 
-<code bash> 
- ​python busybox.py mkdir my_drectory 
- ​python busybox.py mkdir my_drectory1 my_drectory2 my_drectory3 
-</​code>​ 
- 
-  * mv sursă destinație - Mută/​redenumește fișierul/​directorul sursă în destinație. (https://​linux.die.net/​man/​1/​mv) 
- ​**Exemplu:​** ​ 
-<code bash> 
-python busybox.py mv my_file my_directory 
-python busybox.py mv my_directory1 my_drectory2 ​ 
-</​code>​ 
sde/teme/tema_ro_2_busybox.1583170319.txt.gz · Last modified: 2020/03/02 19:31 by ioana_maria.culic
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0