Old Stuf‎ > ‎Linux‎ > ‎

Linux Commando's

Omdat ik net als zoveel mensen nog niet zo heel veel doe met linux heb ik hier voor mezelf wat handige commando's verzameld, mogelijk hebben anderen hier ook plezier van.
TIP: als je beheerder bent zonder veel linux ervaring zoals ik en vele met mij, koop dan het boek Sams RedHat Enterprise Linux Administration unleashed
 
Mounten van een ISO file
mount -o loop <iso file>.iso /<bestaande directory>
unmount /<bestaande directory> om de iso mount weer te verwijderen.

updaten van een linux distributie (heb het geplaatst voor een redhat installatie maar werkt mogelijk ook voor andere versies)
deze methode werkt alleen als je vanaf een centrale plek linux servers installeerd, je start je nieuwe pc of server dan met de boot.iso welke je zou moeten kunnen vinden op de eerste CD onder /images (bij fedora is de boot.iso vervangen door de install.img
plaats de updates.img in de folder /images die je dus kan vinden op de eerste CD
Installeer je linux vanaf een CD type dan bij boot: linux updates of als je de updates van het netwerk haalt type je linux updates=ftp://locatie van image 
waar ftp:// staat kun je ook voor http:// kiezen.

Maken custom boot.iso / install.img
Als je de originele boot.iso cd wil aanvullen met bijvoorbeeld een eigen kickstart file kun je dat doen met de volgende procedure.
  1. Maak 2 folders aan op je systeem bijvoorbeeld /tmp/bootiso en /tmp/bootisocustom.
  2. mount de originele boot.iso met het commando mount -o loop boot.iso /tmp/bootiso/  (hiervoor zijn root rechten nodig)
  3. kopieer de hele bootiso cd met het commando cp -r /tmp/bootiso/* /tmp/bootisocustom 
  4. ga naar de folder /tmp/bootisocustom met cd /tmp/bootisocustom 
  5. pas de rechten van de /isolinux folder aan met het commando chmod u+w isolinux/*
  6. kopieer je eigen kickstart file naar de isolinux folder cp <kickstart file> isolinux/ks.cfg
  7. Maak vervolgens van dit alles je eigen iso file mkisofs -o bootcustom.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/
Heb je een windows desktop beschikbaar
  1. Installeer dan winiso of andere tool.
  2. Open de boot.iso
  3. Voeg kickstart file toe in de folder isolinux
  4. Druk save 
en klaar ben je

Services
veel linux versies kennen het commando service, helaas niet alle linux versies, ipv bijvoorbeeld service vncserver start kun je ook het volgende gebruiken /etc/init.d/vncserver start
probeer eerst eens het commando /sbin/service <servicenaam> start
Je kan ipv start ook kiezen voor status stop of restart 

ifconfig.
Mocht het commando ifconfig niet werken probeer dan /sbin/ifconfig dit is zeker het geval bij RHEL.
Handige ifconfig commando's kun je hier vinden

Netwerk instellingen.
Je kan netwerk instellingen via de GUI maar ook vanaf de commandline aanpassen.
De GUI kun je vinden op system -> administration -> Network
Wil je zaken vanaf de commandline aanpassen dan zijn dit de bestands locaties incl functie

/etc/modprobe.conf     Kernel mondule die voor netwerk gebruikt moet worden
/etc/sysconfig/network linux host naam, en aan of uitzetten ipv4 of ipv6
Aanpassen van hostnaam werkt pas na een herstart, om meteen de nieuw naam te gebruiken kun je het commando hostname gebruiken. 
/etc/hosts hosts file zoals we die ook binnen Windows kennen 
/etc/resolv.conf  plaats hier de ip adressen van DNS servers en search domain 
/etc/sysconfig/network-scripts directory met scripts om netwerk devices te stopen/starten en aan te passen 
/etc/sysconfig/network-scripts/ifcfg-ethXXXX In deze file kun je de ip adressen subnet masks enz aanpassen (vul bij XXXX de ethernet kaart 1 bijvoorbeeld 0 voor de eerste kaart) ****
/etc/rc.d/init.d scripts om netwerk devices te starten als linux start 
/etc/sysconfig/networkong Deze plek wordt alleen door de GUI tool gebruikt, aanpassingen hierin hebben geen effect;
 service networking start/stop/restart
of
/etc/init.d/network start/stop/status/reload
 Mocht je geen netwerk hebben dan kan het heel goed zijn dat netwerk diensten uitstaan, hiermee kun je ze dus starten

**** voorbeeld van een ifcfg-ethXXXX file

 Netwerk kaart eth0 op DHCP in dit geval gaat het dus om het config bestand ifcfg-eth0
DEVICE=eth0 
BOOTPROTO=dhcp 
HWADDR=00:0C:29:4D:AE:45 
ONBOOT=yes
 
Netwerk kaart eth0 met een vast ip in dit geval gaat het dus om het config bestand ifcfg-eth0
 
DEVICE=eth0 
IPADDR=10.16.3.1
NETMASK=255.255.255.0 
BOOTPROTO=static 
ONBOOT=yes
# Deze instellingen zijn optioneel 
BROADCAST=10.16.3.255 
NETWORK=10.16.3.0 
GATEWAY=10.16.3.254
DNS1=10.16.3.1
DNS2=10.16.3.2
 


Om de netwerk instellingen actief te krijgen kun je 2 dingen doen namelijk de server herstarten of de netwerk device kies je voor de laatste dan heb je 2 keuzes namelijk 
ifdown <device> bijvoorbeeld ifdown eth0
ifup  <device>  bijvoorbeeld ifup eth0
als je gewoon alle kaarten wil herstarten kun je kiezen voor service netwerk restart

Registreren Redhat server.
met het commando rhn_register kun je een redhat server aanmelden bij redhat.
Na registratie zal een Redhat server zich regelmatig melden bij RedHat om te kijken of er nog taken zijn die gedaan moeten worden zoals updates.
De deamon die dit doet is rhnsd, je kan zien of deze service draait met het commando service rhnsd status.

Updaten linux server
Een linux server kun je updaten met het command yum update

Correct gebruik van rechten.
Natuurlijk kun je met su root switchen van user naar root rechten soms kun je zelfs met root inloggen, dit is echter niet de juiste manier van werken, daarom is het belangrijk gebruik te maken van sudo
met sudo kun je heel precies rechten geven op alleen de commando's die nodig zijn voor elke user of groep.
Aanpassen van de sudo configuratie doe je met visudo. deze opend te text editor die je default gebruikt, meestal is dat vi wil je een andere standaard editor dan kun je dit aanpassen met het commando 
export VISUAL="pico -w" als je pico als editor wil gebruiken
export VISUAL="nano" als je nano als editor wil gebruiken
enz
Wil je meer weten lees dat hier verder


Gebruikers account zaken

 command voorbeeld Taak/Functie
 passwd passwd met passwd kun je wachtwoorden of wachtwoord eigenschappen aanpassen, voor het laatste moet je root zijn
 id id Laten zien welke gebruiker je bent en welk groepen je zit enz enz
 sudo sudo yum update Start een commando met root rechten, Wil je meer weten lees dat hier verder 
 adduser adduser charl Voor het toevoegen van gebruikers, vergeet daarne niet het accout een wachtwoord te geven


Scripting en commandline tips en trucs
Hier onder een klein overzicht met mogelijk handige weetjes

 commando of toets combinatie voorbeeld Taak/Functie
 CTRL + r nvtdeze toets combi maakt het mogelijk om omgekeerd te zoeken in je reeds uitgevoerde commando lijst (history)
 cat cat <bestands naam>print de inhoud van het bestand op het scherm
 tail tail -f <bestand>Maakt het mogelijk om de inhoud van een file te volgen als er iets bij komt in de file dan zie je dit op het scherm
icm -f optie (follow) worden altijd de laatse lijnen gevolgd
 man man -k <commando>    man is de helpfile van linux wil je meer of een commando weten type simpel man <commando> en je krijgt alle uitleg, gebruik je de -k optie dan kun je zien waar in de man file jou commando voorkomt TIP: type q om het man af te sluiten.
 whatis whatis <commando>geeft een korte omschrijving van het commando, om snel te weten wat een commando eigenlijk doet
 ls ls -lhls is de linux versie van dir, icm met -lh lk krijg je de volledige bestandsnaam en de bestand grote te zien in Mb ipv bytes
 $random $random In deze variabele staat elke keer een willekeurig getal tussen 0 en 32767
 sleep sleep 10 &laat het script 10 seconden wachten, het & teken zorgt dat het proces op de achtergrond draaid
 if then elseif [ -z "$string" ]
then
echo "null string"
else
echo "sting not null"
fi
if / then / else statements zijn algemeen en geld voor elke script taal uitleg lijkt me dan ook niet nodig :-)
 ${#<variabele>}${#voorbeeld} Geeft de lengte van een variabele weer.
 ${<variabele>:<start van zin>}tekst="hallo het werkt"
echo ${tekst:6}

uitkomst: het werkt 
 String functies
${<variabele>:<start van zin>:<aantal letters>} tekst="hallo het werkt"
echo ${tekst:6:3}

uitkomst: het 
 String functie
 jobs jobs laat zien welke jobs er lopen in de achtergrond - jobs kunnen elk commando zijn met het & teken aan het einde
 disown disown Stopt alle jobs
 fg  haalt een job van de achtergrond naar de voorgrond
 bg  herstarten van een gepauseerde job
 wait  wacht met het verder gaan in een script tot alle jobs klaar zijn
 times  geeft informatie over jobs en hoelang ze al lopen
 find <vanaf waar zoeken> -name <wat je zoekt> find / -name *.log zoeken van bestanden in een directory
 grep <watje zoekt> file grep 'http' /var/log/voorbeeld zoeken in een bestand naar een zoekterm, met opties als grep -v '[^a-z]' pak je alleen zinnen waar alfanumerieke tekens in zitten
 sort  sorteren van bestanden wordt meestal in scripts gebruikt
 uniq  laat alleen unieke bestanden zien
 expand  veranderd tabs in spaties
 cut  voor het halen van tekst uit bestanden
 head  laat het begin van een bestand zien, default 10 regels
tr '<zoek>' '<vervan door"echo 'hallo charl' | tr 'hallo' 'doei'zoeken en vervangen van tekst handig om te weten dat je hiermee ook de waarden [:upper:], [:lower:] kun gebruiken om hoofdletters in zinnen te vervangen voor kleine letters voorbeeld echo 'HaLLo Charl' | tr '[:upper:]' '[:lower:]'
met tr -d [:punct:] kun je lees tekens verwijderen
 basename  laat alleen de bestand naam van een bestand zien zonder het hele pad
 watch watch -n 1 "cat /proc/interrupts" watch laat elke -n <seconden> het gewenste bestand zijn, dit is ideaal om bijvoorbeeld de interrupts van een virtuele server te laten zijn
   
   
   



Subpages (1): ifconfig command
Comments