5 enkle Terminal-triks til din Mac

Terminal IconTerminalen er et svært kraftig verktøy som man som nybegynner skal være forsiktig med.

I Terminalen kan du gjøre stort sett alt du vil og her viser vi deg noen gode Terminal-triks for nybegynnere og mer erfarne brukere.

  1. Software Update

    Skulle den innebygde Software Update i Mac OS X av en eller annen grunn svikte deg, så kan du tvinge den i gang via Terminalen. Følgende kommando oppdaterer all Apple-programvare på din maskin.

    Kommando

    sudo softwareupdate -i -a

    Husk å vær forsiktig med alle kommandoer som krever sudo da disse kjøres med fulle administrator rettigheter (hvis du har dette på maskinen).

  2. Kalender

    Vi har alle behov for å sjekke noen datoer nå og da, og det er ikke alltid like interessant å starte iCal, Entourage eller Dashboard for å få oversikten. Med en enkel Terminal-kommando kan du på sekunder finne ut hvordan kalenderen for eksempel så ut det året du ble født.

    Kommando

    cal apr 1981 viser kalenderen for april 1981.


    April 1981
    Su Mo Tu We Th Fr Sa
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30

  3. Prosessbruk

    Lurer du på hva som krever så mye av maskinen din akkurat nå? Programmet top gir deg en full oversikt over hvor mye prosseorkraft og minne de forskjellige prosessene på maskinen bruker.

    Kommando

    top


    Processes: 63 total, 3 running, 60 sleeping, 260 threads 10:04:09
    Load Avg: 0.12, 0.32, 0.40 CPU usage: 1.87% user, 3.75% sys, 94.36% idle
    SharedLibs: 7336K resident, 4676K data, 0B linkedit.
    MemRegions: 10366 total, 442M resident, 21M private, 290M shared.
    PhysMem: 461M wired, 913M active, 371M inactive, 1745M used, 302M free.
    VM: 131G vsize, 1039M framework vsize, 342647(0) pageins, 19012(0) pageouts.
    Networks: packets: 753820/787M in, 528802/85M out. Disks: 256541/3824M read, 419456/7559M written.

    PID COMMAND %CPU TIME #TH #WQ #POR #MREG RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID
    1898 top 5.6 00:01.53 1/1 0 24 33 1240K 244K 1820K 17M 2378M 1898 1893
    1893 bash 0.0 00:00.03 1 0 17 24 352K 244K 1016K 17M 2378M 1893 1892
    1892 login 0.0 00:00.06 1 0 22 56 456K 296K 1652K 18M 2379M 1892 1890
    1890 Terminal 1.1 00:02.82 6 2 113 116 3848K 29M 11M 32M 2700M 1890 108
    1885- WebKitPlugin 0.1 00:06.54 6 2 106 286 9596K 17M 15M 41M 978M 1834 1834
    1864 Safari 0.4 01:52.78 9 2 171 1103 142M 55M 226M 297M 5019M 1864 108
    1834 WebKitPlugin 0.0 00:00.01 2 2 28 52 536K 244K 1008K 41M 2401M 1834 108

  4. Avslutt en prosess

    Har noen av prosessene hengt seg? Da kan du avslutte dem med kommandoen kill og ID-nummeret til prosessen.

    Kommando

    kill PID 478

    Vær oppmerksom på at dette avslutter prosessen og i programmer hvor du ikke har lagret data, vil dataen forsvinne. Er prosessen virkelig vanskelig å få avsluttet kan du prøve med kommandoen kill -9 PID 478. 478 er prosess IDen til prosessen du prøver å avslutte.

  5. Finn din IP-adresse

    Lurer du på hva din IP-adresse er? Med kommandon ifconfig vil du få svaret på et par sekunder.

    Kommando

    ifconfig | grep inet

nyfrelsts bilde

nyfrelst

Noen tips til hvor man kan lære seg det språket der? "Terminal språket"

LarsPs bilde

LarsP

Språket er:
navn_på_program [evt. argumenter]

qualbeen

Terminal-språk er unix-common så og si, og er noe som kommer av seg selv etter alt for mye trøbling og knoting i nettopp Terminalen. Det gjelder å ikke være for redd med å prøve seg frem - dog helst uten å ødelegge for mye samtidig :p

