Gå till innehåll
Just nu i M3-nätverket

Hur används Terminalen?


Vega

Rekommendera Poster

Hej,

 

Som relativt ny macanvändare är jag ibland avundsjuk på alla er som kan använda terminalen. Det verkar finnas en hel del intressanta funktioner men jag är inte helt införstådd i "språket" och funktionerna som finns där. Jag känner mig dock redo att ta mig vidare till nästa nivå i Mac-användandet - Terminalen!

 

Således undrar jag om ni som är lite mer erfarna enkelt skulle kunna förklara hur terminalen fungerar och vilka funktioner som gömmer sig där för en nybörjare på området?

 

Tack på förhand till alla underbara Mac-användare som hjälper till här på forumet!

 

//Peter

Länk till kommentar
Dela på andra webbplatser

marcushedenstrom

I Terminalen finns kraften! Det du ser annars är bara lite fluff ovanpå. :D

 

I Terminalen kan du skriva textkommandon, som är små program. Det viktigaste är 'man [kommando]', vilket ger dig en manual för ett visst kommando. Och ja, man kan skriva 'man man'.

 

Fundera över vad kommandona cd, ls, pwd, chmod, cp, mv, och rm gör. Bekanta dig med dem, och hur filstrukturen på hårddisken ser ut.

 

Går även att skriva saker som top, ps -ax med flera. Fundera över vad det sistnämnda gör.

 

Vissa program kan köras i terminalen. Finns t.ex. inbyggda FTP-klienter (ftp) och för att läsa mail. Kanske vore det kul att kontrollera iTunes genom att skriva t.ex. 'itunes play' och få iTunes att börja spela.

http://www.macosxhints.com/article.php?sto...011108211802830

 

Din "path" är där programmen finns. Lägg iTunes-scriptet i /usr/bin. Du måste autentisera dig som superuser med 'sudo'.

Länk till kommentar
Dela på andra webbplatser

Utöver kommandot man, så finns även andra bra såsom whatis och apropos.

 

Alla kommandon som finns i Unix ligger fördelade i fyra olika mappar (directory kallas de dock i Unix). De är /bin, /usr/bin, /sbin och /usr/sbin. Vissa tilläggsprogram (som inte medföljer Mac OS X som t.ex MySQL) hamnar dock i /usr/local

 

Starta programmet Terminal, som ligger i mappen Verktygsprogram. Skriv "cd /bin". Om ni har kört Kommandotolken under Windows (eller MS-DOS) så känner ni säkert igen det kommandot. I DOS skriver man dock backslash (bakåt snedstreck) "cd \bin".

 

Kommandot cd står för change directory. Det "öppnar" den angivna mappen. I Finder kan man ha flera mappar öppna samtidigt i olika fönster. I Terminalen har man ju bara ett fönster (per Terminal-session). Man kan öppna flera fönster i Terminalen också, men de är oberoende av varandra (olika sessioner). Jag utgår från att vi bara har ett öppet fönster nu. Då kan man bara "vara inne i" EN mapp i taget. Man skriver alltså cd <namnet på mappen>

 

Det enda som händer när man trycker på returtangenten är att man får en ny prompt. En prompt är det som står i början av raden, och som visar att Terminalen är redo att ta emot ett nytt kommando. Jag kommer hädanefter att skriva prompten i mina exempel som bara ett dollartecken. Vanligtvis så står det lite information före detta dollartecken. Prompten kan också vara andra tecken som t.ex # eller %.

 

Låt oss anta att ni kallar er dator för gamlabettan, och att ert användarnamn är mizhou. Då kommer datorns namn att stå först på raden. Tecknet ~ visar i vilken mapp ni är i just nu, och just ~ betyder hemmappen, och mizhou är den användare som är ni har loggat in som.

gamlabettan:~ mizhou$

 

Om man efter dollartecknet skriver cd /bin så kommer det en ny prompt som ser ut på följande sätt:

gamlabettan:/bin mizhou$

 

Från och med nu så kommer jag dock bara att skriva prompten som $-tecken.

 

$cd /bin

$

 

 

