Van DOS/Windows naar Linux HOWTO

Versie 1.3.5. 31 augustus 2000.

Deze HOWTO is opgedragen aan alle (spoedig voormalige?) DOS en Windows gebruikers die besloten hebben naar Linux, de vrije UNIX-kloon, over te stappen. Het doel van dit document is de lezer te helpen zijn of haar kennis van DOS en Windows naar de Linux omgeving om te zetten, als ook in het voorzien van hints in het uitwisselen van bestanden en bronnen tussen de twee OS'sen.

Introductie

Is Linux iets voor jou?Laten we politiek correct beginnen. In dit document heb ik het over ``Linux'', maar ik bedoel ``GNU/Linux''. Ga alsjeblieft naar om te zien waarom.Wil je van de DOS/Windows wereld naar Linux overstappen? Goed idee: Linux is technisch gezien superieur aan DOS, Windows 9x en zelfs Windows NT. Maar pas op: misschien dat het niet van nut is voor je. Dit zijn de belangrijkste verschillen tussen DOS/Windows en Linux:Onder Windows draaien Microsoft Office en heel veel spelletjes; wordt waargenomen als eenvoudig te installeren en configureren; het is opmerkelijk onstabiel; heeft een magere performance; crasht frequent. Onder Linux draait StarOffice, heel veel technische software en minder spellen; het kan lastig te installeren en configureren zijn; is rotsvast; feilloze performance; crashes komen zelden voor. Het is aan jou uit te maken wat je nodig hebt. Bovendien geeft Linux je kracht, maar het vraagt wat tijd te leren hoe het te benutten. Dus als je voornamelijk commerciële software nodig hebt, of als je er niets voor voelt om nieuwe commando's en begrippen te leren, kun je je beter ergens anders op concentreren. Wees je ervan bewust dat veel nieuwkomers vanwege aanvangsproblemen opgeven.Er wordt aan gewerkt Linux eenvoudiger in het gebruik te maken, maar verwacht er niet bedreven in te zijn zonder dat je heel veel documentatie hebt gelezen en het op z'n minst voor een paar maanden hebt gebruikt. Linux geeft je geen kant en klare oplossingen. Ondanks deze waarschuwingen, ben ik er 100% van overtuigd dat als je het juiste type gebruiker bent, je zeer tevreden zult zijn over Linux. Tussen twee haakjes, Linux + DOS/Win kunnen prima op dezelfde computer voorkomen.Voorvereisten voor deze howto: Ik ga ervan uit dat je bekend bent met de basiscommando's en concepten van DOS; Linux mogelijk met X Window System (afgekort tot X11) op de juiste wijze op je PC is geïnstalleerd; je shell (het equivalent van COMMAND.COM) bash is. Tenzij anders aangegeven, wordt bij dit werk uitgegaan van dat 'slechte ouwe' DOS. Her en der wordt informatie over Windows gegeven, maar houd in gedachten dat Windows en Linux totaal verschillend zijn, anders dan DOS dat een of andere sobere relatie met UNIX heeft.Bedenk je alsjeblieft ook dat dit werkstuk noch een complete inleiding noch een configuratiegids is!De laatste versie van dit document is in verscheidene formaten beschikbaar op .
Voor de ongeduldigenWil je graag beginnen? Bekijk dan de volgende tabel:DOS Linux Opmerkingen ------------------------------------------------------------------------------ ATTRIB (+-)attr bestand chmod <mode> bestand totaal anders BACKUP tar -Mcvf device dir/ idem CD dirnaam\ cd dirnaam/ bijna dezelfde syntax COPY bestand1 bestand2 cp bestand1 bestand2 idem DEL bestand rm bestand let op - geen undelete DELTREE dirnaam rm -R dirnaam/ idem DIR ls niet exact dezelfde syntax DIR bestand /S find . -naam bestand totaal anders EDIT bestand vi bestand Ik denk dat je 't niet leuk vindt jstar bestand voelt als dos' edit EDLIN bestand ed bestand vergeet het FORMAT fdformat, mount, umount heel andere syntax HELP commando man commando, zelfde filosofie info commando MD dirnaam mkdir dirnaam/ bijna dezelfde syntax MORE < bestand less bestand veel beter MOVE bestand1 bestand2 mv bestand1 bestand2 idem NUL /dev/null idem PRINT bestand lpr bestand idem PRN /dev/lp0, /dev/lp1 idem RD dirnaam rmdir dirnaam/ bijna dezelfde syntax REN bestand1 bestand2 mv bestand1 bestand2 niet voor meerdere bestanden RESTORE tar -Mxpvf device andere syntax TYPE bestand less bestand veel beter WIN startx hemelsbreed verschil!Raadpleeg alsjeblieft de volgende secties als je meer nodig hebt dan een tabel met commando's.Maak kennis met bashGoed nieuws: onder Linux typ je veel minder achter de prompt, omdat de bash shell zo mogelijk voor je typt, en het heeft geweldige regelediting mogelijkheden. Om mee te beginnen, haalt de cursorpijl naar boven de voorgaande commandoregels terug; maar er is meer. Het indrukken van de <TAB> vult bestands- en directorynamen aan, dus het typen van$ ls /uTABloTABbTABis als het intikken van$ ls /usr/local/binAls er dubbelzinnigheden optreden, zoals bij het intikken van$ ls /uTABloTABiTABstopt bash omdat het niet weet of je /usr/local/info of /usr/local/include bedoelt. Voeg meer tekens toe en druk dan nogmaals op <TAB>.Andere handige toetsaanslagen zijn <ESC-BACKSPACE> waarmee een woord links wordt verwijderd, en <ESC-D> waarmee een woord rechts wordt verwijderd; <ESC-F> verplaatst de cursor één woord naar rechts, <ESC-B> naar links; <CTRL-A> verplaatst de cursor naar het begin van de regel, <CTRL-E> naar het einde. De <ALT> toets is equivalent aan <ESC>.Genoeg voor het moment. Zodra je aan deze sneltoetsen gewend raakt, zal je de DOS-prompt zeer ergerlijk vinden...Bestanden en programma's