Tips: "[program] --help" eller "man [program]" er ofte nyttig. (uten klammeparentes)

---

Noen som vet hvordan jeg kan få Terminalen til å ikke memorere duplikater? La oss si at jeg har brukt "top"-kommandoen én gang, og så "tail"-kommandoen 10 ganger etterpå. Når jeg blar opp (piltast), så holder det med "tail" én gang, trenger ikke duplikater av samme kommando...

Jeg vet det skal gå an å få løst dette - så et tips om det for ca ett år siden. Tror det var her på mac1, men det kan forsåvidt ha vært hvor som helst på det store spindelvev :p

Noen som kan hjelpe?

dabear

Vil også tipse om kommandoen "killall", som dreper/avslutter programmer basert på navn istedet for PID.

avslutte Preview: killall Preview
avslutte Word: killall "Microsoft Word"

Disse kommandoene ber bare programmene om å avslutte seg, da. Dersom du vil tvinge et program til å avslutte NÅ, bruker du killall -KILL programnavn.

Eksempel: killall -KILL "Microsoft Word"

Anførselstegnene må være med når du skal kverke et program som har et navn med mellomrom i seg.
--

qualbeen, http://stefaanlippens.net/bashduplicates

quadra800s bilde

quadra800

Jeg, for min del, lærte UNIX-kode lett når jeg først trengte det. Det er ikke så vanskelig, men bruker det ikke med mindre jeg er helt nødt.

Den ene tingen man aldri må skrive i en Terminal er "sudo rm -rf", bare så det er sagt. Ikke la noen lure dere til det!

"su root" betyr det samme som "sudo", i tilfelle noen lurte. Argumenter kan grupperes bak en enkelt bindestrek, dersom kun det bakerste, eller ingen, av argumentene krever "uttalelser", som står til argumentene.
F.eks. sudo irssi -fgc irc.homelien.no:6667

xterminator

Jeg klønet lenge i Terminal før jeg fant ut at jeg kunne slette hele linjer, slette ordet før cursor, flytte cursor til starten av linjen osv. Anbefaler alle å sjekke ut http://www.howtogeek.com/howto/ubuntu/keyboard-shortcuts-for-bash-command-shell-for-ubuntu-debian-suse-redhat-linux-etc/ for hvordan de effektivt kan navigere i Terminal

JF

Unix var i starten utgangspunktet for Linux. Så ei Linux bok eller unix bok skulle langt på veg hjelpe folk til å lære kommandoane. Det kan nok være nokre forskjellar mellom dei ulike unix og linux distribusjonane, men i hovudsak er kommandoane dei same.

Kursledaren for linuxkurset eg var på hos IBM på Vestby, hadde arbeidd med unix, Aix og sist Linux i over 30 år, og framstilte alle variantane som ulike dialekter av same språk.

Så, det burde jo være eit argument ovanfor Linux brukarar, at Macen har Unix/Linux under panseret, men det grafiske over panseret langt overgår det Linux kan by på.

Ellers ha ein god dag.

Maxima

Til quadra800

Det er jo bra å få vite hva man absolut ikke må skrive i terminal. Men det gir lisom ikke noen mening hvis det ikke samtidig gis en forklaring på hva som skjer hvis man skriver netopp dette

nicho

"rm -rf" sletter alt i den mappen du befinner deg i uten å legge det i papirkurven. En ganske nyttig kommando egentlig, men kan gjøre store skader om du er upåpasselig.

luredan

Takk for tips! Det var noen lure tastatursnarveier der jeg ikke kjente til. Synd at Alt-f og Alt-b for å flytte frem og tilbake et ord av gangen ikke ser ut til å funke på Mac. Alt-[venstre] og Alt-[høyre] funker jo heller ikke i Terminal.

Noen som vet hvordan man kan hoppe et ord av gangen i Terminal?

fmortens

en veldig nyttig kommando hvis en lurer på noe, er "apropos". Den lister opp alle kommandoer med beskrivelse som har noe med det man søker på.

Eks, hvilke kommandoer har noe med network å gjøre?

apropos network

HenrikWLs bilde

HenrikWL

[quote="nicho"]"rm -rf" sletter alt i den mappen du befinner deg i uten å legge det i papirkurven. En ganske nyttig kommando egentlig, men kan gjøre store skader om du er upåpasselig.