för att sedan se vad /bin innehåller så kan man använda ls (gemena LS) som står för list structure. Det motsvarar dir-kommandot i DOS. För er som är vana vid DOS så vet ni säkert att man kan ge så kallade switchar till kommandona. En switch till ett kommando innebär att man slår på eller av en tilläggsfunktion. Om man bara skriver ls, så visas bara alla namn på filer och mappar som ligger i den aktuella mappen. Man kanske vill veta lite mer om filerna, som t.ex storlek, eller vilket datum filen senast ändrades.

 

I DOS skriver man switchar mha slash (snedstreck), som t.ex dir /p

I Unix skriver man bindestreck framför en switch t.ex ls -l

 

dir /p används ofta i DOS om man har många filer i en mapp. Om man inte använder /p så skrivs alla filnamnen ut, och när kommandot har skrivit ett filnamn på varje rad, och skärmen inte längre räcker till så scrollas allt upp och utskriften fortsätter. Det innebär att de första filnamnen snabbt försvinner upp ovanför överkanten på skärmen. /p står för Paus. Det gör att dir bara skriver ut det som får plats på EN skärmsida, och pausar sedan. För att se fler filnamn så trycker man på en valfri tangent så skrivs nästa sida ut. I Unix finns inget /p eller någon annan switch till ls som gör samma sak. Istället finns en mer generell metod för att pausa utskrifter till skärmen.

 

Det gör man genom att skicka det som ls skulle ha skrivit ut till skärmen, som inmatning till ett annat program "more". Det görs på följande sätt:

$ls | more

 

Tecknet | som står mellan ls och more kallas för pipe i Unix (annars kallas tecknet för vertical bar). Det fås genom att trycka alt-7 på tangentbordet.

 

Kommandot ls skriver nu inte ut direkt på skärmen, utan skriver till det som kallas stdout (standard out). Normalt är stdout detsamma som skärmen, men när man använder en pipe, så gör man en redirect av stdout från att representera skärmen till att skickas vidare. Även more får en redirect, eftersom den inte tar emot från tangentbordet. Det som ls ger som utdata skickas alltså som indata till more. Kommandot more skriver sedan ut till stdout.

 

På detta sätt kan man länka ihop långa rader av kommandon, och det är det som gör Unix så kraftfullt. Säg till exempel at vi har en textfil med en massa namn, som inte är sorterade i bokstavsordning. Det förekommer också dubletter av vissa namn. Vi vill nu kolla hur många olika (unika) namn denna fil innehåller, och skriva ut dessa i bokstavsordning.

 

Kommandot cat kan skriva ut en fil. Namnet på kommandot står egentligen för conCATenate, så den egentligen kan sammafoga två eller flera filer till en. Om man bara skriver cat filnamn, så kommer filen med namnet filnamn att sammafogas med stdout, vilket ju är skärmen (normalt), och den skrivs då ut på skärmen.

 

Låt oss kalla filen med alla namnen för namnlista.txt

 

$cat namnlista.txt | sort | uniq

 

cat namnlista ger alltså som utmatning allt innehåll i filen, som skickas vidare till kommandot sort (som jag hoppas att jag inte behöver förklara närmare), som i sin tur skickar vidare till uniq (som tar bort dubletter).

 

Utskriften av detta blir en lista med unika namn, som är sorterad i bokstavsordning. Säg nu att jag inte alls var intresserad av att få alla namnen utskrivna. Jag kanske bara ville veta hur många unika namn det fanns i filen.

 

$cat namnlista.txt | sort | uniq | wc -l

 

de tre första kommandona är samma som i förra exemplet. efter att uniq har kört så har vi alltså en lista med namn, där alla dubletter är borttagna, och som är sorterad i bokstavsordning. Denna lista skickas nu till programmet wc (som står för word count). Dock räknar den inte bara ord, utan kan även användas för att räkna antal rader eller antal tecken i en fil. Switchen -l till wc betyder antalet rader (lines). Eftersom vi har ett namn per rad, så får vi nu antalet unika namn. Namnen i sig skrivs inte ut, utan bara resultatet av det som wc ger ut, vilket bara kommer att innehålla siffror.

 