Bestanden: Opmerkingen voorafLinux heeft een directory- en bestandsstructuur die erg veel lijkt op die van DOS/Win. Bestanden hebben namen die aan bepaalde regels moeten voldoen, worden opgeslagen in directory's, een aantal ervan zijn uitvoerbaar, en hiervan hebben de meeste commando-switches. Bovendien kun je gebruik maken van wildcard characters (jokertekens), redirection en piping (het omleiden/doorsturen van uitvoer). Er zijn slechts een paar kleine verschillen: onder DOS zijn de bestandsnamen in de zogenoemde 8.3 vorm; b.v. NOTENOUG.TXT. Onder Linux kunnen we dat beter. Als je Linux installeerde door gebruik te maken van een bestandssysteem als ext2 of umsdos, kun je langere bestandsnamen gebruiken (tot aan 255 tekens), en met meer dan één punt: bijvoorbeeld: Dit_is.een.ZEER_lange.bestandsnaam. Merk alsjeblieft op dat ik zowel gebruik maakte van hoofdletters als kleine letters: in feite... worden hoofdletters en kleine letters in bestandsnamen als verschillende tekens gezien. Daarom zijn FILENAME.tar.gz en filename.tar.gz twee verschillende bestanden. ls is een commando, LS is een fout; Windows gebruikers, let op wanneer je gebruik maakt van bestandsnamen onder Linux. Als er in een bestandsnaam spaties voorkomen (niet aan te bevelen maar wel mogelijk), moet je de bestandsnaam tussen dubbele aanhalingstekens plaatsen wanneer je ernaar refereert. Bijvoorbeeld: $ # het volgende commando maakt een directory genaamd "Mijn oude bestanden" $ mkdir "Mijn oude bestanden" $ ls Mijn oude bestanden bin tmp Bovendien is het beter een aantal tekens niet te gebruiken: een aantal daarvan zijn !*$&#. er zijn voor programma's geen verplichte extensies zoals .COM en .EXE of .BAT voor batchbestanden. Uitvoerbare bestanden worden aan het einde van de bestandsnaam door een asterisk `*' gemarkeerd wanneer je het commando ls -F geeft. Bijvoorbeeld: $ ls -F Ik_ben_een_dir/ cindy.jpg cjpg* brief_aan_Joe mijn_1e_script* oud~ De bestanden cjpg* en mijn_1e_script* zijn uitvoerbare bestanden, dat wil zeggen ``programma's''. Onder DOS eindigen backupbestanden op .BAK, onder Linux eindigen ze op een tilde `˜'. Een bestand waarvan de naam begint met een punt wordt als verborgen aangemerkt. Voorbeeld: het bestand .Ik.ben.een.verborgen.bestand zal na het commando ls niet worden getoond; DOS programma switches worden verkregen met /switch, Linux switches met -switch of --switch. Voorbeeld: dir /s<tt> wordt ls -R. Merk op dat veel DOS programma's, zoals PKZIP of ARJ, switches in de stijl van UNIX gebruiken. Je kunt nu naar de sectie gaan, maar als ik jou was zou ik verder lezen.
Gebruik van directory's

