Bestandsbeheer:
cp ( copy ) mv ( move ) ls ( list ) rm -R dirnaam/ ( hele directory weghalen ) rm -rf dir dir weghalen ( zonder te vragen voor iedere file ) rm file ( file weghalen ) find . -name bestand whereis ** updatedb ( of 'createdb' = index van alle bestanden aanmaken ) (findutils moet geinstalleerd zijn!) locate ( zoeken in de index )
Bestandsbeheer2: pico filename (teksteditor) (pine moet geinstalleerd zijn) echo > test.php (leegmaken) echo commando >> test (commando toevoegen aan test) cat file >> file2 (inhoud file in file2 zetten) CommandoBeheer:
commando1 ; commando2 ; commando3 ( meerdere commando's tegelijkertijd uitvoeren ) grep ( bepaalde informatie ergens uitzoeken ) grep "modprobe scsi" ./* -r (informatie zoeken uit de files * en in subdirs) history | grep configure ( alle history oproepen met de commandline configure ) cat /home/INSTALL | grep -A25 "QUICK INSTALL (Hoofdstuk opvragen, Static)" strace /usr/local/apache/bin/httpd diff filename1 filename2 (files vergelijken op inhoud) cat /proc/mdstat ( processen bekijken -> /proc )
Bestandsrechten, chmod:
ls -al ( zie je de rechten van de bestanden )
het bestandstype is (- = gewoon bestand, d = directory, l = link, enz.); rwx zijn de permissies voor de eigenaar van het bestand (read/lezen, write/schrijven, execute/uitvoeren); r-x zijn de permissies voor de groep van de eigenaar van het bestand (read, execute); (Ik ga het niet hebben over het begrip groep, je kunt zolang je beginner bent zonder ;-0 r-x zijn de permissies voor alle andere gebruikers (read, execute).
De directory /bin heeft ook permissies: zie sectie Directory Permissies voor verdere details. Daarom kun je het bestand /bin/ls niet verwijderen tenzij je root bent: je hebt geen permissie om dat te doen. Het commando voor het wijzigen van de bestandspermissies is:
$ chmod <wieXperm> <file>
'wie' is u (user, dat is de eigenaar), g (group), o (other=anderen), X is of + of -, perm is r (read), w (write), of x (execute). Algemene voorbeelden van chmod zijn: $ chmod +x bestand
hiermee wordt de execute permissie voor het bestand ingesteld.
$ chmod go-rw bestand
hiermee wordt de read en write permissies voor iedereen behalve de eigenaar ingesteld.
$ chmod ugo+rwx bestand
dit geeft iedereen read, write en execute permissie.
# chmod +s bestand
hiermee wordt een zogenoemd ``setuid'' of ``suid'' bestand aangemaakt--- een bestand dat iedereen uit mag voeren met de privileges van de eigenaar. Je zal ongetwijfeld root suid bestanden tegenkomen; dit zijn vaak belangrijke systeembestanden, zoals de X-server. Een beknoptere manier om naar permissies te refereren is met cijfers: rwxr-xr-x kan worden uitgedrukt als 755 (iedere letter correspondeert met een bit: --- is 0, --x is 1, -w- is 2, -wx is 3...). Het ziet er moeilijk uit, maar met wat oefening zal je het concept begrijpen. root, als superuser, kan de bestandspermissies van iedereen wijzigen. LMP.
Modules laden:
insmod (module in de kernel stoppen) modprobe ( module laden ) modprobe -c ( overzicht alle modules ) lsmod ( zien welke modules er zijn geladen ) rmmod ( module unloaden ) /lib/modules/2.x.x/*. ( path modules )
Netwerkbeheer:
ifconfig eth0 hw ether 00:10:A7:18:A6:D1 (mac adres aan kaart knopen) ifconfig eth0 129.125.103.216 netmask 255.255.0.0 (vast ip onder mask 255.255.0.0 route add default gw 129.125.103.251 metric 1 (gateway toevoegen) netstat ( -a ) netstat -ea (zie een mooie lange lijst met alle processen in beeld) ifconfig -a tcpdump icmp route ( lijst te zien welke Ip wat doen en forwarden ) route delete IP ( een routing weghalen ) ifconfig ( lijst met ip gegevens ) dhcpcd -n eth0 ( ipconfig /renew op eth0 ) ifconfig eth0 up / down ( je eth0 interface neerleggen of weer activeren )
Procesbeheer en Servicesbeheer:
ps -a ( list alle processen ) ps -eaf (zie een nog mooiere lijst met alle processen) top -u apache (procesmonitor van alle processen onder gebruiker apache) kill -09 # process nummer killall httpd (beeindig alle httpd processen) chkconfig --del httpd ( bv httpd met uit te zetten ) ntsysv dig ( dns testen -> dig @e.root-servers.net . ns >root.hints ) nslookup ( dns testen ) hostname ( hostname -s -> om je hostname mee te bekijken en te veranderen ) lsof | grep LI ( geeft alle porten weer )
Bak Restarten en Afsluiten:
shutdown -h now ( shutdown ) shutdown -r now ( restart ) reboot ( restart )
SchijfBeheer:
df -h ( diskspace ) hdparm -t /dev/hda ( test snelheid hd ) quota -a ( space op shell ) mount /dev/hda: 1e drive (master) op de 1e (primary) ide-controller /dev/hdb: 2e drive (slave) op de 1e (primary) ide-controller /dev/hdc: 1e drive (master) op de 2e (secondary) ide-controller /dev/hdd: 2e drive (slave) op de 2e (secondary) ide-controller fsck /hda2 ( bv hda2 scandisken ) fdisk ( partities indelen ) mke2fs ( partities formateren ) hdparm -c1d1X69 /dev/hda (udma activeren op hda) du -skh * (directorysize weten)
In- en Uitpakken:
rpm --rebuilddb ( rpm database vernieuwen ) rpm -ivh rpm (install) rpm -Uvh rpm (upgrade) gunzip *.tar.gz ( uitpakken ) tar -xvf .tar ( uitpakken ) tar -zxvfz gunzip *.tar.gz ( meteen een gzip uitpakken ) tar -cf Create File tar tf <archive_name.tar> | less ( tonen van de inhoud ) gzip 'file' ( bestandje inpakken ) #tar inpakken: tar --create --verbose --file=bestandsnaam.tar directory
#gzip inpakken: tar cfz bestandnaam.tar.gz directory
#inhoud bekijken: tar tf bestandsnaam.tar.gz | less #bestandnaam.tar.gz uitpakken naar /home/test/ tar zxvf bestandsnaam.tar.gz --directory=/home/test/ #Zip file uitpakken unzip bestandsnaam.zip -x
Gebruikersbeheer:
useradd -c "Piethein Strengholt" piethein userdel piethein passwd piethein whoami ( welke user ben ik ) groupadd groepnaam rechten root verkrijgen met 'su' + password 'quota' en 'edquota' ( diskpercentages instellen voor users.. ook /etc/fstab aanpassen! )
Files Linken ( Symbolische Links, Snelkoppeling ala Windows maken )
ln -s locatie1 locatie2 ( om iets te linken..)
bv je wilt overal irc kunnen starten:
ln -s linux-2.4.20 linux ln -s /usr/local/bin/irc /sbin/irc ln -s /usr/local/bin/irc /bin/irc
Om een symbolische link aan te maken: $ ln -s <bestand_of_dir> <linknaam> Voorbeeld: $ ln -s /usr/doc/g77/DOC g77manual.txt
Info over Server opvragen:
top ( geheugenbeheer ) uptime ( dagen dat server draait ) uname -a ( wat draait er op het systeem ) hostname ( wat is de hostname van de server ) locate -u echo $PATH ( zien welke path er in mem staat ) free ( zien hoeveelheid geheugen ) free -m (beter leesbaar formaat)
Screen:
Met screen kunnen we programma's op de achtergrond laten doordraaien! screen -d -m -S server1 ./commando (screen starten onder naam server1) screen -X -S server1 quit (quit naar server1 sturen) screen start -> control+A , D (detachen)
Makkelijk Files Ftp-en:
ftp 'prompt' ( dan vraagt ie niet iedere keer om 'y' ) dan 'mget * wget ftpwho (om te zien wie er op de ftp allemaal is ingelogd)
Chown:
chown [opties] gebruiker:groep file-of-dir -R is recursive ( pakt ie alle sub dirs ) chown -R piethein:pietheingroup ./psybnc
chown changes the user and/or group ownership of each given file, according to its first non-option argument, which is interpreted as follows. If only a user name (or numeric user ID) is given, that user is made the owner of each given file, and the files' group is not changed.
Handige Proggies
bandmon nmap -O statistics.dedigate.com ettercap
Sendmail:
killall -9 sendmail sendmail -bd -q 30
Lilo:
lilo.conf
image=/boot/vmlinuz-2.2.14-5.0 label=linux read-only root=/dev/hda2
lilo om het weer opnieuw te laden ----------------
Iets compilen:
./configure make make install ( uninstall: make uninstall )
Config Files:
/etc/resolv.conf ( nameservers opgeslagen ) /etc/named.conf ( config file van dns - bind ) /etc/nsswitch.conf ( is een lang bestand waarin beschreven wordt waar data vandaan gehaald moet worden ) /etc/fstab ( indeling van partities en hd's ) /etc/issue ( instellen bericht voor inloggen ) /etc/motd ( instellen bericht na inloggen ) /etc/profile ( instellen $PATH en andere variabelen,enz ) /etc/bashrc ( instellen aliassen en functies, enz ) /home/homedir/.bashrc ( instellen van je aliassen + functies ) /home/homedir/.bash_profile of /home/homedir/.profile ( instellen omgeving + starten van programma's ) /etc/inetd.conf ( kan je telnet, ssh en ftp op andere porten laten draaien ) /etc/lilo.conf ( Instellingen Lilo ( bootmenu ) /var/www ( www-dir van Apache ) /etc/cron.daily/slocate.cron /usr/src/linux ( kernel-2.2.20-i686.config -> config kernel file ) /etc/sshd_config ( port veranderen ssh ! ) /var/log/messages ( log van boot etc ) /usr/src/linux/ ( map met config files voor compilen nieuwe kernel ) /etc/motd -> welcome message SSH ( bij telnet naar server/bak )
.ProgNaamRc ( Instellingen bepaalde proggies ) .inputrc: gebruikt door bash voor het definiëren van key bindings; .xinitrc: gebruikt door startx voor het initialiseren van het X Window System; .fvwmrc: in gebruik door de window manager fvwm. .joerc, .jstarrc: in gebruik door de editor joe; .jedrc: in gebruik door de editor jed; .pinerc: in gebruik door de mailreader pine; .Xdefault: in gebruik door diverse X-programma's.
"Batch"-bestand onder Linux aanmaken:
Open de Asci editor bv "pico start" Tik je tekst Sla het bestand op met Control-X Geef het execute-rechten met "chmod +x <scriptfile>" Start het bestand met ./start ( bijvoorbeeld )
Tips!
Als je scherm is volgelopen of je hangt.. Tik blindeling 'reset' in en je hebt je console terug :] Onder root 'dmesg' krijg je belangrijke meldingen van de kernel te zien 'at' is een commando om bepaalde programma's op bepaalde tijden te laten uitvoeren
export PATH="/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/bin:/bin:/usr/local/bin:/root/bin:/sbin"
X:
xf86config , xf86setup , Xconfigurator ( om je resolutie van X te veranderen ) Was dit artikel bruikbaar? ja / nee
« Ga terug