Ja.
sudo rm -rf /

Stakkars den som skriver dette og trykker enter. ;) Ikke noe "Er du sikker?" dialog der nei.

camlo

Hei

Unnskyld min uvitenhet, er helt ny på mac. har akkurat mottat min første, en imac24.

Dette med terminaler og "programmering", er det noe man burde/skal kunne for å bruke mac?

takk :-)

fmortens

Nei, det er kun hjelpemidler som man kan bruke hvis man vil.

Når det er sagt, er det min oppfatning at ingen tar skade av å lære seg hvordan ting fungerer.

camlo

Nei det er riktig!

Det kommer nok litt senere for min del, når jeg har vært igjennom alt på "overflaten"

PowerBook

sudo rm -rf /

nyfrelsts bilde

nyfrelst

Vil gjerne lære litt om dette terminal språket, noen tips til hvor jeg skal starte? Har ikke vært borti det før, og må begynne med helt grunnleggende ting.

Videre lurer jeg på hvordan man vet ID nummeret til prossesen man ønsker å avslutte.

Når et program henger seg så står det at man skal skrive inn kill etterfulgt av ID nr, men hvor finner jeg det nr?

Som dere skjønner er jeg rimelig grønn på dette området, men håper dere ikke tar det ille opp at jeg stiller (kanskje) tåpelige spørsmål.

HenrikWLs bilde

HenrikWL

http://www.ee.surrey.ac.uk/Teaching/Unix/

For å finne prosess ID på prosessen du vil avslutte, må du kjøre følgende kommando:

ps -ax

Så finner du programmet i listen, og noterer deg PID nummeret.

Alternativt kan du bruke kommandoen killall:

killall <prosessnavn>

Da slipper du å finne PID.

Nå skal det sies at jeg allerede kunne skrevet side opp og side ned om ps og killall kommandoen, men det er ingen vits å ta i for hardt. Dette her er det minste du trengte å vite for å få svar på spørsmålet du stilte. ;)

Hvis du vil lære mer om disse kommandoene (eller andre kommandoer etter hvert som du finner dem), bruker du man kommandoen man (ja, en kommando for å lære om kommandoer):

man <kommando>

Forbered deg på timesvis med manpage-lesning. :D

nyfrelsts bilde

nyfrelst

Tusen takk for et grundig svar, og en fin link. :-)
Gleder meg til å utforske "darlingen" min lit mer, så vi blir skikkelig kjent :-)

God Helg Til Alle ;)

trondrms bilde

trondrm

Beklager det useriøse innslaget, men man kan mye moro med #bash i Unix/Linux/OSX:

mv /dev/girl /dev/house
mount /dev/girl
touch
unzip
finger
fsck
yes
yes
yes
umount girl
zip
sleep

For de som ikke kan dette, dette er reelle kommandoer og fungerer, men ikke prøv dem. Særlig "yes" sender cpu'en din opp i 100% bruk... Nå er kanskje ikke din mac oppsatt med noen device "girl" heller :-D

LarsPs bilde

LarsP

En veldig kjekk kommando er "man", som gir deg manualen for et progam. Du kan selv sjekke hva f.eks. "rm -rf" gjør:
man rm

Manpagen forteller at:
"-r" er recursive(sletter undermapper)
"-f" er force(du blir ikke spurt om du vil slette hver fil)

En kjekk kommando i OS X er "open". Hvis du kjører
open filnavn
blir filen åpnet i standardprogrammet(samme som om du dobbelklikker på filen i finder). Hvis du står i en mappe i terminalen og trenger å åpne denne mappen i finder, kan du kjøre:
open .
("." betyr "denne mappen").

Omvendt, hvis du f.eks. vil gå raskt til en mappe du har åpen i finder i terminalen, skriver du bare "cd " og drar filen/mappen inn i terminalvinduet. Da blir hele pathen "limt" inn i der cursoren står.

Jeg tror "open" kommer fra BSD. I linux kan man bruke gnome-open.

quadra800s bilde

quadra800

@trondrm: Hahaha, kongebra :D :D :D