Directory's: Opmerkingen voorafWe hebben tussen bestanden onder DOS/Win en Linux verschillen gezien. Wat betreft directory's is de root directory onder DOS/Win \, onder Linux is het /. Evenzo worden geneste directory's onder DOS/Win gescheiden door een \ onder Linux door een /. Voorbeelden van directorypaden:DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX Linux: /home/guido/papers/geology/middle_eocene.texZoals gebruikelijk is .. de parent directory en . de huidige directory. Onthoud dat het systeem je niet toelaat overal waar je maar wil cd, rd, of md uit te voeren. Iedere gebruiker heeft zijn of haar zaakjes in een directory genaamd `home', gegeven door de systeembeheerder; op mijn PC bijvoorbeeld, is mijn homedir /home/guido.
Floppy's, Harddisks, en dergelijke Er zijn onder Linux twee manieren om devices te beheren: op de manier van DOS en op de manier van Unix. Maak je keuze.

Devices beheren zoals DOS het doetIn de meeste Linux distributies is de Mtools suite opgenomen, een set commando's welke perfect equivalent is aan de DOS tegenhanger, maar waarvan de commando's met een `m' beginnen: d.w.z., mformat, mdir, mdel, mmd, enzovoort. Ze kunnen zelfs lange bestandsnamen behouden, maar niet de bestandspermissies. Als je Mtools configureert door het wijzigen van een bestand genaamd /etc/mtools.conf (een voorbeeld is in de distributie opgenomen), kun je ook de DOS/Win partitie, de CD-ROM en de Zip-drive benaderen. Voor het formatteren van een nieuwe disk is het mformat commando echter niet geschikt. Als root zal je het volgende commando van te voren uit moeten voeren: fdformat /dev/fd0H1440.Je kunt bestanden op de diskette niet benaderen met een commando zoals bv less a:file.txt! Dit is het nadeel van het benaderen van disks op de wijze van DOS.
En hoe zit het met Windows?Het ``equivalent'' van Windows is het grafische systeem X Window System. In tegenstelling tot Windows of de Mac, werd X11 niet voor eenvoudig gebruiksgemak of voor een fraaie weergave ontworpen, maar slechts om te voorzien in grafische mogelijkheden voor UNIX werkstations. Dit zijn de belangrijkste verschillen: terwijl Windows er in de gehele wereld hetzelfde uitziet, geldt dit niet voor X11: het is veel beter te configureren. X11's algehele look wordt weergegeven door een keycomponent genaamd ``window manager'', waarin je een brede keuze hebt: fvwm, een basis maar mooi en geheugenefficiënt, fvwm2-95, Afterstep, WindowMaker, Enlightenment, en nog heel wat meer. De w.m. wordt gewoonlijk aangeroepen vanuit .xinitrc; je w.m. kan zo worden geconfigueerd zoals een venster onder Windows fungeert: je klikt erop en het verschijnt op de voorgrond. Een andere mogelijkheid is dat het naar de voorgrond wordt verplaatst als de muis erover beweegt (``focus''). Ook kan het plaatsen van vensters op het scherm automatisch of interactief zijn: als een vreemd frame in plaats van je programma verschijnt, klik dan met de linkermuis op de plaats waar je wilt dat het tevoorschijn komt; de meeste features kunnen worden aangepast door het wijzigen van één of meer configuratiebestanden. Lees de docs van je w.m.: het configuratiebestand kan b.v. zijn .fvwmrc, .fvwm2rc95, .steprc, enz. Een voorbeeld configuratiebestand is meestal wel te vinden in /etc/X11/window-manager-name/system.window-manager-name; X11 applicaties zijn geschreven met behulp van speciale library's (``widget sets''); aangezien er verscheidene beschikbaar zijn, zien de applicaties er anders uit. De meest fundamentele applicaties zijn degenen die gebruik maken van de Athena widgets (2--D look; xdvi, xman, xcalc); anderen maken gebruik van Motif (netscape), anderen gebruiken nog steeds Tcl/Tk, Qt, Gtk, XForms, of wat je ook maar hebt. Bijna al deze library's voorzien in ruwweg dezelfde look en feel als Windows; de feel kan helaas verwarrend zijn. Als je bijvoorbeeld met behulp van de muis een regel tekst selecteert en de <BACKSPACE> indrukt, verwacht je dat de regel zal verdwijnen, nietwaar? Met op Athena gebaseerde applicaties werkt dit niet, maar dit werkt wel zo met andere widget sets; hoe schuifbalken en het wijzigen van de grootte werkt is afhankelijk van de w.m. en de widget set. Tip: als je bemerkt dat de schuifbalken niet zo werken als je verwacht, probeer dan de middelste knop of de twee knoppen samen om ze te verplaatsen; applicaties hebben standaard geen ikoon, maar ze kunnen er meerdere hebben. De meeste w.m. hebben een menu wat je kunt openen door op de desktop te klikken (``root window''); onnodig te zeggen dat het menu kan worden aangepast. Voor het wijzigen van de opmaak van het root window gebruik je xsetroot of xloadimage; het klembord kan slechts tekst bevatten, en gedraagt zich vreemd. Zodra je tekst hebt geselecteerd, is het al naar het klembord gekopieerd: verplaats je naar elders en druk voor het plakken op de middelste knop. Er is een applicatie genaamd xclipboard, welke in meerdere klembordbuffers voorziet; slepen en neerzetten is een optie, en is alleen beschikbaar als je X11 applicaties en/of een w.m. gebruikt dat dit ondersteunt. Met dit te hebben gezegd is er goed nieuws voor je. Er zijn projecten die zich richten op een zelfde look en feel en het fungeren van X11 als Windows. Gnome, , en KDE, , boezemen eenvoudigweg ontzag in. Zeer waarschijnlijk maakt je distributie van één of beiden gebruik. Je zal geen spijt meer hebben van je Windows desktop!Aanpassen van het systeem

Systeem Initialisatie Bestanden Twee belangrijke bestanden onder DOS zijn AUTOEXEC.BAT en CONFIG.SYS, die tijdens de systeemstart worden gebruikt om het systeem te initialiseren, een aantal omgevingsvariabelen, zoals PATH en FILES in te stellen, en mogelijk een programma of batchbestand op te starten. Daar bovenop heeft Windows het beruchte register---één van de slechtste ideeën ooit in de computerwetenschap.Onder Linux zijn er heel veel initialisatiebestanden te vinden, waar je van een aantal maar beter af kunt blijven totdat je exact weet wat je aan het doen bent; ze zijn te vinden in de /etc directory. Alle configuratie kan worden gedaan door het wijzigen van gewone tekstbestanden. Als je alleen het PATH en andere omgevingsvariabelen hoeft in te stellen, of je de loginberichten wilt wijzigen of bij het inloggen automatisch een programma op wilt laten starten, kijk dan eens naar de volgende bestanden:BESTANDEN OPMERKINGEN /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'sAls het laatste bestand voorkomt (het is een verborgen bestand), zal het na het inloggen worden ingelezen, en de commando's die erin staan zullen worden uitgevoerd.Voorbeeld---kijk naar dit .bash_profile bestand:# Ik ben commentaar echo Omgeving: printenv | less # equivalent aan commando SET onder DOS alias d='ls -l' # eenvoudig te begrijpen wat een alias is alias up='cd ..' echo "Ik herinner je eraan dat het pad gelijk is aan "$PATH echo "Vandaag is het `date`" # gebruik de uitvoer van het commando 'date' echo "Prettige dag, "$LOGNAME # Het volgende is een "shell functie" ctgz() # Toon de inhoud van een .tar.gz archief. { for file in $* do gzip -dc ${file} | tar tf - done } # einde .profile$PATH en $LOGNAME, je raadde het goed, zijn omgevingsvariabelen. Er zijn nog veel anderen om mee te experimenteren; bijvoorbeeld, LMP voor apps als less of bash.Door deze regel in je /etc/profile te plaatsen zal grofweg worden voorzien in het equivalent van PROMPT $P$G:export PS1="\w\\$ "
Netwerken: begrippenNiet alleen is ``Dialup Networking'' onder Linux beschikbaar, maar het is ook nog eens stabieler en sneller. De naam hiervan is ``PPP'', het protocol dat wordt gebruikt voor het maken van een verbinding met het Internet met behulp van modems. Het enige wat je hiervoor nodig hebt is een utility waarmee kan worden gebeld en de verbinding tot stand kan worden gebracht.Om je mail vanaf de server van je ISP op te halen, heb je een tool genaamd ``email fetcher'' nodig welke het POP protocol gebruikt; wanneer de mail is opgehaald, zal het lijken alsof het direct naar je Linux-box werd bezorgd. Vervolgens gebruik je een MUA (Mail User Agent) zoals pine, mutt, elm of een van de vele anderen om het te beheren.Terwijl de dialer onder Windows automatisch wordt aangeroepen wanneer je een Internet applicatie start, gaat het bij Linux net andersom: je belt eerst, en vervolgens start je de applicatie op. Een ding genaamd diald voorziet in het gebruikelijke functioneren. Het installeren en configureren van dialup networking was één van de moeilijkste taken onder Linux, maar dit is niet meer zo: raadpleeg alsjeblieft de Configuratie HOWTO.Als laatste, iets over ``Network neighborhood'': je kunt je Linux-box als Windows NT/9x in een lokaal netwerk met Windows computers laten verschijnen. Het magische woord is Samba: niet de levende Braziliaanse dans, maar een implementatie van het SMB-protocol voor Linux. Ga hiervoor naar .Iets over programmeren

Shell Scripts: .BATch bestanden Als je gewend was .BATch bestanden aan te maken als shortcuts voor lange commandoregels (ik deed dit veel), kan dit doel worden bereikt door de passende alias regels in profile of .bash_profile in te voegen. Maar als je gecompliceerdere .BATch bestanden gebruikte, dan zal je de scripttaal die beschikbaar is door de shell weten te waarderen: het is zo krachtig en goed als de oude QBasic, zo niet beter. Het bevat variabelen, structuren zoals while, for, case, if... then... else, en heel veel andere mogelijkheden: het kan een goed alternatief zijn voor een ``echte'' programmeertaal.Voor het schrijven van een script---het equivalent van een .BATch bestand onder DOS---hoef je slechts een standaard ASCII-bestand met de instructies te schrijven, het op te slaan, en het vervolgens uitvoerbaar te maken met het commando chmod +x <scriptfile>. Typ de naam ervan in, om het uit te laten voeren.Een waarschuwing. De systeem editor wordt vi genoemd, en mijn ervaring is dat nieuwe gebruikers het erg moeilijk in 't gebruik vinden. Ik ga niet uitleggen hoe je het kunt gebruiken; raadpleeg alsjeblieft Matt Welsh's boek of zoek naar een tutorial op het net. Ik volsta met hier te zeggen dat:je een `i' intikt en dan je tekst, om tekst in te voegen;je <ESC> dan `x' intikt, om tekens te verwijderen;je typt <ESC> dan :q!, om vi zonder opslaan te verlaten;typ <ESC> dan :wq, om op te slaan en te verlaten.Een goede editor voor beginners is joe: start het programma door jstar in te tikken. je krijgt dezelfde key bindings als in de DOS/Win editor. jed in WordStar of IDE mode is zelfs beter. Raadpleeg paragraaf om erachter te komen hoe je aan deze editors kunt komen.Het schrijven van scripts onder bash is zo'n veelomvattend onderwerp dat hiervoor een volledig boek nodig zou zijn, en ik zal het onderwerp hier niet verder uitdiepen. Ik geef je slechts een voorbeeld van een shellscript, van waaruit je enkele basisregels kunt halen:#!/bin/sh # sample.sh # Ik ben commentaar # verander de eerste regel niet, deze moet hier aanwezig zijn echo "Dit systeem is: `uname -a`" # gebruik de uitvoer van het commando echo "Mijn naam is $0" # ingebouwde variabelen echo "Je gaf me de volgende $# parameters: "$* echo "De eerste parameter is: "$1 echo -n "Wat is je naam? " ; lees je je_naam echo merk het verschil op: "hi $je_naam" # omsloten door " echo merk het verschil op: 'hi $je_naam' # omsloten door ' DIRS=0 ; FILES=0 for file in `ls .` ; do if [ -d ${file} ] ; then # als het bestand een directory is DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1 elif [ -f ${file} ] ; then FILES=`expr $FILES + 1` fi case ${file} in *.gif|*jpg) echo "${file}: grafisch bestand" ;; *.txt|*.tex) echo "${file}: tekstbestand" ;; *.c|*.f|*.for) echo "${file}: bronbestand" ;; *) echo "${file}: gewoon bestand" ;; esac done echo "er zijn ${DIRS} directory's en ${FILES} bestanden" ls | grep "ZxY--%%WKW" if [ $? != 0 ] ; then # exit code van laatste commando echo "ZxY--%%WKW niet gevonden" fi echo "genoeg... typ 'man bash' als je meer info wilt."
De resterende 1%Veel meer dan 1%, eigenlijk...

