DOS/Windows bestanden terughalen
Vaak is op de Unix machine een directory aangelegd, welke op alle aangesloten PC's onder DOS of Windows als een 'schijf' benaderbaar is. Veelal wordt hiervoor schijf F: gebruikt en is deze gekoppeld aan de Unix directory /usr/dos. U kunt dit controleren via de Windows verkenner. Aangezien normaal gesproken de directory /usr en alles wat daar verder nog onder hangt op de backup tape wordt geschreven, komt ook de F: drive op de backup tape terecht. Het terughalen van de bestanden van de F: schijf is daarom mogelijk met een tar commando. Hierbij wemelt het echter wel van de addertjes onder het gras.
Om te beginnen mag u niet vergeten dat u bestanden onder Unix terughaalt. Unix kent geen drive F:, maar alleen de directory /usr/dos. In de te gebruiken padnaam voor het terug te halen bestand moet daarom geen F:, maar /usr/dos worden gebruikt. Vergeet ook niet dat Unix de delen van het pad met / splitst i.p.v. \.
Windows biedt de mogelijkheid om lange bestandsnamen te gebruiken met spaties in de naam. Unix heeft daar geen problemen mee, maar moet wel worden gewaarschuwd dat er met spaties wordt gerommeld, omdat Unix normaal gesproken een spatie ziet als scheiding tussen delen van een Unix opdracht. U kunt Unix waarschuwen door bestandsnamen met spaties door aanhalingstekens (") te omgeven. Nadeel hiervan is echter dat binnen de aanhalingstekens geen wildcards worden vervangen, zodat die weer buiten de aanhalingstekens moeten worden gezet. Stel b.v. dat u alle bestanden welke met ABC beginnen in de directory F:\MIJN DIRECTORY van de tape wenst terug te halen.
- /usr/dos/MIJN DIRECTORY/ABC* werkt niet omdat Unix dit splitst in /usr/dos/MIJN en DIRECTORY/ABC*.
- "/usr/dos/MIJN DIRECTORY/ABC*" werkt niet omdat nu de wildcard * niet wordt vervangen en dus wordt gezocht naar een bestand met de naam ABC*.
- "/usr/dos/MIJN DIRECTORY/ABC"* werkt wel.
U zag in het voorbeeld al dat een deel van de naam in hoofdletters werd gegeven en een deel niet. Zoals u weet maakt Unix een onderscheid tussen grote en kleine letters. Binnen Windows is op te geven of namen met grote of kleine letters moeten worden weggeschreven. Als dit niet is opgegeven, worden vaak padnamen gebruikt welke beginnen met een hoofdletter. Als u nu dus geen flauwe notie meer heeft hoe de naam van het terug te halen bestand onder Unix precies moet zijn, bent u zeker niet de enige. Daarom is het aan te raden om voor het terughalen van een bestand uit een PC applicatie eerst eens op het Unix systeem te bekijken hoe de padnamen precies zijn opgebouwd. Hiervoor kan het ls commando worden gebruikt als het bestand inmiddels verwijderd is, anders is ook het find commando bruikbaar, zeker als de padnaam nogal lang wordt. Indien u met find werkt is het voor het gegeven voorbeeld dus noodzakelijk om te zoeken naar abc* en Abc* en ABC*. Als u het handig aanpakt, zijn hiervoor maar twee zoekopdrachten noodzakelijk :
find /usr/dos -name '[Aa]bc* '
find /usr/dos -name 'ABC*'Tot slot een simpel voorbeeld, waarbij F:\mijndir\mijn bestand van de tape moet worden teruggehaald. Bij controle blijkt het bestand onder Unix te zijn opgeslagen als /usr/dos/Mijndir/Mijn bestand. Het terughalen gaat dus met :
Op een Sun:
tar -xvf /dev/rst4 "/usr/dos/Mijndir/Mijn bestand"Op een linux systeem:
tar -xvf /dev/st0 -P --absolute-names "/usr/dos/Mijndir/Mijn bestand"Om problemen met schrijfrechten te voorkomen, kan men het beste als 'root' gebruiker inloggen voordat men een bestand van de tape gaat terugzetten.