En annen ting; Hvis man skulle være så uheldig å fucke skikkelig opp i macen, og må nødt til å starte i 'safe mode', så er det kjekt å kunne BSD Unix-kommandoer. Og MacOS X er bygd på BSD (Berkeley Software Distribution) Unix, ja.

Enda et felt, hvor det er fordelaktig å ha et godt reportoar innen kommandoer, eller i alle fall kommandoen 'man', er når man finner guider på internett, som krever fikling i Terminal. Da er det fint å vite hva man driver med!

Og 'one more thing', det går an å skifte fargene i Terminal. Jeg gikk lei av standard-looken, og skiftet til green-on-black. Mye bedre (kulere/retro)!

HenrikWLs bilde

HenrikWL

Jeg drev mye og fiklet med FreeBSD tidligere. Langt mer enn Linux.

[ironi]
Det føltes så godt å drive med ekte UNIX i stedet for leke-"unix" som Linux shitkidsa holdt på med. Jeg var så mye bedre enn dem på grunn av dette.
[/ironi]

;)

Sånn sett så er OS X alt det jeg håpet Linux og *BSD skulle bli.

trondrms bilde

trondrm

Jeg kom til OSX fra Linux. For meg ble OSX et godt OS med et meget godt fungerende gui, samt god støtte fra programvarehus. Det er også kjekt å ha den gode gamle terminalen som jeg er meget godt kjent med fra før.

For meg er det også slik at OSX er det som, i mine øyne, Linux aldri har blitt til.

metb

Som @trondrm kom jeg også fra Linux. Dermed er det fortsatt ting jeg foretrekker å bruke terminalvinduet til.

Feks. sette opp en ssh forbindelse til epostserveren med forwarding av passende sett med porter.

Man lager en liten script fil og så kjører den i terminalvinduet. Full kontroll og enkelt å starte og stoppe.

Det er nyttig å kunne slikt, selv om det meste kan løses via et program med vakker GUI.

Personlig favoritt: fink For å kunne legge inn de få programmene som ikke fins ferdige pakker for. Og for å kunne ha flere versjoner av Python tilgjengelig. Særlig når resten av verden (arbeidsplassen) kun kjører Linux.

ggt667s bilde

ggt667

-> nyfrelst

ls /bin/

det vil gi deg ei liste over tilgjengelige "kommandoer" i terminalen, egentlig er det små programmer.

Lurer du på hvordan de brukes kan du skrive: man navnet på en slik "kommando"

f eks

man ls

lazaruzs bilde

lazaruz

i terminal skriv; emacs

så skriv doctor

:D løsningen på alt!:D

lazaruzs bilde

lazaruz

say balbalbla er også festlig :)

kan også bruke ulike voices ;)

og selvfølgelig

say mac1.no er best > mac1.wav

LarsPs bilde

LarsP

[quote="ggt667"]-> nyfrelst

ls /bin/

det vil gi deg ei liste over tilgjengelige "kommandoer" i terminalen, egentlig er det små programmer.

Alle programmene ligger ikke i denne katalogen. F.eks. kan man ved å kjøre which emacs se at emacs ligger i /usr/local/bin/. Man kan også ha programmer andre plasser ved å legge pathen til miljøvariablen PATH. Jeg har f.eks. installert wget i ~/Unix/bin.

Ellers så er "pipen" min favoritt unix-ting. Man kan pipe outputen fra et program til inputen til et annet program. Et utrolig kjekt program er grep. Om man kjører f.eks.
grep re
og skriver inn noen linjer med tastaturet, vil bare de linjene som inneholder "re" bli skrevet ut. Hvis man skriver inn

en
to
tre
fire
fem

blir dette skrevet ut

tre
fire

Siden pipen gjør at program2 tror program1's output skrives inn via tastaturet, kan man bruke grep slik for å finne alle prosesser som kjøres av brukeren "foo":

ps aux | grep '^foo'

('^' betyr at man matcher begynnelsen av en linje)

