GNU/Linux, de "basics" ====================== Dit bestand is geschreven met behulp van JOE. Andere interessante/blindvriendelijke tekst-editors zijn: NANO, VI/VIM, en de zeer krachtige EMACS(/EMACSPEAK). Legende: "==" = "is hetzelfde dan/equivalent aan" Linux commando's: ls --help == dir /? (helpfile), gebruik anders man ls of info ls man man == geef de handleiding voor man (manual pages) apropos dhcp == geef de manpages die beschikbaar zijn voor dhcp ls == dir/w maar de schikking is wel verticaal, te beginnen van links boven dir == ls (dit is een ingebouwde alias) ls -l == dir maar de bestandsnamen zijn rechts van het scherm te lezen ls -l > redirect.txt == dir > redirect.txt ls -l >> RedirAndAddTo.txt == dir >> RedirAndAddTo.txt ls -l bas* == dir bas*.* /s ls -al == dir/a (ls -l + hidden files, zoals . en .. ) ls -lsa == ls -la + bestandsdikte (size) ls -al |head -3 == ls -al maar toont alleen de 3 1ste regels ls -la |head == ls -la maar toont automatisch de 10 1ste regels (default) ls |head file.txt == toon de 10 1ste regels van file.txt tail file.txt == toon de 10 laatste regels van file.txt (default) tail -3 file.txt == toon de 3 laatste regels van file.txt tail +5 idx.ori > idx.htm == redirect idx.ori vanaf regel 5 naar idx.htm head -4 brlspeak.txt == toon de 4 eerste regels van brlspeak.txt cat x |head -9 |tail -1 > y == van x, van de 9 1ste regels, redir de laatste ls -lp == ls -l maar toont een / bij een directory (bv. aaa/ i.p.v. aaa ) ls -F == ls met extra symbolen voor dirs en speciale files (dir/ exe* ...) ls -lt == ls -l maar toont de recentste bestanden eerst (zie datum/tijd) ls -l --full-time == ls -l met een completere datum+tijdmelding ls -m == dir/o/w maar op de hele breedte, alleen gescheiden door koma's ls -pm == ls -m met markering voor de directories ls -mF == ls -m met markering voor de executables en voor dirs ls -lr == ls -l maar in reverse-mode (van z tot a) ls -lrt == dir/o:d (large-reverse-by modification time) ls -lR == dir/s (large-recursive mode) ls -lR |more == dir/s/p ls -lQ == ls -l maar toont bestanden en dirs tussen aanhalingstekens ls -1 == ls -l maar toont alleen bestanden en dirs onder elkaar, links cal == toon calender showkey -m == toon hex code van key ? (toets intikken) date == date + time pwd == huidig path tonen (bv. /home/aldo ) tty == huidige console tonen (bv. /dev/tty3 = 3de "venster") hostname == toon de naam van de machine (bv. darkstar) uname -a == toon alle machine- + systeem-informatie lsmod == toon de geinstalleerde modules uptime == toon hoe lang de machine aan ligt, aantal users en verbruik free == geef info over het gebruik van het virtueel werkgeheugen top == geef huidig gebruik van geheugen in real-time cat /proc/version == toon kernel en gcc versie cat /dev/scd1 | md5sum >md5 == test en zet md5sum van cdr/rw in md5 ps == toon alle actieve processen (gebruik kill om een proces te "doden") ps ax == geef meer details over alle afgehandelde processen w == toon applicaties die door alle users momenteel in gebruik zijn setleds == toon/wijzig de actieve keyboard sets setleds +num == zet numlock aan setleds -num == zet numlock af setleds +caps == zet capslock aan setserial /dev/ttyS0 -a == geef informatie over COM-poort 1 clear == cls reset == maak een reset van de console (bv. na een kill-opdracht) chmod +x go == attrib (+x) go (x = executable, dit bestaat niet onder DOS) chmod 777 txt == attrib (rwx) read/write/exe voor "user", "group" en "other" chown aldo .lynxrc == maak aldo eigenaar van .lynxrc (change owner) chown aldo:aldo fifi == maak fifi eigendom van aldo en van groep aldo chgrp aldo fifi == maak fifi eigendom van groep aldo groups == toon tot welke groepen user behoort adduser aldo cdrom == voeg aldo toe aan group cdrom chroot /mnt/lin/root == maak van /mnt/lin/root de root directory adduser olr == schrijf olr in als user passwd == wijzig het paswoord van de gebruiker su root == geef aan "user" root privileges (exit maakt het ongedaan) su orwell == geef orwell root prioriteiten su == su root su - == su root maar springt meteen naar de /root dir cd ~ of cd == terug naar de home directory cd .. == cd.. cd ../xxx == cd.. (+) cd xxx (naar een dir van het zelfde niveau springen) cd ~/aa == cd ~ (+) cd aa (op voorwaarde dat aa onder /home/gebruiker ligt) cd /lib/modules/2.2.19/net == ga naar \lib\modules\2.2.19\net cat /var/lib/dpkg/available |more == type \var\lib\dpkg\available.|more more /proc/pci == toon PCI card's I/O poortadres en irq lspci == toon in 't kort wat de apparaten zijn (ETH, SCSI,...) lspci -v == toon in detail wat de apparaten zijn (ETH, SCSI,...) cat text.txt |less == type text.txt|more met pijl omhoog/omlaag-faciliteit less /etc/passwd == cat /etc/passwd |less cat /proc/partitions == fdisk /status (toont alle partities) cat /var/log/messages > logf.txt == copy log-file naar logf.txt cat file >> dest.txt == copy file naar dest.txt (toevoegen) cat *.txt >> AllTxtsIn1F == copy *.txt >> AllTxtsIn1F (toevoegen) uniq -u txt == cat txt maar brengt blanco lijnen terug tot max. 1 lijn echo Hi man! >> hi.txt == echo Hi man! >> hi.txt (echo == echo onder DOS) echo 'cat txt |less' > readme == plak de opdracht '...' in readme echo $PATH == toon het path echo -ne "\a" == alarm (beep) touch file.txt == maak een lege bestand touch.txt aan sleep 3 == pauzeer gedurende 3 sedonden du == toon de totale dikte van de huidige directory (bv. 361 K aan data) du / -ks == du / in kilobytes en summarized du -ksh == du in kilobytes en summarized, in mensentaal weergegeven du -ksH == du -ksh, maar de blocks zijn 1024K i.p.v. 1000K du -sH == du summarized en human du -sHx == du summarized en human, maar op dit filesystem du |sort -n == toon de grootste dirs, gesorteerd du -S |sort -n == toon de grootste dirs, gesorteerd (geen subdirs) df == toon totale, gebruikte en nog vrij beschikbare schijfruimte find /home/ -name *.mp3 == zoek alle .mp3 bestanden vanaf /home/ find / -name "brl*" -ls >d.txt == zoek/ls/redir vanaf / alle brl* bestanden find / -name '*' | xargs grep -l Aldo == zoek Aldo op de ganse schijf find / -name '*' -print0 | xargs -0 grep -l Al Do == zoek Al Do (2 woorden) find . -name "ne*" -print == zoek naar bestanden met "ne*" erin grep http *.txt == zoek en toon alle regels waar http in zit grep-available -P dhcp == zoek dhcp in de available list dpkg -l |grep links == toon versie van geinstalleerde links package wc file.txt == geef het aantal regels, woorden en bytes van file.txt file mm.txt == geef meer info over de specificaties van het bestand mm.txt whereis pdftotext == localiseer het binair bestand, bron en manpages ldd /usr/bin/joe == geef library dependenties-info voor joe type pine == toont het path van het pine executable cp file.txt dest.txt == xcopy file.txt dest.txt cp -p ../xx . == xcopy ..\xx . met behoud van de datum cp mydir/* destdir == alles uit mydir kopiëren naar destdir cp /mnt/c/zz.txt . == xcopy c:\zz.txt naar . (/mnt/c is hier = hda1 = c:\) cp -r /mnt/cdrom/wavs ~ == xcopy cdrom:\wavs /s /home/user dd --help == diskcopy /? (maar dd is anders dan zomaar een diskcopy) dd if=/dev/fd0 of=image.img == diskcopy inputfile (floppy) naar image.img dd if=image.img of=/dev/fd0 == diskcopy image.img naar outputfile (floppy) dd if=/dev/fd0u1440 of=x.img conv=noerror == dd maar forceer 1,44 & no error dd if=boot.img of=/dev/fd0 bf=1024 == cp een Deb bootdisk-image op floppy badblocks /dev/hd?? == zoek badblocks op /dev/hd?? mkdosfs /dev/fd0 == creeer een DOS filesystem op een diskette mke2fs /dev/fd0 == zet een ext2 systeem op een diskette e2fsck /dev/hda5 == chkdsk /f /dev/hda5 fdformat /dev/fd0 == low-level formattering mkboot == maak een bootdisk superformat == format rm text.txt == del text.txt (remove) rm tex* == del tex*.* rm tex* -i == del tex*.* /p rm -- -.inf == del -.inf rm ./-.inf == del -.inf mv text.txt othername.txt == ren text.txt othername.txt (move) mkdir == md rmdir == rd rm -rf mydir == deltree /y mydir whoami == "wie ben ik" = root of user (heeft geen equivalent onder DOS) who == toon alle gebruikers die aangesloten zijn op het systeem alias cls=clear == maak een alias "cls" aan voor de opdracht "clear" alias di="ls -lp" == maak een alias "di" aan voor de opdracht "ls -lp" unalias di == undo alias di updatedb == bestandsnamen database update (geen equivalent onder DOS) locate pine == zoek pine overal op het systeem en toon de paths !! == voer de laatste opdrachtregel opnieuw uit (redo) !lyn == de laatste opdrachtregel beginnende met lyn opnieuw uitvoeren nice -n -19 vi == probeer vi de hoogste voorrang te geven in uitvoering kill 196 == proces 196 stopzetten (kill -9 pid-num forceert het stopzetten) killall brltty == stop meteen brltty killall HUP inetd == alles killen en herstarten exit == sluit af (bv. su root omschakeling, of console sluiten) reboot == ctrl+alt+del onder DOS halt == shutdown -h now == systeem stopzetten + alle processen killen Sneltoetsen: == vervolledigen: je hebt een directory /home/olr/aldo-page, je bent in /usr/doc, doe: cd ~/ald het pathname wordt automatisch weergegeven, en je kan er heen gaan : herboot het systeem +c: CTRL+C onder DOS (break) +d: logout (exit) +z: shell openen (meestal, soms ook ^KZ (Joe)) VFAT mount, om een directory/file/files op diskette te kunnen zetten: mkdir /mnt/floppy (indien de floppy directory niet bestaat) mount -t vfat /dev/fd0 /mnt/floppy nu pas: cp mydir /mnt/floppy en dan: umount /mnt/floppy Andere type schijf mounten: *C:-schijf: mount -t vfat /dev/hda1 /mnt/c (mag ook anders dan "c" heten) *Zipdrive: mount -t vfat /dev/hdb4 /mnt/zip (mag anders dan "zip" noemen) *CD-ROM: mount -t iso9660 /dev/hdc /mnt/cdrom (of anders dan "cdrom") Snel mounten met een eenvoudige opdracht: zie /etc/fstab; als je dit bestand aanpast, kan je ervoor zorgen dat de devices gemount kunnen worden met opdrachten zoals: mount /mnt/floppy mount /mnt/cdrom mount /mnt/zip Nog sneller mounten: maak een batchfile (mntzip, umntzip) en kopiêer het naar /usr/local/bin Joe, prima Turbo-Pascalachtige tekst-editor: joe file.txt == edit file.txt ctrl k h == help ctrl k b == begin blok ctrl k k == einde blok ctrl k y == blok wissen ctrl k c == blok kopiëren ctrl k m == blok verplaatsen ctrl k w == blok wegschrijven ctrl k f == zoeken ctrl k s == save ctrl k q == quit ctrl k x == exit (save & quit) ctrl k z == goto shell ctrl y == regel wissen TAR, GZIP, BZIP2, in- en uitpakken: *Om in te pakken: tar cvf file.tar . (of bv. *.txt) om een verzamelfile.tar te creëren tar rvf file.tar file.txt voegt file.txt toe aan file.tar tar cvfz ff.tar.gz *.htm maakt een tar.gz met alle .htm files tar cvfj ff.tar.bz2 *.htm maakt een tar.bz2 met alle .htm files gzip file.tar maakt van file.tar een gecomprimeerd file.tar.gz bestand bzip2 file.tar maakt van file.tar een gecomprimeerd file.tar.bz2 bestand *Om uit te pakken: gunzip (of gzip -d) file.tar.gz (decompress) bzip2 -d file.tar.bz2 doet hetzelfde maar voor bz2 bestanden tar xvf file.tar pakt het archiefbestand .tar uit tar xvfz file.tar.gz pakt het bestand .tar.gz uit tar xvfj file.tar.bz2 pakt het bestand .tar.bz2 uit *PK/WINzip-files in/uitpakken: dit doe je met unzip (unzip -d bestand.zip) of inpakken met zip (zip zz.zip *) Lynx: *Connect/disconnect: je dient wel als root in te loggen: pon == PPP On == verbinden (Debian) (bv. pon XS2THENET is wat je intikt); na de verbinding: even wachten, dan: lynx of lynx -popup en: g (go) Afloggen: poff Nota: je kan ook een executable bestand maken die de opdracht "pon PROVIDER" vervangt. Gebruik chmod +x file om van file een executable te maken. Om vervolgens file te starten typ je: ./file (je mag ook file in /usr/local/bin kopiëren, dan hoeft ./ niet meer) *Een doc downloaden: backspace d save to disk bestandsnaam geven Om te verlaten/terugkeren: pijl links *Om parameters te wijzigen: zie lynx.cfg en .lynxrc (of o)ptions) zie ook help en k)eys voor een optimaler gebruik van het broowser Nota: je bent online, hoe kan je je IP adres opvragen? /sbin/ifconfig (dit kan erg nuttig zijn voor hulp op afstand) Pine + FetchMail + Exim: *Pine: starten met: pine e-mail index: i e-mail schrijven: c (compose) e-mail beantwoorden: r e-mail doorsturen: f e-mail bewaren: e e-mail attach bewaren: v (view) dan s (save) file attachen: ^J tekst invoegen: ^R verzenden: ctrl-x (het e-mail woordt in de verzendmap geplaatst) vernietigen: ctrl-c Andere Pine keys: m = main menu q = quit l = folder list (inbox/uitbox) a = addressbook c = compose r = manual *FetchMail: wanneer je online bent worden de e-mails meteen verzonden. Om ze binnen te halen gebruik je de opdracht: fetchmail -v of fetchmail -v -k (keep, zie wel in functie van defaults) Gebruik fetchmail -v -a om alle berichten binnen te halen (cf. defs) Gebruik fetchmail -f .fetchmailrc-xx om een config xx uit te voeren *Exim: het te verzenden E-mail wordt door Exim gepost zodra online Gebruik exim -Mrm idnrvanhetbericht om idnrvanhetbericht te verwijderen Gebruik exim -qff -v om frozen mails te proberen opnieuw te verzenden Gebruik cp /etc/exim.conf-xx /etc/exim.conf om een conf-xx uit te voeren Exporteren van Fetchmail en Exim conf-settings naar een andere Linux PC; kopiëer de volgende bestanden op diskette/zip: /etc/exim.conf + /etc/email-addresses (voor Exim) en /root/.fetchmailrc (voor Fetchmail) Nota: je dient wel de machinenaam aan te passen; heet de "nieuwe" PC bv. bluestar (en de vorige darkstar), dat moet je dit ook zo wijzigen Debian programma-update, bv. unzip: eenmaal online: apt-get update (of dselect update) de updatelijst voor de applicaties wordt binnengehaald (dit kan wel wat tijd in beslag nemen, +- 1 mb) nu: apt-get install unzip apt-get upgrade (voor alle Debian packages), of apt-get dist-upgrade Ook: apt-get --reinstall install mutt is mogelijk om een applicatie te herinstalleren Daarna: apt-get clean of apt-get autoclean (om /var/cache/apt/archives op te kuisen) Kuisoperaties kunnen ook automatisch worden uitgevoerd, bv. door Anacron. Let op: apt-get is typisch Debian, het dient om Debian apps te updaten; bv. Mutt is een Debian package, Pine echter niet... Je kan ook apt offline gebruiken: afhankelijk van de instellingen in /etc/apt/sources.list kan apt de packages van de Deb CDs afhalen. Met apt-cache dumpavail >~/packages.list wordt een lijst van packages aangemaakt en naar packages.list weggeschreven. Je kan ook dpkg -l |less uitvoeren. Om kuis te houden, bestaan ook: apt-get purge package-naam en apt-get remove package-naam Om details te krijgen over een package, vooraleer het te installeren: apt-cache show kernel-image-2.2.19 Voorafgegaan door bijvoorbeeld: apt-cache search kernel-image Om een diagnose + broken dependencies check uit te voeren: apt-get check Om een bron (bv. van Pine) binnen te halen: apt-get source pine Om te zien hoeveel packages al reeds geinstalleerd zijn op jouw Debian: dpkg --list Om te laten tellen hoeveel pakketten er precies geinstalleerd zijn: dpkg --list |wc -l Doe: dpkg |grep eth0 om meer info over de eth0 kaar te krijgen Doe: dpkg --list |grep kernel om meer info over de aanwezige kernels te krijgen PDF-to-text: pdftotext file.pdf file.txt zet file.pdf om naar file.txt pdftotext of pdftotext -h toont alle opties Sound: *Play: play file.wav om file.wav af te spelen play fi* == play file.wav (*.mmm is niet altijd nodig) play Vibrato.wav vibro 29 1.0 geeft een snel vibro-fx op Vibrato.wav play GalacticDome.wav reverb 0.9 909 109 99 geeft een planetarium-effect play CellOfMadness.wav reverb 0.9 1339 39 399 is metalig, bijna pijnlijk... play EchoMachine.wav reverb 0.9 2775 300 303 quasi-echoloop, machinaal-fx play BrightHallEcho.wav echo 0.3 3 304 0.1 geeft een grote hal effect *.au files kan je ook met play afspelen, maar het volgende werkt ook wel: cat file.au > /dev/audio *freeamp *.mp3 om alle mp3 bestanden af te spelen *bladeenc -bitrate file.wav om file.wav naar file.mp3 om te zetten *sox badsnd.wav -r 44100 cdsnd.wav om badsnd naar CD kwaliteit te converten *cdparanoia -BZ "1-" om alle CD tracks om te zetten naar WAV, te beginnen bij track 1 *met cdplay speel je een audio-track af Nota: ook met cdda2wav kan je audio-tracks naar WAV omzetten *timidity file.mid speelt file.mid af Nota: timidity f.mid -Ow1S -s 44100 -o f.wav zet f.mid om naar f.wav Bash scripts (batchfiles) maken: open een tekstbestand met Joe: joe lynxbat typ nu: #!/bin/sh en hier bv.: lynx -popup opslaan en nu nog: chmod +x lynxbat (om lynxbat executable te maken) Start nu lynxbat als root of user met: ./lynxbat (je mag ook lynxbat in /usr/local/bin kopiëren, dan hoeft ./ niet meer; vergeet niet chown te gebruiken om de eigenaar van de script te wijzigen)