ls --sort=time | tac - arata subiect_1..50 in ordine crescatoare

for i in {1..50}; do dd if=/dev/urandom of=subiect_$i bs=12M count=1; done - creeaza subiect_1..50 fiecare de 12 MB

ps -u "$USER" --sort -%mem | head -6 | tail -5 | awk '{print $1}' | xargs renice -n 15 -p - primele 5 procese ale userului curent dupa ramii folositi si schimba-le nice in 15
Folosind fisierele secret.o, second_secret.o si main.c, creati un Makefile care sa contina o regula de build pentru compilarea unui executabil main ce poate fi executat si sa afiseze urmatorul output: Sum: 12 Dif: -2 Product: -24 Adaugati o regula run la Makefile pentru executarea binarului obtinut la subpunctul precedent. Daca binarul nu exista acesta va fi creat in acelasi mod ca la subpunctul precedent (binarul va fi creat doar daca el nu exista deja). Creati o regula de clean care sa stearga executabilul main. Pentru a rezolva acest exercitiu, nu aveti voie sa faceti nicio modificare fisierului clean existent deja in arhiva (el nu poate fi sters, redenumit, etc.). .PHONY: clean main: main.c secret.o second_secret.o gcc main.c secret.o second_secret.o -o main run: main ./main clean: rm -f main

In fisierul company_emails.txt exista mai multe siruri de caractere pe cate un rand fiecare. Filtrati folosind o expresie regulata adresele de email valide din fisier. Afisati de asemenea numarul de adrese valide. Pentru simplitate, consideram ca o adresa valida este de forma “username@domain.top-level-domain”, unde: username-ul poate contine litere mici, mari, cifre, ‘.’ si ‘_’ si incepe cu o litera; domeniul poate contine litere mici si mari; domeniul top-level este o grupare de 2-4 litere mici. Exemplu de adresa email valida: “John_Doe.32@hotmail.org”. (([a-zA-Z]{1}([a-zA-Z0-9._]*))@([a-zA-Z]+)\.([a-zA-Z]{2,4}))\n grep -E '^[a-zA-Z][a-zA-Z0-9._]*@[a-zA-Z]+\.[a-z]{2,4}$' company_emails.txt > filtered.txt

Pentru adresele de email salvate in fisierul vaild_emails.txt, inlocuiti domeniul adreselor cu “christmasparty” (nu si top-level-domain) si redirectati output-ul acestei comenzi in fisierul christmas_emails.txt. sed -E 's/@[a-zA-Z]+\./@christmasparty./g' valid_emails.txt > christmas_emails.txt

Creati utilizatorul lambda. Schimbati shell-ul utilizatorului lambda in zsh. Ca utilizatorul lambda, creati un fisier numit “hot_potato” si schimbati permisiunile sale astfel incat utilizatorul care il detine sa aiba drepturi complete asupra sa, grupul care il detine sa poata scrie si restul utilizatorilor sa il poata executa. Ca utilizatorul lambda, schimbati utilizatorul care detine fisierului “hot_potato” in root. sudo adduser lambda sudo apt install zsh sudo chsh -s $(which zsh) lambda su - lambda touch hot_potato chmod 721 hot_potato su - student sudo visudo # adaugat o linie precum lambda ALL=(ALL:ALL) ALL su - lambda sudo chown root hot_potato

Afisati adresele IP ale tuturor nodurilor prin care treceti pentru a ajunge la dns.google. Afisati adresa IPv6 asociata site-ului wikipedia.com. Afisati toate porturile TCP deschise ale sistemului. Afisati doar ruta implicita de retea. Aflati adresa IP a stackoverflow.com folosind un query DNS la 8.8.8.8 sudo apt install traceroute traceroute dns.google host wikipedia.com | grep “IPv6” ss -tl ip r s | grep default dig @8.8.8.8 stackoverflow.com

Realizati un script in bash care sa creeze X fisiere in directorul Y (daca nu exista trebuie sa fie creat), fiecare avand dimensiunea de Z in kilobytes. X, Y si Z vor fi primite ca argumente ale script-ului. Creati un script in bash care sa verifice conectivitatea la un IP primit ca argument si sa scrie intr-un fisier numit ye$$ stringul “DA” in cazul in care se efectueaza cu succes si stringul “NU” in caz contrar. #!/bin/bash num_files=$1 output_directory=$2 file_size_kb=$3 mkdir -p "$output_directory" for ((i = 1; i <= num_files; i++)); do file_name="$output_directory/file_$i.txt" dd if=/dev/zero of="$file_name" bs=1024 count="$file_size_kb" echo "File $file_name created with size $file_size_kb KB" done #!/bin/bash ping -c 4 $1 > /dev/null 2>&1 if [ $? -eq 0 ]; then echo "DA"> ‘ye$$’ else echo "NU"> 'ye$$' fi

Determinati numarul de cache-uri L1, L2 si L3 disponibile. Determinati daca procesorul are sau nu instructiuni speciale pentru accelerarea criptarii AES. Determinati numarul de placi video prezente pe sistem. Determinati driver-ul folosit de placa de retea. Determinati ce tip de hypervisor este folosit pentru masina virtuala pe care va aflati. lscpu | grep “L[1-3].*cache” lscpu | grep -o aes lshw -c display lspci -vvv | grep Ethernet -A 20 | grep driver | head -n1 lscpu | grep Hypervisor

Afisati toate procesele de pe sistem impreuna cu PID-ul lor, sub forma arborescenta. Afisati pentru fiecare proces al utilizatorului root, urmatoarele atribute: PID-ul, PPID-ul, utilizatorul ce le-a creat, si comanda cu care a fost pornit. Afisati toate PID-urile al carui PPID-ul este egal cu 1. Afisati PID-ul shell-ului curent. Sortati in ordinea consumului de memorie procesele utilizatorului root. Afisati primele 5 procese. pstree -p sudo ps -u root -o pid,ppid,user,cmd pgrep -P 1 echo $$ ps --no-header -u root -o pid,user,%mem | sort -nrk3 | head -n5

Configurati numele si mail-ul vostru pentru a folosi git in terminal. Creati directorul "Elevi". Initializati directorul ca un repository de git. In interiorul directorului creati un fisier numit Haralambie, in care sa scrieti “Romana: 8,5 | Matematica: 9,5 | Informatica: 10”. Faceti un commit cu fisierul creat, cu mesajul “Elev adaugat” si afisati istoricul commit-urilor. git config --global user.name git config --global user.email mkdir Elevi cd Elevi git init echo “Romana: 8,5 | Matematica: 9,5 | Informatica: 10” > Haralambie git add Haralambie git commit -m “Elev adaugat” git log