[url=http://en.wikipedia.org/wiki/Unix_philosophy]Unix-filosofien er at man har små programmer som gjør én ting, men gjør den tingen veldig bra(dvs. ikke bloatware). Man kan så vha. pipen kombinere disse primitivene på forskjellige måter(til og med måter som de som lagde programmet ikke så for seg).

ggt667s bilde

ggt667

Vel... etter å ha gått igjennom ls /bin/ ville nok de fleste ihvertfall blitt kjent med systemet, det er ikke alle "programmer" utenfor /sbin/ og /bin/ som er like flinke til å legge inn dokumentasjon med man.

I motsetning til | grep "^d" kan man bruke | grep ".php$" for å kunne liste filer som slutter med .php$ ls -lAh | grep ".php$"

decodex

@luredan: Du kan binde alt+pil venstre/høyre til kontrollkommandoen alt+b/f via innstillinger for Terminal. Åpne Preferences > Settings > Keyboard, legg til ny oppføring med action «send string to shell:» og fyll ut \033b ved å trykke escape (gir \033) og 'b'. Bind dette til 'cursor left' som 'key' og 'option' som 'modifier'. Gjør tilsvarende for høyre piltast, men bytt ut 'b' med 'f'.

Skjermklipp av panelet for å stille inn for venstre piltast:
453698

Fiskepudding

Har du flere terminalkommandoer kommanduer du ofte kjører, kan du lagre disse i en tekstfil og gjøre denne gjørbar (slik at det bare er å dobbeltklikke på denne)
For å filen kjørbar må du gi den kjørerettigheter:
chmod 777 filsti-navn
(Du kan bare dra filen inn i teminalvinduet for å få inn stien)
(777 gir alle rettigheter til å kjøre eller endre filen, så ofte greiere med litt mindre rettigheter)

For å finne ut hva rettigheter du skal sette har du 3 nivåer:

Bruker - Gruppe - Andre
og rettighetene er:
1=kjør (som et program)
2=skrivetilgang
4= lesetilgang
Slik at ønsker du å kunne lese og skrive en fil,og andre kun lese den:
Bruker =2+4=6
Gruppe = 4
Andre = 4

altså chmod 644 filsti-filnavn

fsandlie

Jeg lurer på når du skal avslutte et program, står det du må ha ID-nummeret på programmet. Men hvordan finner jeg dette program ID-nummeret?

et

Som det er blitt nevnt noen ganger tidligere gjør du det enkelt med ps. Så kan du videre filtrere med grep. For eksempel finner jeg Aquamacs slik:
ps -x | grep Aquamacs

W3p

Vet ikke om det er skrevet allerede:

update

da ser du hvor lenge maccen din har vært oppe =)

et

uptime er det vel egentlig du mener. Anngående prosesslistingen over kan man gjøre det enda litt mer omfattende for å bare få ut PIDen man skal drepe ved å bruke:
ps -x | grep Aquamacs | grep -v "grep" | awk '{ print $1" "}'
(Om man tar dette litt videre kan man skrive en line som gjør det samme som killall, men det er en annen sak.)

Er ikke Unix fantastisk!? :-D

emel

jeg sliter med og skrive passordet mitt i terminalen? hvorfor

matsjs bilde

matsj

Det at det ikke kommer opp tegn når du skriver passord er helt normalt.

Herman1

Jeg liker denne sekvensen:
[color=#00BF00]sudo periodic daily weekly monthly
Da kjøres alle de tre formene for vedlikeholdsprogrammer som plukker ut rusk og rask i systemene til Mac'en.

Normalt går de i gang én gang daglig (på min første Mac var det i tre-tiden om natten, vet ikke hvordan det er med de nye familiene, om det er blitt forandret), én gang i uken og én gang i måneden hver for seg.

Skriv inn strengen over, trykk enter og oppgi passordet for maskinen. Merk at Cursor ikke flytter seg når du skriver passordet, så du bør være oppmerksom/nøyaktig når du skriver.

Så går det litt tid mens programmene kjører, deretter får du en "kvittering" på at alt har gått bra, som blant annet inneholder noen dollartegn og navnet på maskinen din. Da kan du bare avslutte Terminal som du avslutter et hvilket som helst program.

Dette er et veldig bra alternativ til Onyx. :-D

Hilsen

  • Skriv ut artikkel
  • Abonner med RSS

Alt om iPad, iPhone og iOS

Nettradio i iTunes

Nettradio i iTunes
130 norske radiokanaler.
Få de mest populære norske, svenske og danske radiokanalene inn i en egen spilleliste i iTunes.
Oppdatert 13. mai