Jag kan försöka sätta mig ned någon dag och skriva något mer utförligt om detta. Dock inte nu. Om jag glömmer bort det, så påminn mig gärna, då mitt minne och beläggningen i vissa stekpannor påminner om varandra.

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Som relativt ny macanvändare är jag ibland avundsjuk på alla er som kan använda terminalen. Det verkar finnas en hel del intressanta funktioner men jag är inte helt införstådd i "språket" och funktionerna som finns där. Jag känner mig dock redo att ta mig vidare till nästa nivå i Mac-användandet - Terminalen!

 

Således undrar jag om ni som är lite mer erfarna enkelt skulle kunna förklara hur terminalen fungerar och vilka funktioner som gömmer sig där för en nybörjare på området?

 

Tack på förhand till alla underbara Mac-användare som hjälper till här på forumet!

 

//Peter

457139[/snapback]

 

Jag skulle till skillnad från de andra här hävda att terminalen inte alls behöver vara en del av Mac-användandet. Terminalen är för den som vill gå bortom Macen, in i Unix-världen.

 

De allra flesta har aldrig behov av terminalen, och kan göra allt de funderat på ändå.

 

Men jag är också en sån som inte blir imponerad av att iTunes börja spela musik när man skriver itunes -play när man kan göra det så enkelt som att trycka på playknappen med musen. Jag tycker om Macen för att den är lättanvänd och användarvänlig, och det kan man inte säga om terminalen.

 

Det finns massvis att lära sig om sin Mac utan att behöva använda terminalen. Men vill du ändå gå in i unix-världen så har de tidigare postarna kommit med bra sätt att börja.

Länk till kommentar
Dela på andra webbplatser

Jag skulle till skillnad från de andra här hävda att terminalen inte alls behöver vara en del av Mac-användandet. Terminalen är för den som vill gå bortom Macen, in i Unix-världen.

 

De allra flesta har aldrig behov av terminalen, och kan göra allt de funderat på ändå.

 

Men jag är också en sån som inte blir imponerad av att iTunes börja spela musik när man skriver itunes -play när man kan göra det så enkelt som att trycka på playknappen med musen. Jag tycker om Macen för att den är lättanvänd och användarvänlig, och det kan man inte säga om terminalen.

 

Det finns massvis att lära sig om sin Mac utan att behöva använda terminalen. Men vill du ändå gå in i unix-världen så har de tidigare postarna kommit med bra sätt att börja.

457751[/snapback]

Håller man på med apache, php och programmering är det dock starkt motiverat att lära sig använda terminalen, då det nästan alltid är smidigare än OS X för de sakerna.

Länk till kommentar
Dela på andra webbplatser

Håller man på med apache, php och programmering är det dock starkt motiverat att lära sig använda terminalen, då det nästan alltid är smidigare än OS X för de sakerna.

457762[/snapback]

Jag anser att enda gången man måste använda terminalen är när någon har vart för lat för att göra ett grafiskt gränssnitt för uppgiften.

Länk till kommentar
Dela på andra webbplatser

Jag anser att enda gången man måste använda terminalen är när någon har vart för lat för att göra ett grafiskt gränssnitt för uppgiften.

458646[/snapback]

Många saker går dock snabbare att göra i terminalen än i något grafiskt. Flytta filer är tro det eller ej en sådan sak man kan göra snabbare med lite träning :P Varför skall jag behöva något grafiskt till allt, när det oftast går fortare och man får mer kontroll med en terminal?

Tror det mycket är det faktiskt, känslan av kontroll helt enkelt.

Säg skapa en ny katalog i /Volumes.

I terminalen "sudo mkdir /Volumes/nymapp", det enda du behöver skriva, samt lösen för sudo då. Du behöver inte ens skriva allt det, räcker med "sudo mkdir /Vo[Tab]/nymapp" så autofylls mappnamnet Volumes i. Grafiskt? Tja, först navigera dig till /Volumes, sen skapa en mapp, vilket måste göras så att du har behörigheter för att skapa den mappen etc etc. Bleh! Kan lova dig att terminalsättet är mycket snabbare.

 

