USO Cheat Sheet cont, intul fis, ierelor date ca argument s, i afis, eaz
a la utilizatorul student df afis, eaz
a disk usage al sistemului de fis, iere ies, irea standard passwd modific a parola user-ului curent (dac a du -hs dir afis, eaz a dimensiunea pe disk Comenzi utile Linux tail -f file afis, eaz a, n timp real, cont, intul nu e dat nici un argument) sau a user-ului dat ca (total a) a directorului/fis, ierului dir fis, ierului file argument dmesg afis, eaz a mesaje de la kernel (exemplu: ncep and cu primele 10 linii. Dac a este omis module inserate/s, terse, device-uri USB inserate chown user file -R schimb a utilizatorul Primul ajutor parametrul -f atunci vor fi afis, ate la ies, irea proprietar (owner) al lui file. etc.) standard ultimele 10 linii. man comand a afis, eaz a pagina de manual a tail -n NR file afis, eaz a ultimele NR linii din -R daca file e un director se poate folosi comenzii file acest argument pentru a schimba recur- Configurare ret, ea whereis app afis, eaz a posibilele locuri n care se head -n NR file afis, eaz a primele NR linii din siv owner-ul tuturor fis, ierelor din director chgrp group file -R schimb a grupul lui file. ifconfig afis, eaz a informat, ii despre toate poate afla app file interfet, ele de ret, ea din sistem. which cmd afis, eaz a calea executabilului lui cmd Analog chown chmod octal file - schimb a permisiunile lui ip address show afis, eaz a toate interat, ele de apropos pattern afis, eaz a comenzi ce au n descriere pattern C autare file n format octal astfel: Formatul octal are 3 ret, ea s, i adresele lor ip cifre (permisiunile pentru user, group, others), ce ip route show afis, eaz a tabelele de rutare ale grep -n pattern file caut a pattern n file pot fi maxim 7, s, i se combin a prin suma interfet, elor Sistemul de fis, iere -n afis, eaz a linia la care se gases, te pattern urm atoarelor cifre: arp -a, ip neighbour show vizualizarea grep -R pattern dir caut a dup a pattern n 0 nici un drept tabelei ARP / root directory directorul dir 1 execut, ie (x) ifconfig eth0 192.168.60.13 netmask /bin binary files -R Cautare recursiv a 2 scriere (w) 255.255.255.0 configureaz a temporar /home users homedirs command | grep pattern caut a n output-ul 4 citire (r) intefat, a de ret, ea eth0 cu adresa IP 192.168.60.13 /usr secondary filesystem comenzii dup a pattern Exemplu: chmod 755 file rwx pentru owner, s, i masca de ret, ea 24. /var variable data (cache, log etc.) find dir -name pattern caut a dup a fis, iere ce rx pentru group s, i others. man chmod pentru dhclient eth0 configureaz a temporar /etc config files cont, in n numele lor pattern n directorul dir detalii complete dinamic (DHCP) interat, a eth0 locate file afis, eaz a toate instant, ele n sistem /boot bootloader & boot info /etc/network/interfaces fis, ierul pentru a fis, ierului file /lib system library Procese, semnale configur ari permanente ale interat, elor de ret, ea /dev hardware devices ifup, ifdown pornes, te, respectiv opres, te, o /root roots home Arhivare, comprimare ps afis, eaz a procesele shell-ului curent interat, a ps -ef afis, eaza toate procesele s, i detalii ping host testeaz a conectivitatea trimit, and cd [DIR] schimb a din directorul curent n DIR tar -xzvf file.tar.gz extrage arhiv a gzip mesaje de tip ICMP lui host (full-format listing) despre acestea (dat ca argument) sau n home, dac a nu e dat nici -x extract files from file.tar.gz top, htop Linux task manager un argument -z use gzip,gunzip pwd afis, eaz a directorul curent -v verbose mode - afis, eaz a fis, ierele dezarhi- kill -l afis, eaz a toate semnalele Servicii ret, ea vate kill pid trimite semnalul SIGTERM (15) ls -lah [FILE] listare lung a a tuturor ssh user@host conectare remote la host cu -f use archive file or device file.tar.gz procesului cu id-ul pid (nchide procesul) fis, ierelor din directrul curent, dac a nu e dat nici un contul user tar -czvf file.tar.gz files creeaz ao kill -9 pid trimite semnalul SIGKILL (9) argument ssh -p PORT_NO user@host conectare remote arhiv a folosind gzip. Directoarele vor fi arhivate procesului cu id-ul pid (fort, eaz a distrugerea -l long listing format pe portul PORT_NO recursiv (toate fis, ierele din directoarele reg asite ca procesului) -a nu ignor a intrari care ncep cu . ssh-keygen generare cheii de autentificare argument al comenzii se vor afla n arhiv a) killall proc omoar a toate procesele numite -h human readable (pentru dimensiuni, de ssh-copy-id instalarea cheii publice pe mas, ina -c extract files from file.tar.gz proc exemplu) remote Restul parametrilor au aceeas, i semnificat, ie ca la rm -rf dir s, terge tot cont, intul directorului dir bg trece un proces din stopped n running n dezarhivare wget file descarc a file -r s, tergere recursiv a background zip file.zip files creeaz a o arhiv a zip cu wget -c file continu a o desc arcare oprit a -f fort, eaz a s, tergerea fg trece un proces n foreground fis, ierele date ca argument. Dac a se afl a directoare host hostname determina adresa IP a numelui prin argumente, cont, intul lor NU va fi inclus & lanseaz a un proces n background running hostname (DNS lookup) cp file1 file2 copiaz a file1 n file2 cp -r dir1 dir2 copiaz a dir1 n dir2 s, i recursiv. zip -r tema1.zip tema1 creeaz a o arhiv a zip netstat -tlnp - informat, ii despre subsistemul de creeaz a dir2 dac a acesta nu exist a Informat, ii hardware cu director-ul tema1 n r adacin a s, i include recursiv ret, ea. F ar a nici un parametru va afis, a lista de mv file1 file2 mut a file1 n file2 dac a toate fis, ierele din director. conexiuni deschise. file2 e director sau redenumes, te file1 n file2 cat /proc/cpuinfo informat, ii despre -t afis, eaz a doar conexiuni ce folosesc proto- touch file creeaz a sau actualizeaz a file procesor/CPU al sistemului colul TCP. Pentru UDP folosit, i -u dd if=FIS, IER_INTRARE of=FIS, IER_IES, IRE Gestiunea utilizatorilor cat /proc/meminfo informat, ii despre memoria -l afis, eaz a doar porturile pe care o stat, ie as- bs=DIMENSIUNE_BLOC count=NUM AR_BLOCURI sistemului cult a copiere s, i conversie la nivel de octet, i sudo ruleaz a o comand a ca root free informat, ii despre memoria total a, -n afis, are numeric a n loc de a ncerca s a de- ln -s file link creeaz a link-ul simbolic link whoami afis, eaz a utilizatorul curent utilizat a la momentul curent, cache, swap etc. termine nume catre fis, ierul file who afis, eaz a utilizatorii logat, i lspci afis, eaz a componetele periferice (PCI) -p afis, area programului (numele exe- w afis, eaz a utilizatorii logat, i s, i activit at, ile lor lsusb afis, eaz a device-urile USB cutabilului) ce ascult a pe port. E nevoie cat [FILE1] [FILE2] ... concateneaz a finger student afis, eaz a informat, ii despre uname -a afis, eaz a informat, ii despre kernel de drept de root pentru aceasta USO Cheat Sheet s, iruri de caractere. Exemplu: var1="a+b+c"; IFS=+; echo $var1 Pentru a compara s, iruri folosim: -n str lungimea lui str este diferit a de 0 Shell Scripting -z str lungimea lui str este 0 s1 = s2 s, irurile s1 s, i s2 sunt egale Filtre text Se poate folosi s, i construct, ia [ . . . ] (atent, ie la spat, ii, trebuie s a Citire. Afis, are. Inl ant, uire comenzi cut -d DELIMITATOR -f LIST A_C^AMPURI file selectare coloane existe! Exemple: de text din fiecare linie a fis, ierului file pe baza DELIMITATOR test $a -lt 3 read a Cites, te variabila a de la intrarea standard (implicit e TAB) s, i alege s a afis, eze doar c ampurile din [ $a -lt 3 ] echo -ne "Hello, Bash \n!" afis, are text. LISTA_C^ AMPURI. Exemplu: cut -f 1,4 -d : < /etc/passwd -n nu va pune un trailing end of line, care este pus implicit wc -l file determin a c ate linii are file if [ $a -lt 3 ]; then -e permite interpretarea backslash escapes (ca n C la wc -w file determin a numarul de cuvinte din file echo "Adev arat" printf) wc -c file determin a numarul de octet, i ai lui file fi ; secvent, ierea comenzilor. Exemplu: echo "StarCraft II"; echo "Wings of Liberty" sort -n file sortare numeric a \ Un backslash la finalul liniei semnific a faptul c a linia se sort -r file reverse sort continu a pe randul urm ator. sort -u file, sort file | uniq cu unicizare Bucle &&, || execut a un al doilea proces doar dac a primul s-a ncheiat sort -k 3 file sorteaza n funct, ie de coloana 3 while condition cu success, respectiv eroare. Exemple: true && echo "Success" do false || echo "Fail" tr, sed, awk command1 command2 tr -s \n < file s, terge liniile goale din file s, i afis, eaz a Caractere speciale Bash tr -s A-Za-z0-9 < file s, terge caracterele alfanumerice s, i command3 done operatori spat, ii duplicat din file s, i afis, eaz a redirectare: >, <, &>, >>, << tr -d -c A-Za-z0-9 < /dev/urandom | head -c 10 generator for i in 1 2 3 4 5 6 7 8 9 10; do ... done ant, uire: ;, ||, &&, |, & secvent, iere, nl de parole de 10 caractere for ((i = 1; i <= 10; i++)); do ... done expandare: $ sed s/old/new/g file nlocuies, te toate aparit, iile old cu new for i in $(seq 1 10); do ... done comentare: # n fis, ierul file s, i afis, eaz a la ies, irea standard citare (escaping): , ", \ sed 1-10s/old/new/g file la fel ca mai sus, doar c a pentru for i in $(seq -f "%02g" 1 10); separare: blank (spat, iu) primele 10 linii do globbing: ?, *, [, ], {, } sed s/[ \t]*$//g file s, terge trailing whitespace de la ... sf ars, itul fiec arei linii din file s, i afis, eaza la ies, irea standard done sed s/\t/ /g file nlocuies, te TAB cu 4 spat, ii n fiecare Rularea unui script Bash linie din file for f in *; do ... done source script.sh, . script.sh execut a comenzile din script awk { t = $1; $1 = $2; $2 = t; print; } file ca s, i cum ar fi fost introduse de la tastatura interschimb a primele dou a coloane din file s, i afis, eaz a la ies, irea for user in $(cut -d : -f 1 < /etc/passwd); Bash script.sh ruleaz a script.sh n alt shell Bash creat standard do ./script ruleaz a script folosind interpretorul dat n prima linie ... prin shebang (#!). Exemplu de linie shebang: #!/usr/bin/env Instruct, iune decizional a done python. Atent, ie! Trebuie s a avem drepturi de execut, ie pe script! if condit, ie1 for arg in $@; do ... done then Variabile Bash. Variabile speciale intruct, iuni1 elif condit, ie2 Definire funct, ii NUME=VALOARE definire variabil a n Bash. NU lasat, i spat, ii! then export NUME=VALOARE configurare variabil a ca variabil a de mediu instruct, iuni2 function func_name() (exportare) else { $? valoarea de retur a ultimei comenzi alte_instruct, iuni ... $! PID-ul ultimului proces (job) lansat n background fi } $_ ultimul argument al ultimei comenzi test expresion comand a de verificare a valorii de retur a $# Num arul de parametri transmis, i scriptului (echivalent argc n expression Pentru a compara numere folosim: -eq equal Daca trebuie s a retruneze o valoare, se poate pune s, i un return ca n C) -ne not equal C. Daca nu se foloses, te return funct, ia va ntoarce valoarea de retur $0 Numele scriptului (echivalent argv[0] n C) $1, $2 . . . -gt greater than a ultimei comenzi din corp. Primul, al doilea argument etc. (echivalent argv[1], argv[2] n C) -ge greater or equal IFS Internal Field Separator. Variabila determin a modul n care -lt less than Bash recunoas, te c ampuri sau limitele cuvintelor c and interpreteaz a -le less or equal