samenvatting belangrijke commando's linux shell --- ## Belangrijke commando’s en opties ### 1. Terminal openen * **Terminal in GUI:** Open via “Activities” → Terminal. * **Text-mode console:** Ctrl + Alt + F3 (of F4, F5, F6) → inloggen. * **SSH:** Verbinden met SSH client (bv. PuTTY) via IP-adres Linux VM. --- ### 2. Basis commando’s en opties * **`cat`**: tekstbestand naar scherm tonen Bijvoorbeeld: bash cat /etc/hosts * **`cat --help`**: toont help met beschikbare opties. *Voor het nummeren van regels gebruik je:* bash cat -n /etc/hosts --- ### 3. Handleiding (manpage) bekijken * **`man clear`**: bekijk de manpage van het commando `clear` Navigatie binnen manpage: * Spatie of `f`: volgende pagina * `b`: vorige pagina * `q`: quit (sluit manpage) --- ### 4. Directory inhoud bekijken met `ls` * **Bekijk inhoud directory** bash ls /etc/sysconfig * **Omgekeerde sorteervolgorde** Zoek in manpage van `ls` naar optie om sorteervolgorde om te keren (`-r`): bash ls -r /etc/sysconfig --- ### 5. Manpages zoeken * Maak de database van manpages up-to-date: bash sudo mandb * Zoek commando’s op trefwoord: bash man -k logged * Open manpage van het gevonden commando (bijv. `who`). * Zoek optie om laatste reboot te tonen: bijv. voor `who` of `uptime` bekijken. --- ### 6. Omgevingsvariabelen bekijken * Huidige gebruiker: bash echo $USER * Hostnaam VM: bash echo $HOSTNAME * Huidige directory (vergelijkbaar met `pwd`): bash echo $PWD --- ### Samenvatting belangrijke commando’s bash cat /etc/hosts cat -n /etc/hosts cat --help man clear ls /etc/sysconfig ls -r /etc/sysconfig sudo mandb man -k logged man who echo $USER echo $HOSTNAME echo $PWD --- # Werken met directories ### 1. Kopiëren van directory en fouten loggen Kopieer `/etc/sysconfig` naar `~/sysconfbackup` en log fouten: ```bash cp -r /etc/sysconfig ~/sysconfbackup 2> ~/backuperror.log ``` * `-r`: recursief kopiëren (voor directories) * `2>`: redirect stderr (fouten) naar bestand **Inhoud backuperror.log:** Waarschijnlijk fouten over ontbrekende rechten, want `/etc/sysconfig` bevat systeemconfiguraties waar je mogelijk geen leesrechten voor hebt zonder `sudo`. ### 2. Verklaring foutmeldingen * Fouten ontstaan doordat normale gebruikers geen toegang hebben tot bepaalde bestanden of mappen in `/etc/sysconfig`. * Voor volledige kopie met rechten is `sudo` nodig. --- ### 3. Hernoemen directory Hernoem `sysconfbackup` naar `sysconfbackup.oud`: ```bash mv ~/sysconfbackup ~/sysconfbackup.oud ``` * `mv` werkt ook als hernoem-commando --- ### 4. Kopiëren met lijst van gekopieerde bestanden Laat `cp` zien welke bestanden worden gekopieerd (verbose) en log deze output: ```bash cp -rv /etc/sysconfig ~/sysconfbackup > ~/backup.lst ``` * `-v`: verbose (laat elk gekopieerd bestand zien) * `-r`: recursief * `>`: stdout wordt opgeslagen in `backup.lst` --- ### 5. Waarom geen foutmeldingen in `backup.lst`? * Fouten (stderr) verschijnen op scherm omdat alleen stdout wordt omgeleid naar `backup.lst`. * Fouten komen via stderr en worden niet in `backup.lst` opgeslagen. * Wil je ook fouten opslaan, gebruik: ```bash cp -rv /etc/sysconfig ~/sysconfbackup > ~/backup.lst 2> ~/backuperror.log ``` --- ### 6. Verwijderen van beide backup directories Verwijder beide directories volledig: ```bash rm -rf ~/sysconfbackup ~/sysconfbackup.oud ``` * `-r`: recursief verwijderen (inclusief bestanden en subdirectories) * `-f`: forceer verwijderen zonder vragen --- # Zoeken naar tekst in bestanden ### 7. Zoek naar woord "started" in `/var/log/messages` Gebruik `grep` (case sensitive standaard), en `sudo` omdat logs rootrechten kunnen vereisen: ```bash sudo grep "started" /var/log/messages ``` --- ### 8. Zoek bestanden met "linux" in bestandsnaam onder `/usr/share/doc` Gebruik `find`: ```bash find /usr/share/doc -type f -name "*linux*" ``` * `-type f`: alleen bestanden * `-name "*linux*"`: bestandsnamen met substring "linux" (case sensitive) --- ### 9. Tel bestanden met "README" in naam in `/usr/share/doc` Combinatie `find` en `wc -l`: ```bash find /usr/share/doc -type f -name "*README*" | wc -l ``` * `wc -l`: telt aantal regels (= aantal bestanden) --- # Procesbeheer ### 10. Lijst van alle draaiende processen Gebruik `ps` met alle processen: ```bash ps aux ``` Of zoek via keyword: ```bash man -k "current process" ``` (Levert o.a. `ps`, `top`, `htop`) --- ### 11. Real-time processen en CPU-gebruik Gebruik `top`: ```bash top ``` * Hoogste CPU-gebruiker staat meestal bovenaan --- ### 12. Zoek proces `gnome-session-binary` en vind PID Met `ps` en `grep`: ```bash ps aux | grep gnome-session-binary ``` * PID is de tweede kolom in output --- ### 13. `kill` proces gnome-session-binary ```bash kill ``` * Dit stopt het proces. * Voor `gnome-session-binary` kan dit uitloggen of de grafische sessie afsluiten. ---