Är väl helt enkelt att många känner sig vilsna och osäkra när de inte har något grafiskt framför sig, men vet man vad man pysslar med så är terminalen ofta snabbare och lättare att arbeta med.

Länk till kommentar
Dela på andra webbplatser

Jag anser att enda gången man måste använda terminalen är när någon har vart för lat för att göra ett grafiskt gränssnitt för uppgiften.

458646[/snapback]

Du anser fel ^^

 

Att göra grafiskt interface är inte svårt, många uppgifter passar däremot mycket bättre att göra i terminal. Om ett program har en uppgift med ett flertal olika options, varför skulle det gå snabbare att ta upp ett grafiskt fönster och börja dra runt musen till en massa inställningar när du bara kan skriva in kommandot och slänga på några options typ -lDb och sen köra?

 

Nänä, när man har vant sig vid terminal genom linux och liknande känner man verkligen inte som du ^^

Länk till kommentar
Dela på andra webbplatser

Vitsen med Mac är att tuta och köra, att använda det intuitiva grafiska och slippa fundera på vad som döljer sig under "huven". Eftersom du inte är insatt i terminalen och undrar vad den gör för nytta så avslöjar din fråga att du inte ska vara och rota i den. Den dagen du behöver lära dig så vet du vad du behöver den till och kan få hjälp. Låt den vara och njut av ett enkelt och bekymmerslöst Mac-liv. Gå inte över ån efter vatten....... :whistling::ThumbsUp:

Länk till kommentar
Dela på andra webbplatser

Lär dig terminalen på en annan dator än den du använder dagligen.

 

Rota i terminalen utan kunskap kan ställa till det ordentligt.

Länk till kommentar
Dela på andra webbplatser

En bra fördel med terminalen är att man kan "tvinga" att ta bort filer som av någon anledning inte går att ta bort med Papperskorgen.

Länk till kommentar
Dela på andra webbplatser

Håller man på med apache, php och programmering är det dock starkt motiverat att lära sig använda terminalen, då det nästan alltid är smidigare än OS X för de sakerna.

457762[/snapback]

 

Njaa, denna punkt kan jag inte hålla med dig om..

Xcode är ett mycket bättre program för programmering än text-editorn "VI" (som finns i terminalen)

I Xcode får man mycket mera funktioner och hjälp, dessutom finns färg kodning (att kommandona sätts tex med grön färg o. vanlig text med brun färg)

Länk till kommentar
Dela på andra webbplatser

Njaa, denna punkt kan jag inte hålla med dig om..

Xcode är ett mycket bättre program för programmering än text-editorn "VI" (som finns i terminalen)

I Xcode får man mycket mera funktioner och hjälp, dessutom finns färg kodning (att kommandona sätts tex med grön färg o. vanlig text med brun färg)

459062[/snapback]

Orka Xcode, helt enormt program. jag använder smultron och gcc genom terminalen. Hur smidigt som helst och slipper massa enorma program som är jobbiga att använda.

Länk till kommentar
Dela på andra webbplatser

Orka Xcode, helt enormt program. jag använder smultron och gcc genom terminalen. Hur smidigt som helst och slipper massa enorma program som är jobbiga att använda.

459342[/snapback]

 

Ett enormt program med stora möjligheter.. :ThumbsUp:

Länk till kommentar
Dela på andra webbplatser

Ett enormt program med stora möjligheter..  :ThumbsUp:

459391[/snapback]

Många som inte är så insatta vet inte om detta men: Det behövs oftast inte program för programmering. Det är, precis som hemsidor, bara text. Det behövs inga avancerade program som gör moduler osv. Att du behöver är text och något som sätter ihop det. Program som Xcode är till för profesionella programmerare för att de ska slippa koda en massa grejer de redan kan för hand. Ska man göra enkla program och spel duger det hur fint som helst med en vanlig texteditor.

 

Visst finns det möjligheter i Xcode, men finns inget programmet kan göra som inte man kan göra med ren text.

