Det har blitt en gjenganger med «Windows bashing» på jobben. Det blir fort mye sarkasme når man for lengst har forlatt Microsoft til fordel for Linux (og Mac) på hjemmefronten.
Det finnes en del helt elementære kommandoer og verktøy som Linuxbrukere tar for gitt. I Windows mangler mange av disse, og noen ganger finnes det ikke en gang usupporterte tredjepartsverktøy som kan gjøre tilnærmet samme jobben.
Mange synes kanskje det er nerdete og gammeldags å bruke terminalen, men grafiske brukergrensesnitt har sine begrensninger. Noen ganger er det faktisk helt nødvendig for å få jobben gjort. Andre ganger er det mer hendig, i stedet for å laste ned og installere verktøy som gjør samme jobben i GUI. For eksempel henter jeg ned en fil over FTP mye raskere via kommandolinja enn å laste ned, installere og konfigurere FileZilla.
Disse eksemplene er ikke uttømmende.
Kollega: — Har terminalserverne bootet i natt?
Audun:
$ uptime
uptime gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Audun til kollega: — Hm… Hvordan pokker finner man ut hvor lenge en tjener har vært oppe på Windows?!
Svaret er å filtrere eventloggen på en eventid jeg ikke kommer på i farta. Veldig logisk
Hele det grafiske brukergrensesnittet går helt bananas, og 100 kopier av vinduet blir hengende igjen i bakgrunnen når det flyttes rundt på skjermen. Startmenyen reagerer ikke i det hele tatt.
Audun: *trykker Ctrl-Alt-Backspace* — Æsj, det var visst Linux det, ja.
Ctrl-Alt-Backspace starter det grafiske brukergrensesnittet på nytt i Ubuntu.
Audun: — Jeg mistenker sterkt at denne maskinen kun kjører 10 halv duplex.
Kollega: — Burde være enkelt å finne ut…
$ sudo mii-tool eth0
sudo gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Audun: — …eller ikke
Til dags dato har jeg ikke funnet et eneste program i Windows for å vise hvilken speed og duplex nettverkskortet kjører på. Det finnes noen drivere som har innebygget verktøy for dette, men ingen frittstående, så vidt meg bekjent. Tips mottas med stor takk.
Jeg finner tilfeldigvis en glemt Windows 98-maskin mens jeg er på biblioteket for å utføre en annen jobb.
$ sudo aptitude dist-upgrade
sudo gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Audun: *Sukk*
Finnes det noen som noen gang har oppgradert en Windowsmaskin fra en versjon til en annen med success, forresten?
Audun: — Denne applikasjonen krever visst at config-fila ligger på brukerens hjemmeområde.
Kollega: — Det blir jo et lite helvete å oppdatere, når det ikke ligger sentralt?
Audun: — Jepp, men hvis vi gjør slik…
$ ln -s C:\Windows\snille_programmet.ini H:\Windows\snille_programmet.ini
ln gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Kollega: — Vi får trøste oss med at fila er relativt liten denne gangen.
Kollega: — Vi må legge inn en pause i det scriptet her for at stasjonsbokstavene skal få tid til å montere opp.
Audun: — Kan du ikke bare prøve dette?
$ sleep 3
sleep gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Audun: *Åpner Google og taster inn «sleep for windows»*
Slumber will come soon, Windows
Kollega på telefon: — Den der icacls-kommandoen du kjørte i sted, hvordan var syntaksen på den?
$ history
history gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Kollega: — Hvordan får jeg opp historikken på kommandoer i Windows?
Audun: — Pil opp.
Kollega: *trykke* *taste* *punche* — Nothing.
Audun: — Det går ikke hvis du ikke står i samme vindu som jeg skrev det i. Det var «icacls mappenavn slash grant mellomrom domene backslash brukernavn slash t»
Kollega: — At det var…?
Audun: — Ehm. Er du på MSN, eller?
Kollega: — Nei. Tar du det fonetisk?
Audun:: — Krrssshsskt! Dårlig… kcrrshsrskk… forbindelse… *klikk beeeeeeep beep beep*
Kollega: — Hvor er det nsclient er installert?
Audun:
$ which nsclient
which gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
— Doh!
Internet Explorer henger, og oppgavebehandleren vil ikke drepe den.
$ killall -9 iexplore.exe
killall gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil.
Audun: — Vent litt. Det der funker ikke…
Pskill fra Sysinternal gjør jobben…noen ganger.
Som en oppfølging til den over, så jeg på mens en kollega feilsøker nettverket.
$ ping gateway
ping-forespørsel kan ikke finne vert gateway. Kontroller navnet og prøv på nytt.
$ ping -9 gateway
Feil alternativ -9.
Audun: — Hehe, men den der fikser ikke en gang Linux.
Til de som er like frustrert som meg vil jeg anbefale Cygwin, GnuWin32, Windows Resource Kit og Windows Sysinternals. Dette holder imidlertid ikke for å bli helt fornøyd med kommandolinja; da må du nok bytte OS

