Linux Command Line Cheat Sheet
Linux este un sistem de operare gratuit și open-source de tip Unix, bazat pe POSIX și Unix. Este un sistem de operare multi-utilizator, multi-tasking, multi-threaded și care suportă mai multe procesoare. Poate rula principalele instrumente Unix, aplicații și protocoale de rețea și suportă atât hardware pe 32 de biți, cât și pe 64 de biți. Moștenind filozofia de proiectare centrată pe rețea a Unix, Linux este un sistem de operare stabil de rețea multi-utilizator.
Sistem
| uname | Afișează informații despre sistemul Linux |
| uname -r | Afișează informații despre versiunea kernel-ului |
| uptime | Afișează de cât timp rulează sistemul (inclusiv media de încărcare) |
| hostname | Afișează numele de gazdă al sistemului |
| hostname -i | Afișează adresa IP a sistemului |
| last reboot | Afișează istoricul repornirilor sistemului |
| date | Afișează data și ora curentă a sistemului |
| timedatectl | Interoghează și modifică ceasul sistemului |
| cal | Afișează luna și data calendaristică curentă |
| w | Afișează utilizatorii conectați în prezent |
| whoami | Afișează identitatea de autentificare |
| finger username | Afișează informații despre un utilizator |
Hardware
| dmesg | Afișează mesajele de boot |
| cat /proc/cpuinfo | Afișează informații detaliate despre CPU (model, nuclee, producător) |
| cat /proc/meminfo | Afișează informații detaliate despre memoria hardware (totală, liberă) |
| lshw | Afișează informații despre configurația hardware a sistemului |
| lsblk | Afișează informații referitoare la dispozitivele de tip bloc |
| free -m | Afișează memoria liberă și utilizată (-m pentru MB) |
| lspci -tv | Afișează dispozitivele PCI într-o diagramă arborescentă |
| lsusb -tv | Afișează dispozitivele USB într-o diagramă arborescentă |
| dmidecode | Afișează informații despre hardware din BIOS |
| hdparm -i /dev/xda | Afișează informații despre datele de pe disc |
| hdparm -tT /dev/xda | Rulează un test de viteză de citire pe dispozitivul xda |
| badblocks -s /dev/xda | Testrează discul pentru blocuri imposibil de citit |
Utilizatori
| id | Afișează detaliile utilizatorului activ (uid, gid, grupuri) |
| last | Afișează ultimele autentificări în sistem |
| who | Afișează cine este conectat la sistem |
| groupadd “admin” | Adaugă grupul „admin” |
| adduser “Sam” | Adaugă utilizatorul Sam |
| userdel “Sam” | Șterge utilizatorul Sam |
| usermod | Folosit pentru a schimba/modifica informațiile utilizatorului |
Fișiere
| ls -al | Listează fișierele - inclusiv fișierele obișnuite și ascunse, precum și permisiunile acestora |
| pwd | Afișează calea directorului curent |
| mkdir ‘directory_name’ | Creează un director nou |
| rm file_name | Șterge un fișier |
| rm -f filename | Ștergere forțată a unui fișier |
| rm -r directory_name | Ștergere recursivă a unui director |
| rm -rf directory_name | Ștergere forțată și recursivă a unui director |
| cp file1 file2 | Copiază conținutul file1 în file2 |
| cp -r dir1 dir2 | Copiază recursiv dir1 în dir2. Creează dir2 dacă nu există |
| mv file1 file2 | Redenumește file1 în file2 |
| ln -s /path/to/file_name link_name | Creează o legătură simbolică către file_name |
| touch file_name | Creează un fișier nou |
| cat > file_name | Creează un fișier de la tastatură |
| more file_name | Afișează conținutul unui fișier pagină cu pagină |
| head file_name | Afișează primele 10 linii ale unui fișier |
| tail file_name | Afișează ultimele 10 linii ale unui fișier |
| gpg -c file_name | Criptează un fișier |
| gpg file_name.gpg | Decriptează un fișier |
| wc | Afișează numărul de octeți, cuvinte și linii dintr-un fișier |
| xargs | Execută comenzi de la intrarea standard |
Procese
| ps | Afișează procesele active în prezent |
| ps aux | grep ’telnet' | Caută id-ul procesului ’telnet' |
| pmap | Afișează harta memoriei unui proces |
| top | Afișează toate procesele care rulează |
| kill pid | Termină procesul cu pid-ul dat |
| killall proc | Omoară toate procesele numite proc |
| pkill process-name | Trimite semnal către proces după nume |
| bg | Reia o comandă suspendată în fundal |
| fg | Aduce o comandă din fundal în prim-plan |
| fg n | Aduce sarcina (job) n în prim-plan |
| lsof | Listează fișierele deschise de procese |
| renice 19 PID | Rulează un proces cu prioritate foarte mică |
| pgrep firefox | Găsește ID-ul procesului Firefox |
| pstree | Vizualizează procesele într-un model arborescent |
Permisiuni fișiere
| chmod octal filename | Schimbă permisiunile fișierului în format octal |
| chmod 777 /data/test.c | Setează permisiuni rwx pentru proprietar, grup și toată lumea |
| chmod 755 /data/test.c | Setează rwx pentru proprietar, r-x pentru grup și toată lumea |
| chmod 766 /data/test.c | Setează rwx pentru proprietar, rw- pentru grup și toată lumea |
| chown owner user-file | Schimbă proprietarul fișierului |
| chown owner-user:owner-group file_name | Schimbă proprietarul și grupul proprietar al unui fișier |
| chown owner-user:owner-group directory | Schimbă proprietarul și grupul proprietar al unui director |
Rețea
| ip addr show | Afișează adresele IP și toate interfețele de rețea |
| ip address add 192.168.0.1/24 dev eth0 | Atribuie adresa IP 192.168.0.1 interfeței eth0 |
| ifconfig | Afișează adresele IP ale tuturor interfețelor de rețea |
| ping host | Trimite cereri ICMP echo pentru a stabili conexiunea |
| whois domain | Recuperează informații despre un nume de domeniu |
| dig domain | Recuperează informații DNS pentru un domeniu |
| dig -x host | Efectuează căutare inversă pentru un domeniu |
| host google.com | Efectuează căutarea IP pentru un nume de domeniu |
| hostname -i | Afișează adresa IP locală |
| wget file_name | Descarcă fișiere din resurse online |
| netstat -pnltu | Afișează toate porturile de ascultare active |
Compresie / Arhivare
| tar -cf home.tar home | Creează o arhivă tar numită home.tar pentru directorul home |
| tar -xf files.tar | Extrage fișierul arhivă „files.tar” |
| tar -zcvf home.tar.gz source-folder | Creează o arhivă tar comprimată dintr-un folder sursă |
| gzip file | Comprimă fișierul cu extensia .gz |
Instalare pachete
| rpm -i pkg_name.rpm | Instalează pachetul rpm |
| rpm -e pkg_name | Elimină pachetul rpm |
| dnf install pkg_name | Instalează pachetul folosind instrumentul dnf |
Instalare din sursă (Compilare)
| ./configure | Verifică sistemul pentru dependențe și construiește Makefile-ul |
| make | Compilează programul |
| make install | Instalează fișierele binare în calea implicită/modificată |
Căutare
| grep ‘pattern’ files | Caută un tipar în fișiere |
| grep -r pattern dir | Caută recursiv un tipar într-un director dat |
| locate file | Găsește toate instanțele unui fișier |
| find /home/ -name “index” | Găsește numele de fișiere care încep cu „index” în /home |
| find /home -size +10000k | Găsește fișiere mai mari de 10000k în folderul home |
Autentificare
| ssh user@host | Te conectezi securizat la gazdă ca utilizatorul specificat |
| ssh -p port_number user@host | Te conectezi securizat la gazdă folosind portul specificat |
| ssh host | Te conectezi securizat la gazdă prin portul implicit 22 |
| telnet host | Te conectezi la gazdă prin portul implicit 23 |
Transfer de fișiere
| scp file1.txt server2/tmp | Copiază securizat file1.txt în directorul /tmp al server2 |
| rsync -a /home/apps /backup/ | Sincronizează directorul /home/apps cu directorul /backup |
Utilizare disc
| df -h | Afișează spațiul liber de pe sistemele de fișiere montate |
| df -i | Afișează inodurile libere de pe sistemele de fișiere |
| fdisk -l | Afișează partițiile de disc, dimensiunile și tipurile |
| du -sh | Afișează utilizarea discului din directorul curent în format lizibil pentru oameni |
| findmnt | Afișează punctele de montare țintă pentru toate sistemele de fișiere |
| mount device-path mount-point | Montează un dispozitiv |
Navigare în directoare
| cd .. | Urcă un nivel în structura de directoare |
| cd | Schimbă directorul în directorul $HOME |
| cd /test | Schimbă directorul în directorul /test |