Länk till kommentar
Dela på andra webbplatser

Många som inte är så insatta vet inte om detta men: Det behövs oftast inte program för programmering. Det är, precis som hemsidor, bara text. Det behövs inga avancerade program som gör moduler osv. Att du behöver är text och något som sätter ihop det. Program som Xcode är till för profesionella programmerare för att de ska slippa koda en massa grejer de redan kan för hand. Ska man göra enkla program och spel duger det hur fint som helst med en vanlig texteditor.

 

Visst finns det möjligheter i Xcode, men finns inget programmet kan göra som inte man kan göra med ren text.

459393[/snapback]

 

Njaa, man måste inte vara professionell programmerare för att använda xcode, min programmerings lärare rekomenderade det starkt till mig då han sa att det var väldigt användbart..

och att det går att ställa in om den ska hjälpa en på traven.. eller om du vill skriva allt själv..

Så xcode är också till för amatörer..

Och för dom som använder linux är "Kate" en bra motsvarighet.

 

Men självklart klarar man sig med Terminalen och texteditorn "VI" och en kompilerare.

Länk till kommentar
Dela på andra webbplatser

Tjena gott nytt förästen... siter här å läser igenom de ni skrivit men får de inte å fungera varken terminal eller xcode koplar faktist inte ett piss e de svårt att lära sig i början eller e de bara jag som e efter? tittat på internet om terminalen men skäms å säja det tycker de e skit svårt å fatta har ni några mer grund lägande saker jag bör veta? ha de göttans mvh fredrik

Länk till kommentar
Dela på andra webbplatser

En bra fördel med terminalen är att man kan "tvinga" att ta bort filer som av någon anledning inte går att ta bort med Papperskorgen.

459048[/snapback]

 

 

Inte riktigt sant, jag har en fil som jag inte blir av med, har försökt i Terminalen också.

En gammal fil som laddades ner i OS9 ( Datorn hade både 9.2 och OSX i början )

 

 

Det var någon glad jävel som skickade den via iChat

 

Den ligger i papperskorgen och jag blir inte av med den. Har försökt med cocktail och Onyx också

 

Danne Str?d - F?

 

2,6 MB

 

Dokument

Länk till kommentar
Dela på andra webbplatser

jag är inne lite på samma spår som Swahn...

 

Har länge försökt skapat något grafiskt program med hjälp av xcode...

Försökte med "Carbon" och "Cocoa" men vet ingenting om det och fattar fortfarande ingenting

trots många försök med tutorials från internet och liknande....

 

Ingen som har något tips på en riktigt nybörjar guide för att skapa ett grafiskt program i xcode??

Länk till kommentar
Dela på andra webbplatser

Det absolut lättaste sättet att göra grafiska program som jag vet är java. Swing är väldigt lätt att lära sig och jobba med. (Sen finns det Cocoa grejer i xCode där man bara väljer o sätta en knapp nånstans så kommer den dit.. men då känns det inte riktigt som programmering längre utan mer nån form av grafisk design.)

Länk till kommentar
Dela på andra webbplatser

Jag uppskattar att ni vill uppmäksamma mig på de potentiella risker som finns med att använda terminalen, men min huvudfråga var att jag vill lära mig använda Terminalen - ett medvetet val.

Jag tycker det är intressant att lära mig nya saker, och hur de saker som finns runtimkring mig egentligen fungerar. Att ha ett spännande gränssnitt som gömmer sig i datorn utan att ens försöka förstå mig på det får mig att känna mig lite misslyckad.. Att jag ännu inte rikigt vet vad jag ska använda det till är inte så konstigt, det kommer nog! Vem kände att de behövde mobiltelefoner innan de fanns? Nu skulle de flesta inte klara av att leva utan de..

Jag tror att det finns en hel del för- och nackdelar med att använda Terminalen, men jag skulle ändå uppskatta om tråden kunde bibehålla något av det som ursprungligen var intentionen. :)

Tack till alla! :)

Länk till kommentar
Dela på andra webbplatser

Jag uppskattar att ni vill uppmäksamma mig på de potentiella risker som finns med att använda terminalen, men min huvudfråga var att jag vill lära mig använda Terminalen - ett medvetet val.