Draaien van DOS/Windows AppsJa, tot op zekere hoogte kun je DOS en Windows applicaties onder Linux draaien! Er zijn twee tamelijk goede emulators: Dosemu () en Wine (). De laatste wordt bij iedere release veel beter en de lijst met uit te voeren applicaties wordt steeds groter. Zelfs Word en Excel draaien eronder!
Voor het moment, het einde Gefeliciteerd! Je hebt nu een klein beetje van UNIX begrepen en bent zover om ermee beginnen te werken. Denk eraan dat je kennis van het systeem nog steeds beperkt is en dat ervan je wordt verwacht meer met Linux te oefenen om het comfortabel te kunnen gebruiken. Maar als het enige dat je moest doen een boel applicaties te verkrijgen en ermee beginnen te werken, dan is alles wat ik hierin heb opgenomen voldoende.Ik ben er zeker van dat je Linux met plezier zal gaan gebruiken en er meer over zal gaan leren -- iedereen doet dit. Ik wed ook dat je nooit meer naar DOS/Win terug zal keren! Ik hoop dat ik duidelijk ben geweest en de 3 of 4 lezers een goede dienst heb bewezen.

CopyrightCopyright (c) door Guido Gonzato, ggonza at tin.it. Dit document mag alleen onder de voorwaarden en condities uiteengezet in de LDP Licentie op worden gedistribueerd, behalve dat dit document niet in gewijzigde vorm mag worden gedistribueerd zonder toestemming van de auteur.Raadpleeg alsjeblieft de Linux Documentatie Project homepage, , als je vragen hebt.