Deze pagina is nog een kladblok verzameling. Ooit wordt het een keurig verhaal.
De Terminal is dat venster, waarin je commando's kunt intypen, waarna er van alles kan gaan gebeuren. Moeilijk om mee te beginnen, maar ook een zeer krachtig gereedschap om de computer opdracht te geven voor jou nuttige dingen te doen. Omdat het zoveel toegevoegde waarde geeft boven het achter de muis aan schuiven. Je hebt wat te leren, maar dan kun je ook wat. Klussen die met de muis moeilijk zijn, blijken ineens praktisch uitvoerbaar met weinig muis klikken.
Voor de beginners : om met Linux te beginnen heb je de terminal niet nodig. Het normale computeren kan allemaal met muis en toetsenbord. De basismogelijkheden van de terminal gebruiken vanuit een handleiding is echter niet moeilijk. Het is zelfs leuk ! Probeer de voorbeelden hieronder eens en laat je verrassen !
Open de Terminal (CTRL -T) en type in, elk commando een voor een, en bevestig dat steeds met een Enter :
Dit geldt in ieder geval voor de gnome-terminal en de xfce terminal
Handigheden :
Linux Terminal cursusen en tips vindt je hier :
Ook op utuub :
Als je het 'Terminal gebruiken' goed in de vingers hebt ben je klaar voor
Text edit met root rechten, en Terminal Tekst Editor Vi
De Terminal is ook te gebruiken om tekst bestanden te schrijven of aan te passen. De escape toets is hierbij de versnelling pook, waarmee je schakelt tussen het tekst invoeren, en het commando's maken van letters.
# – de standaard prompt voor de root user, die met admin rechten
$ – de standaard prompt voor een gewone gebruiker, een zonder admin rechten
Over het # :
in scripts betekent een # vooraan de regel dat dat wat volgt, alleen maar commentaar is. Het doet niets, als het script als programma uitgevoerd wordt.
# laat de meest recent gebruikte commandoos in de terminal zien
cat ~/.sh_history
https://www.liquidweb.com/kb/what-is-umask-and-how-to-use-it-effectively/
Over lees en schrijfrechten
open een terminal en maak en inventariseer een bestand met
touch mijnbestand.txt stat mijnbestand.txt
En dan deze nog. In het menu vindt je de systeem info. Dat voert dit commando uit. En u mag kiezen :
Welke Linux versie draai je ? Gevonden op Externe link
Type any one of the following command to find os name and version in Linux:
cat /etc/issue cat /etc/os-release lsb_release -a hostnamectl
Type the following command to find system info, zoals je Linux kernel version:
uname uname -a uname -r uname -s
Weten of Secure Boot aan of uit staat
mokutil --sb-state
resultaat : Secureboot = enabled or disabled
Welke display manager heb je ?
cat /etc/X11/default-display-manager
Cinnamon Display manager reset
gsettings reset-recursively org.cinnamon
Uitzoeken wat er gebeurt als je wat aansluit / kernel berichten output :
dmesg -Tw
Wat heb je aan boord ?
lspci lsusb inxi inxi -Fzx inxi -Fxxxrza inxi -h ishw xrandr --verbose
cat /proc/version
Zie Linux Terminal - Bestandsbeheer
Een directory is hetzelfde als een map (in dit verhaal wel).
# probeer deze commandoos uit op een klein lijstje en dan steeds groterder # # Plan : Maak alles van ikzelf in de group users # geef alle bestanden (niet de mappen ! de rechten 644 # geef alle directories / mappen de rechten 755 # # [a-zA-Z0-9] = alles wat met een letter of cijfer begint # Specifieker mag ook. Gebruik nooit alleen maar een *. Zie onderaan # # # zaken in deze map aanpassen chown ikzelf.users [a-zA-Z0-9]* chmod 644 *txt chmod 644 *[JjPpGg] chmod 644 [a-zA-Z0-9]* # zaken in deze map en alle onderliggende mappen aanpassen chown -R ikzelf.users [a-zA-Z0-9]* # # Het find en execute commando. Krachtig. Wel mee oppassen ! Bezint eer ge aanpakt ! # find . betekent : zoek in de huidige directory (dat is de punt .) en alles er onder # Deze . mag je vervangen door elk zelf te kiezen pad. # type f : files # type d : directories # find . -type f -name '[a-zA-Z0-9]*' -exec chmod 644 {} \; find . -type d -name '[a-zA-Z0-9]*' -exec chmod 755 {} \; # # # Doe NOOIT HELEMAAL NOOIT NIET !!! een find met * # Want die neemt in de huidige directory naast de . ook de .. mee. .. betekent de bovenliggende map # find . -type f -name * -exec chmod 644 {} \; # find . -type d -name * -exec chmod 755 {} \; #
# Deze commandoos gebruik ik ook om orde op zaken te stellen op mijn NAS
Gezocht op :linux terminal find words in files
Gevonden : https://stackoverflow.com/questions/16956810/how-to-find-all-files-containing-specific-text-string-on-linux Hierop staan veel voorbeelden uitgewerkt # Zoek in de map "/home/ikzelf/mijnmapmetbestanden" naar bestanden (type f van file) met daarin "HETWOORDDATJEZOEKT" find /home/ikzelf/mijnmapmetbestanden -type f -exec grep -H 'HETWOORDDATJEZOEKT' {} \; find /etc/profile.d -type f -exec grep -H 'alias' {} \; find /etc/profile.d -type f -exec grep -H 'sleep' {} \; # Zoek in de huidige map "dat is de punt !" naar bestanden (type f van file) met daarin "HETWOORDDATJEZOEKT" find . -type f -exec grep -H 'HETWOORDDATJEZOEKT' {} \; find . -type f -exec grep -H 'alias' {} \; grep -rnw '/path/to/somewhere/' -e 'pattern' voorbeeld : # zoek in de tekst bestanden op een usb stick naar paswoorden : grep -rnw '/media/jijzelf/JOUWUSBSTICK/' -e 'paswoord' grep -rnw '/home/ikzelf/mijnmapmetbestanden' -e 'HETWOORDDATJEZOEKT' grep -rnw '.' -e 'HETWOORDDATJEZOEKT' # Achteraan geef je de map op waarin je wilt zoeken. De huidige (de punt) mag maar hoef je niet op te geven grep -Ril "text-to-find-here" grep -Ril "text-to-find-here" . # Wat eigen net gebruikte voorbeelden : grep -Ril "alias" /etc/profile.d grep -Ril "# sleep" /etc/profile.d # Zoeken vanaf / zoekt je hele computer door. Wil je dat echt ? Vervang dan de . door de / grep -Ril "text-to-find-here" . * i stands for ignore case (optional in your case). * R stands for recursive. * l stands for "show the file name, not the result itself". * / stands for starting at the root of your machine. * / kun je veranderen door bijvoorbeeld $HOME, of /home/jijzelf/ of net wat je nodig hebt ...
lsblk mount fdisk -l clear; cd /media; ls -l clear; cd /mnt; ls -l du df xdiskusage
df -h You can also find out the UUID by using the following commands (zie het verschil met el en een) : ls -l /dev/disk/by-uuid ls -1 /dev/disk/by-uuid blkid blkid -o list
blkid wordt ook aangeraden in mijn huidige /etc/fstab (waarin de aankoppel configuratie staat) :
# Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5)
Dat kan op diverse manieren. Hier een paar voor in de terminal :
cat /proc/mounts mount mount | grep nfs mount | grep media mount | grep mnt
Als je je bestanden vanuit meerdere Linux pc's op de Synology Nas wilt gebruiken, lijkt het zinvol om
En denk er aan. Doe onderstaande kommando's op bestanden op je Nas, en niet op je bestanden op je home folder (daar gelden wat meer beperkingen en specifieke zaken)
Alle files hier inclusief sub mappen worden zo -rw-r–r–
find . -type f -exec chmod 644 {} \; find . -type f -exec chown nobody.users {} \;
Alle jpg files hier inclusief sub mappen worden zo -rw-r–r–
find . -type f -name '*jpg' -exec chmod 644 {} \; find . -type f -name '*jpg' -exec chown nobody.users {} \;
Alle submappen worden zo drwxr-xr-x
find . -type d -exec chmod 755 {} \; find . -type d -exec chown nobody.users {} \;
Let op : dit werkt ook meteen op de map zelf. En dat is zichtbaar in de bovenliggende map ! Dit komt door de .. zichtbaar in de terminal ls -la listing. Die .. staan voor de huidige map. En die wordt meegenomen door het find exec commando. Tis maar dat u het weet.
Onderstaande kommando's zijn ter lering ende vermaek. als kladblok verzameling. oppassen dus. De meeste geven alleen systeem info.
clear; iwconfig; ifconfig; route -n lshw lshw -class network lspci lspci -nnk | grep -iA3 net; rfkill list rfkill list mokutil --sb-state
zie man rfkill voor meer mogelijkheden
apt update && apt upgrade -y apt autoremove
Zie elders voor nog meer update en upgrade zaken
Probeer onderstaande commando's eens uit.
man man man vrouw man env df df -h env fdisk -l sudo fdisk -l free ifconfig localectl ls ls -l ls -1 man set route -n set sl uname -a uname -n
Selecteer (met de linker muis knop) onderstaande regels. Open een terminal, klik er in en plak (met de middelste muis knop) de regels tekst in de terminal. De woorden achter 'alias' wordt dan een door jou zelf gemaakt commando. Hieronder mijn favoriete variaties op het ls commando. Daarmee bekijk je wat er in de huidige directorie zit.
# variaties op het commando 'ls' alias f="ls -lF --color=never" alias c="clear" alias cf="clear; ls -lF --color=never" alias d="ls -l --color=never | grep '^d'" alias fd="ls -lF --color=never" alias lsdr="ls -ltcr --color=never" alias lsdra="ls -ltcra --color=never" alias lsd="ls -ltc --color=never" alias lsda="ls -ltca --color=never" alias lsn="ls -lF --color=never | sort +8 -9" alias lsnr="ls -lF --color=never | sort -r +8 -9" alias lsp="ls -lF --color=never | sort +0 -1" alias lspr="ls -lF --color=never | sort -r +0 -1" alias lss="ls -lF --color=never | sort +4 -5 -n" alias lssr="ls -lF --color=never | sort -r +4 -5 -n -r"
# Kleuren instellen kun je door oa een van deze toevoegingen :
--color=auto --color=never
Bij het samenstellen van deze commando's heb ik deze letters functioneel ingezet :
c : clear d : directory f : files n : naam p : protectie (de lees en schrijf rechten) s : size r : reverse = volgorde andersom
Eigen commando's voor het camera en foto werk # commando's voor het hernoemen van foto bestanden met jpg en cr2 extensie. # de programma's jhead en exiftool moeten geinstalleerd zijn # de bestandsnaam wordt samengesteld op basis van de exif data in het fotobestand. # jpg wordt jpg alias fotonaamjpg='jhead -n%Y_%m%d_%H%M%S I*[JjPpGg]' alias fotonaamcr2=“exiftool '-filename<CreateDate' -d '%Y_%m%d_%H%M%S-c.le' -ext cr2 .” </code>
Vraag : werkt dit ook met een gopro ? Ff uitzoeken nog …
Door deze aliassen in specifieke configuratie bestanden te zetten, zullen ze altijd meteen in de terminal beschikbaar zijn. Belangrijke plekken om ze in vast te leggen zijn :
Deze bestanden moeten altijd uitvoerbaar zijn. Dat herken je (in de terminal, na een 'ls -l') aan x in de rechten : -rwxr-xr-x
Je kunt zo een bestand inlezen (zodat je de aliassen kunt testen) met bijvoorbeeld : $ cd $ sh .bash_aliases
Hierover elders meer …
Als je (*) al foto's hebt in de map fotoos, dan is dit vervolg ook leuk en leerzaam :
(* vervang jijzelf met jouw voornaam, als dat tenminste ook je gebruiker account is)
*[JjPpGg] ???? : Zo vang je de hoofdletter gevoeligheid af. Jpg jpg JPG…, het wordt allemaal gevonden.
Heb je ook raw fotoos ? Met bijvoorbeeld de canon extensie CR2 ?
Die laten zich hernoemen met het programma 'exiftool'.
met dit commando :
exiftool '-filename<CreateDate' -d '%Y_%m%d_%H%M%S-c.le' -ext cr2 .
De aliassen hiervoor zien er dan zo uit :
alias fotonaam='jhead -n%Y_%m%d_%H%M%S *[JjPpGg]' alias fotonaamcr2='exiftool '\''-filename<CreateDate'\'' -d '\''%Y_%m%d_%H%M%S%%-c.%%le'\'' -ext cr2 .'
Linux Terminal handleidingen