Jag tycker det är intressant att lära mig nya saker, och hur de saker som finns runtimkring mig egentligen fungerar. Att ha ett spännande gränssnitt som gömmer sig i datorn utan att ens försöka förstå mig på det får mig att känna mig lite misslyckad.. Att jag ännu inte rikigt vet vad jag ska använda det till är inte så konstigt, det kommer nog! Vem kände att de behövde mobiltelefoner innan de fanns? Nu skulle de flesta inte klara av att leva utan de..

Jag tror att det finns en hel del för- och nackdelar med att använda Terminalen, men jag skulle ändå uppskatta om tråden kunde bibehålla något av det som ursprungligen var intentionen. :)

Tack till alla! :)

459827[/snapback]

 

 

Som sagt

 

Lär dig terminalen på en äldre begagnad dator. Inte den du arbetar på dagligen.

 

Och böcker borde finnas. www.adlibris.se MacIntosh terminal.

 

Sök på den här sidan, så får du fram ISBN-nummer till bra böcker om Mac m.fl. http://www.davidpogue.com/

Länk till kommentar
Dela på andra webbplatser

Många saker går dock snabbare att göra i terminalen än i något grafiskt. Flytta filer är tro det eller ej en sådan sak man kan göra snabbare med lite träning :P Varför skall jag behöva något grafiskt till allt, när det oftast går fortare och man får mer kontroll med en terminal?

Tror det mycket är det faktiskt, känslan av kontroll helt enkelt.

Säg skapa en ny katalog i /Volumes.

I terminalen "sudo mkdir /Volumes/nymapp", det enda du behöver skriva, samt lösen för sudo då. Du behöver inte ens skriva allt det, räcker med "sudo mkdir /Vo[Tab]/nymapp" så autofylls mappnamnet Volumes i. Grafiskt? Tja, först navigera dig till /Volumes, sen skapa en mapp, vilket måste göras så att du har behörigheter för att skapa den mappen etc etc. Bleh! Kan lova dig att terminalsättet är mycket snabbare.

 

Är väl helt enkelt att många känner sig vilsna och osäkra när de inte har något grafiskt framför sig, men vet man vad man pysslar med så är terminalen ofta snabbare och lättare att arbeta med.

458784[/snapback]

Om jag skulle få för mig att skapa en mapp i /Volumes skulle jag också använda terminalen, men är man av den användartyp som förstår vad man ska med en sån mapp till så tror jag redan man kan terminalen. :)

Länk till kommentar
Dela på andra webbplatser

Jag uppskattar att ni vill uppmäksamma mig på de potentiella risker som finns med att använda terminalen, men min huvudfråga var att jag vill lära mig använda Terminalen

459827[/snapback]

Läs mitt långa inlägg ovan, där jag tar upp en del saker. Om du sedan vill veta mer, så fråga gärna.

Länk till kommentar
Dela på andra webbplatser

Utöver kommandot man, så finns även andra bra såsom whatis och apropos.

 

Alla kommandon som finns i Unix ligger fördelade i fyra olika mappar (directory kallas de dock i Unix). De är /bin, /usr/bin, /sbin och /usr/sbin. Vissa tilläggsprogram (som inte medföljer Mac OS X som t.ex MySQL) hamnar dock i /usr/local

 

.... KLIPP KLIPP ....

 

Jag kan försöka sätta mig ned någon dag och skriva något mer utförligt om detta. Dock inte nu. Om jag glömmer bort det, så påminn mig gärna, då mitt minne och beläggningen i vissa stekpannor påminner om varandra.

457304[/snapback]

 

 

Mäktig introduktion! :ThumbsUp:

 

Skåpmat för mig :whistling: men nått jag inte fått kläm på är varför Unix-filstrukturen ser ut som den gör, och vad som ska hamna var (dvs allt utom mapparna Users/Applications/System). Varför 4 "bin"-kataloger? Vad ska ligga i vad? "etc"? Vad ska hamna här egentligen? Hilfe bitte!

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...