Linux CLI Overzicht Piethein Strengholt ----------------Hier een overzicht van de veel gebruikte commando's. Een beter overzicht vindt je hier: http://www.oreillynet.com/linux/cmd/ 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 ) locate ( zoeken in de index ) Bestandsbeheer2: pico filename ( teksteditor ) 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 /root/php-4.1.1/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>
'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 ) 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 ) kill -09 # process nummer killall atd killall sendmail killall httpd 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) 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=halflife_test.tar hlds_l #gzip inpakken: tar cfz halflife_homedir.tar.gz hlds_l #inhoud bekijken: tar tf halflife_test2.tar.gz | les #halflife_test2.tar.gz uitpakken naar /root/test/ tar zxvf halflife_test2.tar.gz --directory=/root/test/ #Zip file uitpakken unzip hlg-1_41-en.zip -x Gebruikersbeheer: useradd -c "Piethein Strengholt" erhnam userdel erhnam passwd erhnam whoami ( welke user ben ik ) 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 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 ) Screen:
screen -d -m -S server1 ./hlds_run (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 Manual ( meer info ) man telnetd man wu_ftp Chwon: chwon [opties] gebruiker:groep file-of-dir -R is recursive ( pakt ie alle sub dirs ) chown -R erhnam:erhnam ./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/je_home/.bashrc ( instellen van je aliassen + functies ) /home/je_home/.bash_profile of
/home/je_home/.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 )