De följande sidorna innehåller tips som främst nya Linux-användare kan ha nytta och glädje av. Det mesta som tas upp är på ett eller annat sätt specifikt för Linux eller de vanligaste Linux-distributionerna, vilket betyder att även de som har längre erfarenhet av andra Unix-versioner förmodligen kan hitta sådant som är av intresse.
Lägg märke till att det inte är säkert att alla här nämnda kommandon/program finns installerade på en viss Linux-dator. De finns dock alltid tillgängliga, antingen på någon av de CD-skivor som medföljer distributionen, eller åtminstone för nedladdning från nätet.
För de som är vana vid Borlands integrerade programmeringsmiljö, "IDE", (Pascal, C/C++) finns räddning:
Med dessa programsystem (xwpe kör under X och de övriga i textläge) fås en Borland-liknande IDE, inifrån vilken man kan redigera, kompilera, länka, köra och avlusa program m m. En fördel är dessutom att man i samma IDE kan arbeta med flera olika programspråk och även komplettera med nya. Skulle man vilja använda editorn utan att programmera går det också fint (den textbaserade editorn anropas då som we istället). En nackdel med dessa program är dock att de fungerar dåligt när de körs via telnet (i synnerhet från Windows-burkar), och bör således köras direkt på Linux-datorn eller via X.
![[ wpe-IDE ]](gifs/wpe_c.gif)
C-programmering med wpe
Precis som disketter ska CD-ROM-skivor monteras och avmonteras. Montering kan göras med kommandot
mount /cdrom
och avmontering med
umount /cdrom
under förutsättningen att CD-ROM:et monteras i /cdrom-katalogen (och monteringspunkten definierats i /etc/fstab).
a) Disketter måste normalt monteras (ofta krävs rooträttigheter för detta) innan de kan användas. Grundkommandona för diskettmontering är
mount -t vfat /dev/fd0 /katalog
för en Win95/98-diskett och
mount /dev/fd0 /katalog
för en Linux-diskett, där /katalog är monteringspunkteni, dvs den katalog där disketten skall infogas i filsystemet. Om enheten definierats i /etc/fstab blir monteringen enklare, det räcker med att ge kommandot:
mount /katalog
Tips: För att förenkla det hela ytterligare kan man införa alias eller kommandofiler med monterings- och avmonteringskommandona.
b) Ta aldrig ut en diskett utan att först avmontera den, vilket kan göras med kommandot
umount /katalog
c) DOS-disketter kan utnyttjas genom att montera dem enligt ovan. Man kan emellertid även läsa kataloginnehåll, kopiera filer m m utan att montera dem, vilket kan vara användbart om man t ex vill ta en snabbtitt på flera disketter (eftersom man slipper på/avmonteringen). De kommandon som då används börjar alla på m (står för MS-DOS). De viktigaste av dessa kommandon är mdir, mcd, mmd och mcopy (förklaringar onödiga?). En finess som kan vara bra att känna till är att vid kopiering av textfiler kan mcopy översätta radslut mellan DOS och Linux (detta åstadkoms med alternativet –t till mcopy).
Vanliga Internet-abonnemang mellanlagrar inkommande e-post på en s k POP-server och måste hämtas därifrån. Programmet Netscape kan användas för att både hämta och läsa e-post, men om man föredrar ett annat e-postprogram (t ex pine), då får man hämta hem e-posten med ett speciellt program, t ex fetchmail, som både kan användas interaktivt och styras med en konfigurationsfil (.fetchmailrc). Se manual-sidan om fetchmail för mer information.
För att titta på, kopiera, flytta, döpa om filer, skapa kataloger m m kan man i Linux använda kommandot mc, som är ett Norton Commander-liknande menystyrt program. mc har förvånansvärt många finesser, bl a ett trevligt och lättanvänt ftp-gränssnitt (filer på fjärrdatorer kan hanteras nästan som om de befann sig på den lokala datorn), man kan manipulera tar-arkiv m m.
Midnight Commander - mc
De långa filnamnen i Windows-95/98 blir tillgängliga om man anger filsystemets typ som vfat (i st f msdos) vid montering av skivenheten (eller i /etc/fstab).
Det allmängiltigaste sökkommandot är find, vilket dock kan vara både krångligt att använda och ta ganska lång tid på sig att leverera resultat. Kommandot locate kan ofta vara ett bra alternativ. Det är mycket snabbt, vilket beror på att det utnyttjar en speciell databas vid filsökningarna (denna databas skapas och uppdateras med kommandot updatedb).
Det vanliga ftp-programmet kan vara lite svåranvänt för den som använder det sällan. En annan nackdel är att det inte kan återuppta hemtagning av filer som avbrutits. Programmet ncftp löser delvis båda problemen: Det är mer lättanvänt och klarar att återuppta avbruten filhämtning (om även servern klarar detta). Det har också andra finesser som flitiga användare kan ha glädje av. Se manualsidan för mer information.
För de som föredrar ett grafiskt FTP-program finns flera att hämta hem från nätet, bl a wxftp (se http://www.wxftp.seul.org/), som är en X-implementering av den populära WS_FTP i Windows-miljön.
Ytterligare en möjlighet att få ett trevligt ftp-gränssnitt är att utnyttja det menystyrda programmet mc som förser oss med ett "virtuellt filsystem" med vilket man kan kopiera filer mellan datorer, radera och döpa om filer på fjärrdatorer m m, som om de befann sig på den lokala datorn (se även avsnittet om Filhantering ovan).
Vissa desktopmiljöer har dessutom filhanterare varifrån man kan komma åt filer på FTP-servrar som om de fanns på den egna datorn. Om man har ett användarkonto på FTP-severn kan man med t ex KDE:s kfm skriva sitt användarnamn som en del av katalogvägen (i annat fall förutsätts anonym ftp) enligt modellen:
ftp://loginnamn@server/katalog
Programmet frågar sedan efter lösenordet och om inloggningen lyckades får man tillgång till alla sina filer på servern, som om de låg på den lokala datorn.
Med ett litet lokalt nätverk, där bara en av datorerna är Internetansluten (t ex via ett modem eller ISDN) är det möjligt att låta de övriga datorerna komma åt Internet, med utnyttjande av något som kallas IP-maskerad. Denna fungerar så att den Internetanslutna datorn (med den "officella"Internetadressen) håller reda på vilken dator i det lokala nätet som skall ha ett visst paket och vidarebefordrar detta till rätt adressat.
Vi förutsätter fortsättningen att Linux-kärnan 2.2 eller nyare används och är förberedd för användning av IP-maskerad, vilket de flesta brukar vara (med 2.0-kärna får man göra lite annorlunda).
Vi antar också att det lokala nätet utnyttjar nätadressen 192.168.1.0 (det är givetvis bara att byta ut denna adress mot den verkliga).
Ge (som root) följande kommandon på datorn som är Internet-ansluten:
echo 1 > /proc/sys/net/ipv4/ip_forward
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -j MASQ
Förklaring: Första kommandot medför att "IP-forwarding" aktiveras; andra kommandot att vidarebefordring av paket stängs av för de klienter som ej uttryckligen tillåts; tredje kommandot fastställer att vidarbefordring skall ske för de IP-adresser som börjar på 192.168.1 och som har 24 bitars nätmask (=255.255.255.0), vilket är liktydigt med alla datorer i det lokala nätet (skulle du vilja begränsa Internet-tillgången till en viss dator är det bara att ange dess adress istället).
Det enda som nu återstår är att se till att de övriga datorerna i lokala nätet använder den Internetanslutna datorn som gateway. Med Linux kan detta ordnas med de vanliga administrativa programmen (t ex Routing and gateways/Default med Red Hats linuxconf) eller helt enkelt med kommandot:
route add default gw IP-adress (t ex 192.168.1.1)
Detta fungerar även ihop med WindowsXX (gå in i Kontrollpanelen/Nätverk, TCP/IP-inställningarna och lägg till gatewayadressen).
Anmärkning: För att "permanenta" det hela lägger vi kommandona ovan i en lämplig startfil, t ex /etc/rc.d/rc.local med Red Hat Linux.
I vissa Linux-distributioner finns ett kommando som heter tree som visar kataloginnehåll i trädformat. Om kommandot anropas utan startkatalog visas innehållet i aktuell katalog och dess underkataloger. Om man bara vill ha katalogerna (ej vanliga filer) ger man alternativet -d. För att t ex se hela katalogträdet (enbart katalogerna) under /home ger man kommandot:
tree -d /home
Vid skärmutskrift av filer innehållande styrtecken, liksom vid tryck på vissa tangentkombinationer kan textterminaler börja visa grafiska i st f vanliga tecken. Terminalen kan då återställas till normalläge med kommandot reset.
a) man-kommandot (motsvarar DOS-kommandot help). OBS du måste trycka q för att avsluta. Om fel manualsida kommer upp (t ex en som behandlar en biblioteksfunktion för C-programmering i st f ett kommando) kan man specificera manual-sektionen (= 1 för vanliga kommandon) eller ge alternativet -a för att få alla manualsidor som gäller sökordet (byt med kommandot q).
b) Snygga papperskopior (på laserskrivare) fås med kommandot man -t sökord | lpr (förutsätter dock att manualsidans "källkod" finns tillgänglig).
c) Som ett alternativ till man-kommandot kan man utnyttja info, som är mer avancerat. Det är bl a "hyperlänkat", vilket gör det möjligt att "hoppa" mellan olika dokument. Programmet innehåller många kommandon och den som vill använda programmet bör först ta en titt på den "inbyggda" info-introduktionen, risken är annars stor att man snurrar till det för sig (den inbyggda presentationen kan startas genom att inne i info trycka h).
Kommandot free visar information om användning av RAM- och swap-minne.
Det finns rik tillgång till programspråk:
Programutvecklingshjälpmedel finns det också gott om:
Logga in som root enbart för att utföra sådant som kräver root-rättigheter, t ex stoppa systemet, registrera nya användare, montera/avmontera skivenheter, installera nya program m m. F ö bör man logga in som vanlig användare, bl a därför att det är lätt att göra stor skada som root, vilken har alla rättigheter (och därför av misstag t ex kan radera väsentliga filer). Behöver man tillfälligt root-rättigheter är det bättre att logga in som root med su-kommandot (root:s lösenord kommer att krävas) och när det som kräver root-rättigheter utförts återgår man till användarläge med kommandot exit.
För vanlig seriekommunikation finns bl a det textbaserade telix-liknande kommunikationsprogrammet minicom.
setterm -dump N ger en skärmdump av /dev/ttyN till en fil med namnet screen.dump i aktuell katalog. OBS detta fungerar inte med pseudoterminaler (/dev/ttypN) som används vid telnet-uppkopplingar.
top - Visa aktiva processer och deras
användning av datorresurserna (informationen uppdateras normalt var
10:e sekund, men detta kan ändras)
procinfo - Visa diverse information om
systemet, såsom minnesanvändning, tidpunkt när datorn bootades, avbrottsanvändning
m m.
Detta är normalt enkelt, men problem kan uppstå om filsystemet skadats (kan t ex hända om man stängt av datorn utan att först stoppa systemet eller om något gått snett av någon annan anledning). Vid mindre fel på filsystemet brukar startprocedurerna klara detta automatiskt (eventuellt får man svara "y" för att få korrigeringarna utförda), men vid större fel kan det bli nödvändigt att köra kommandot fsck manuellt, ibland flera ggr.
De meddelanden som systemet lämnar ifrån sig under bootningen kan studeras i efterhand med kommandot dmesg.
Slå aldrig av strömmen utan att först stoppa systemet. Detta görs snabbt och enkelt genom att logga in som "root" och ge kommandot halt eller på ett mer kontrollerat sätt med shutdown-kommandot.
Tab-tangenten har en trevlig funktion ihop med kommandotolken bash: Den kan användas för att komplettera både kommandon och vanliga filnamn.
Om man skriver en bokstav och sedan trycker på Tab fås en lista med de kommandon som börjar med denna bokstav. Skriver man två bokstäver visas de kommandon som börjar med dessa tecken osv.
Exempel:
Inskrivning av ch och 2 tryck på Tab
gav resultatet:
Om det bara finns ett kommando som börjar på de inskrivna tecknen,
då skrivs detta omedelbart ut.
Det fungerar på liknande sätt för vanliga filnamn. Om man först skriver ett kommandonamn, t ex cp, och sedan påbörjar ett filnamn och trycker Tab, då fylls namnet automatiskt ut med resterande tecken så långt som det är möjligt och man kan skriva till ytterligare tecken för att komma förbi tvetydigheter.
Många avskräcks från att redigera text med vi och emacs (de uppfattas för krångliga).
För enklare textredigering av t ex webbsidor (html-dokument) finns dock flera alternativ att tillgå. En av dessa editorer är pico som duger alldeles utmärkt till att redigera vanlig text och som fungerar utan problem vid fjärrinloggning via textterminaler.
Editorn pico
Det finns också flera X-anpassade editorer, t om en vi-variant som heter gvim (med menyer, musstöd m m - egentligen är det en grafisk version av editorn vim).
![[ vim i grafikläge ]](gifs/gvim_tips.gif)
Editorn gvim (grafikläge)
Att ändra CMOS-klockan (bestämmer den tid som datorn får vid bootning) brukar vanligen göras via datorns PROM-baserade SETUP-program vid uppstart av datorn. Lägg märke till att den tid som man sätter med date-kommandot (och motsvarigheterna i MS-DOS) inte påverkar CMOS-klockan. Med kommandot hwclock i Linux är det dock möjligt att sätta CMOS-klockan utan att utnyttja datorns SETUP-program. Det enklaste sättet att åstadkomma detta är att först sätta aktuell tidpunkt (systemtiden) med date-kommandot och sedan ge kommandot hwclock -w som kopierar (skriver) aktuell systemtid till CMOS-klockan.
I textläge har man tillgång till flera virtuella konsolterminaler. Dessa kan man växla mellan med Alt-Fx, där Fx anger en funktionstangent (F1-F6). Man kan logga in som samma eller olika användare vid de olika terminalerna och enkelt och snabbt växla mellan dem. Men glöm inte att logga ut från alla terminalerna innan du lämnar datorn. Det är även möjligt att växla från textterminaler till en X-terminal (med Ctrl-Alt-F7).
Om fönstersystemet X är konfigurerat för olika skärmupplösningar kan man byta mellan dessa med tangentkombinationen Ctrl-Alt-+ . Dessutom kan man avsluta X med Ctrl-Alt-BackSpace.
X är nätverksbaserat. vilket bl a betyder att en X-applikation kan köras på en dator (fjärrdator) och resultatet visas på en annan (lokal dator eller X-terminal). Det finns flera sätt att åstadkomma detta och vi ska här ge exempel på hur man kan bära sig åt. Det som krävs av den lokala datorn är att den kör X (X-server) - vi exemplifierar med en Linux-dator, men även Windows 95/98/NT med X-serverprogramvara kan användas.
Det enklaste och säkraste sättet är att först logga in på fjärrdatorn med kommandot ssh -X. Därefter är det bara att starta X-applikationer på fjärrdatorn (via terminalfönstret, se punkt 4 nedan).
Om inte ssh inte finns tillgängligt, kan man
i stället utnyttja telnet.
Detta är krångligare och betydligt sämre ur säkerhetssynvikel, men det
fungerar. Samma teknik får man även använda om man loggar in från en
Windows-dator (med X-server-programvara), även om man loggar in med
ssh-programvara, t ex putty (eftersom Windows saknar den automagiska
koppling mellan X och ssh som finns i Linux). Gör så här:
Anmärkning: Den ovan beskrivna tekniken går ut på att de grafiska programmen startas för sig via en textterminal. Det är även möjligt att ordna grafisk inloggning på fjärrdatorn. Detta kräver dock betydligt mer nätverkstrafik och är ur säkerhetsvinkel mindre bra. I lokala nät med brandväggar som begränsar den grafiska inloggningen till det lokala nätet, är det dock OK.
För en introduktion till Fönstersystemet X och dess användning, se Andreasson/Skansholm, "UNIX och X från början", kapitel 2 och avsnittet 4.7 (behandlar start- och resursfiler i X). Se även den utmärkta svenska Linux-läroboken: Introduktion till GNU/Linux.
ghostview (el gv)
- Visa postscriptfiler på bildskärmen. Specialtips: Om du tycker
att texten ser ful ut, aktivera menyalternativet State/Antialias,
så blir det betydligt snyggare (fast uppritningen går långsammare).
gimp - Kraftfullt ritprogram, som även
kan användas för att göra skärm- och fönsterdumpningar.
xv - Manipulera grafik, göra skärm- och
fönsterdumpningar, samt konvertera mellan olika grafikformat.
Ritprogrammet gimp:s startlogo
Från textläge startas Fönstersystemet X normalt med kommandot startx.
Det är även möjligt att få Linux att automatiskt starta i grafikläge genom att se till att kommandot xdm körs vid systemstarten. Enklast åstadkoms detta genom att man ändrar till lämpligt körningsläge ("runlevel"), vilket varierar dock mellan de olika Linux-distributionerna.
Med Red Hat och nyare SUSE-versioner (f o m 7.1) ordnas detta genom
att ändra "default runlevel"
från 3 (vanligt fleranvändartillstånd) till 5 (fleranvändartillstånd
med X11). Detta åstadkoms genom att i filen /etc/inittab
byta ut siffran 3 mot 5 i raden
id:3:initdefault:
Eventuellt behöver man också ändra
#x:5:respawn:/usr/bin/X11/xdm -nodaemon
till
x:5:respawn:/usr/bin/X11/xdm -nodaemon
dvs ta bort kommentartecknet (#).
Med äldre SUSE-versioner ändrar man istället körningsläget från 2 (fleranvändare utan xdm) till 3 (fleranvändare med xdm).
Med andra distributioner: Ta en titt på /etc/inittab, ty där brukar det finnas information om hur man skall bära sig åt.
VARNING: Det är viktigt att du gör rätt när du ändrar detta! En felaktig ändring kan medföra att systemet inte startar upp korrekt.
Copyright © 1999 Martin Fahlgren
Epost: martin@1-1-7-46a.ghn.gbg.bostream.se [Till början av dokumentet][Till MF:s artikelförteckning] [Till MF:s hemsida]