Linux Command Line Spiekbriefje
Linux is een gratis en open-source Unix-achtig besturingssysteem gebaseerd op POSIX en Unix. Het is een multi-user, multi-tasking, multi-threaded en multi-CPU ondersteunend besturingssysteem. Het kan de belangrijkste Unix-tools, applicaties en netwerkprotocollen draaien en ondersteunt zowel 32-bits als 64-bits hardware. Linux heeft de netwerkgecentreerde ontwerpfilosofie van Unix geërfd en is een stabiel multi-user netwerkbesturingssysteem.
Systeem
| uname | Toon Linux systeeminformatie |
| uname -r | Toon kernelversie-informatie |
| uptime | Toon hoe lang het systeem al draait (inclusief gemiddelde belasting) |
| hostname | Toon systeem hostnaam |
| hostname -i | Toon het IP-adres van het systeem |
| last reboot | Toon de herstartgeschiedenis van het systeem |
| date | Toon de huidige systeemdatum en -tijd |
| timedatectl | Vraag de systeemklok op en wijzig deze |
| cal | Toon de huidige kalendermaand en -datum |
| w | Toon momenteel ingelogde gebruikers |
| whoami | Toon uw inlogidentiteit |
| finger username | Toon informatie over een gebruiker |
Hardware
| dmesg | Toon opstartberichten |
| cat /proc/cpuinfo | Toon gedetailleerde CPU-informatie (model, cores, fabrikant) |
| cat /proc/meminfo | Toon gedetailleerde informatie over het hardwaregeheugen (totaal, vrij) |
| lshw | Toon systeeminformatie over de hardwareconfiguratie |
| lsblk | Toon informatie over blokapparaten |
| free -m | Toon vrij en gebruikt geheugen (-m voor MB) |
| lspci -tv | Toon PCI-apparaten in een boomdiagram |
| lsusb -tv | Toon USB-apparaten in een boomdiagram |
| dmidecode | Toon hardware-informatie uit het BIOS |
| hdparm -i /dev/xda | Toon informatie over schijfgegevens |
| hdparm -tT /dev/xda | Voer een leessnelheidstest uit op apparaat xda |
| badblocks -s /dev/xda | Test op onleesbare blokken op de schijf |
Gebruikers
| id | Toon details van de actieve gebruiker (uid, gid, groepen) |
| last | Toon laatste logins in het systeem |
| who | Toon wie er is ingelogd op het systeem |
| groupadd “admin” | Voeg groep “admin” toe |
| adduser “Sam” | Voeg gebruiker Sam toe |
| userdel “Sam” | Verwijder gebruiker Sam |
| usermod | Gebruikersinformatie wijzigen/aanpassen |
Bestanden
| ls -al | Toon bestanden - inclusief reguliere en verborgen bestanden en hun machtigingen |
| pwd | Toon huidig mappad |
| mkdir ‘directory_name’ | Maak een nieuwe map aan |
| rm file_name | Verwijder een bestand |
| rm -f filename | Forceer het verwijderen van een bestand |
| rm -r directory_name | Verwijder recursief een map |
| rm -rf directory_name | Forceer en verwijder recursief een map |
| cp file1 file2 | Kopieer de inhoud van file1 naar file2 |
| cp -r dir1 dir2 | Kopieer dir1 recursief naar dir2. Maak dir2 aan als deze niet bestaat |
| mv file1 file2 | Hernoem file1 naar file2 |
| ln -s /path/to/file_name link_name | Maak een symbolische link naar file_name |
| touch file_name | Maak een nieuw bestand aan |
| cat > file_name | Maak een bestand aan via toetsenbordinvoer |
| more file_name | Toon de inhoud van een bestand pagina voor pagina |
| head file_name | Toon de eerste 10 regels van een bestand |
| tail file_name | Toon de laatste 10 regels van een bestand |
| gpg -c file_name | Versleutel een bestand |
| gpg file_name.gpg | Ontsleutel een bestand |
| wc | Toon het aantal bytes, woorden en regels van een bestand |
| xargs | Voer commando’s uit vanaf de standaardinvoer |
Processen
| ps | Toon momenteel actieve processen |
| ps aux | grep ’telnet' | Zoek naar het proces-id van ’telnet' |
| pmap | Toon geheugenkaart van een proces |
| top | Toon alle draaiende processen |
| kill pid | Beëindig proces met gegeven pid |
| killall proc | Beëindig alle processen genaamd proc |
| pkill process-name | Stuur een signaal naar een proces op naam |
| bg | Hervat een onderbroken achtergrondcommando |
| fg | Breng een achtergrondcommando naar de voorgrond |
| fg n | Breng job n naar de voorgrond |
| lsof | Toon bestanden die door processen zijn geopend |
| renice 19 PID | Voer een proces uit met een zeer lage prioriteit |
| pgrep firefox | Zoek het Firefox proces-ID |
| pstree | Visualiseer processen in een boommodel |
Bestandsmachtigingen
| chmod octal filename | Wijzig bestandsmachtigingen naar octaal formaat |
| chmod 777 /data/test.c | Stel rwx machtigingen in voor eigenaar, groep en iedereen |
| chmod 755 /data/test.c | Stel rwx in voor eigenaar, r-x voor groep en iedereen |
| chmod 766 /data/test.c | Stel rwx in voor eigenaar, rw- voor groep en iedereen |
| chown owner user-file | Wijzig bestandseigendom |
| chown owner-user:owner-group file_name | Wijzig de eigenaar en de groepseigenaar van een bestand |
| chown owner-user:owner-group directory | Wijzig de eigenaar en de groepseigenaar van een map |
Netwerk
| ip addr show | Toon IP-adressen en alle netwerkinterfaces |
| ip address add 192.168.0.1/24 dev eth0 | Wijs IP-adres 192.168.0.1 toe aan interface eth0 |
| ifconfig | Toon IP-adressen van alle netwerkinterfaces |
| ping host | Verstuur ICMP echo requests om een verbinding tot stand te brengen |
| whois domain | Haal informatie op over een domeinnaam |
| dig domain | Haal DNS-informatie op voor een domein |
| dig -x host | Voer een reverse lookup uit voor een domein |
| host google.com | Voer een IP lookup uit voor een domeinnaam |
| hostname -i | Toon lokaal IP-adres |
| wget file_name | Download bestanden van online bronnen |
| netstat -pnltu | Toon alle actieve luisterpoorten |
Compressie / Archivering
| tar -cf home.tar home | Maak een tar-archief genaamd home.tar voor de map home |
| tar -xf files.tar | Pak archiefbestand “files.tar” uit |
| tar -zcvf home.tar.gz source-folder | Maak een gecomprimeerd tar-archief van een bronmap |
| gzip file | Comprimeer bestand met .gz extensie |
Pakketinstallatie
| rpm -i pkg_name.rpm | Installeer rpm-pakket |
| rpm -e pkg_name | Verwijder rpm-pakket |
| dnf install pkg_name | Installeer pakket met behulp van de dnf-tool |
Installatie vanuit Broncode (Compileren)
| ./configure | Controleer systeem op afhankelijkheden en bouw de Makefile |
| make | Compileer het programma |
| make install | Installeer binaire bestanden in het standaard/aangepaste pad |
Zoeken
| grep ‘pattern’ files | Zoek naar een patroon in bestanden |
| grep -r pattern dir | Zoek recursief naar een patroon in een opgegeven map |
| locate file | Vind alle instanties van een bestand |
| find /home/ -name “index” | Vind bestandsnamen die beginnen met ‘index’ in /home |
| find /home -size +10000k | Vind bestanden groter dan 10000k in de home map |
Inloggen
| ssh user@host | Maak een veilige verbinding met de host als de opgegeven gebruiker |
| ssh -p port_number user@host | Maak een veilige verbinding met de host via de opgegeven poort |
| ssh host | Maak een veilige verbinding met de host via de standaardpoort 22 |
| telnet host | Maak een verbinding met de host via de standaardpoort 23 |
Bestandsoverdracht
| scp file1.txt server2/tmp | Kopieer file1.txt veilig naar de /tmp map van server2 |
| rsync -a /home/apps /backup/ | Synchroniseer de inhoud van /home/apps met de /backup map |
Schijfgebruik
| df -h | Toon vrije ruimte op gekoppelde bestandssystemen |
| df -i | Toon vrije inodes op bestandssystemen |
| fdisk -l | Toon schijfpartities, groottes en types |
| du -sh | Toon schijfgebruik van de huidige map in leesbaar formaat |
| findmnt | Toon koppelpunten voor alle bestandssystemen |
| mount device-path mount-point | Koppel een apparaat aan (mount) |
Navigatie door mappen
| cd .. | Ga een niveau omhoog in de mappenstructuur |
| cd | Verander map naar de $HOME map |
| cd /test | Verander map naar de /test map |