Tux med sprettertDet 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 :P

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 :D

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 :P