Ja, det stemmer; kommandolinja i Windows er en ufattelig katastrofe. Det verste er at den var enda dårligere enn i dag på et tidspunkt da det ikke fantes annet enn kommandolinje, nemlig i DOS-dagene. Jeg gremmes når jeg tenker tilbake på det og at jeg ikke fikk høre om Linux tidligere. Å være flink i batch-”programmering” er ikke akkurat noe jeg har på CV-en og heller ikke noe jeg har hatt spesielt mye nytte av siden Windows kom heller.
Jeg klarer ikke å bruke Windows uten Cygwin. Som webutvikler er jeg helt avhengig av ‘curl’ og ‘wget’ er så utrolig mye enklere av og til enn FileZilla. Windows PowerShell hjelper litt, men er så komplisert og annerledes enn andre CLI at det ikke bare er å kaste seg i vei med. Ikke er PS en standardkomponent i Windows enda heller, så man kan ikke regne med at den finnes. Da er man egentlig like langt. Eller kort.
| 20. aug, 2008 @ 9:07
Dette Windows-greiene er da ikke så ille, jeg har hørt mange som bruker det daglig fortelle meg at det har blitt mye bedre siden Windows 3.1 og at jeg burde prøve det igjen.
Jeg forstår godt frustrasjonen beskrevet over, jeg synes også det er helt horribelt å prøve å få til selv de enkleste ting på en Windows-datamaskin. Det kan ha noe med at jeg ikke har hatt det på datamaskinen min dette årtusnet. De som kan det og bruker det daglig sier, som nevnt, at det har blitt veldig mye bedre siden Windows 3.1 og at det er ett reelt alternativ.
| 20. aug, 2008 @ 12:21
Hehe, jeg lo godt når jeg leste denne. Selv om grafiske grensesnitt i mange tilfeller er bedre alternativer enn tekstbasert (f.eks når man håndterer brukere og rettigheter), kan Windows gi meg frysninger når jeg skal gjøre helt enkle ting – som du beskriver i artikkelen. Wget, bash, ssh, cron, python osv har gjort min fritid mye enklere, og kunne definitivt gjort jobben enklere. Nå finnes det vel diverse implementasjoner av de nevnte programvarene, men på mange måter er det et nederlag å måtte installere programvare man i utgangspunktet nok skulle fått med operativsystemet
| 20. aug, 2008 @ 14:31
@Asbjørn: Jeg hadde litt troen på Powershell jeg også, og det kan faktisk ha noe for seg. Det er like fullt en stor ulempe: Powershell script kan bare kjøres der Powershell er installert.
@Øyvind: Ja, disse Windows-folka sier så mye rart
@Audun: Å installere tillegg for alt mulig hadde vært greit det, dersom det hadde vært en enkel måte å gjøre det på (hørte jeg aptitude install?).
Det går jo som regel en uke, så må man legge inn sikkerhetoppdateringer for alt «rælet» man installerer også, så en må prøve å begrense seg litt. Jeg synes nesten ikke jeg driver med annet enn å oppdatere programvare på Windows-maskiner på jobb. Man får se det positive i det: Hadde vi kjørt Linux på alt, så hadde jeg kanskje vært uten jobb
| 20. aug, 2008 @ 21:52