![]() |
![]() |
![]() |
|||||||||||||
|
|||||||||||||||
![]() |
![]() |
![]() |
Nogle konventioner:
^ er [Ctrl] på en PC-maskine, f.eks. ^H = [Ctrl] + h (det betyder iøvrigt 'slet' i Bash).
Skrivemaskineskrift er det der står på skærmen og navne på filer.
Fed skrift er kommandoer.
$ rpm -Uvh X[TAB][TAB]
XFree86-3.3.2.3-18.i386.rpm
XFree86-S3V-3_3_2-13_i386.rpm
$ rpm -Uvh XFree86-
Der er åbenbart 2 filer der begynder med det samme bogstav i dette katalog. Hvis vi skal installere begge, skriver vi bare *[RETURN]. Hvis det kun er den ene skriver vi S[TAB][RETURN], så finder skallen automatisk den eneste mulighed der er tilbage. Det samme trick kan bruges med progammer, her søger den blot i stien (path) istedetfor det aktuelle katalog. Eks:
[bruger@localhost bruger]$ vi[TAB][TAB] vi view virmf viromega viamail viewres virmpost virtex
indhold af katalog(dir) : ls (-a : alle) (-l : detaljer) kopier : cp [fil1] [fil2] [destination] slet : rm flyt/omdøb : mv [fil] [dest] rediger tekstfil : pico (^h = [Ctrl] + h) print/udskriv : lpr printerkø : lpq læs fil : cat en side af gangen : less hjælp : info [kommando] pakud : tar xfzv (-C [destdir]) pak : tar cfzv [dest] [fil1] [fil2] procesliste : top (eller ps for færre detaljer) dræb proces : kill [PID] plads på harddisk : df start X window system : startx SPECIELLE: Fuldfør ord : [Tab] historie : [Pilop] / [Pilned] en side op : [Shift][PageUp] forlad program : q afbryd program : ^C logud : ^D (eller exit)
Genkald gamle kommandoer ved at bruge op/ned piletasterne. Ligesom [F3] i DOS, bare med en længere historie. Kommandoen history viser dem alle.
Variabler er ligesom tomme kasser i hukommelsen, som fyldes op af brugeren eller systemets opsætningsfiler. De har ingen fast værdi, før de bliver tildelt en. Nogle variabler i skallen er:
Når en variabel er blevet erklæret, kan du se indholdet med echo:
$ echo $OLDPWD
/usr/X11R6/lib/X11/app-defaults
Vi kan behandle variablen næsten som et filnavn:
$ cd $OLDPWD
$ echo $PWD
/usr/X11R6/lib/X11/app-defaults
Variabler erklæres således i bash:
VAR=værdi
export $VAR
Se alle dine variabler (bl.a.) med kommandoen set|less
I DOS skriver man DIR/P for at se indeholdet af et katalog en skærmfuld af gangen. I Linux bruger man den mere besværlige |less attribut. Heldigvis har Unix/Linux-folket fundet en måde at overgå DOS på. Brug [SHIFT][PGUP]/[PGDN] for at se de forrige skærmbilleder.Hvis der er helt enormt mange filer må du stadig ty til ls |less.
less er i virkeligheden et program, der bruges til at vise tekst en skærmfuld af gangen, så den også bruges i andre situationer f.ex.
tar --help|less
less langtekst.txt
| er en 'pipe', dvs. det betyder "tag outputtet af ls og led det igennem less".
Når du lige har indstalleret Redhat vil din kommandoprompt sikkert se sådan ud:
[bruger@localhost bin]$
Promptens udseende fastlægges af en variabel kaldet PS1 og du kan se dens værdi i /etc/profile eller /etc/bashrc (Redhat) eller med echo $PS1:
PS1="[\u@\h \W]\\$ "
Koderne er forklaret i man bash. Jeg foretrækker at skrive den nye værdi på sidste linje i ~/.bashrc, så det ikke påvirker alle brugere:
PS1="\[\033[34m\][\u@\w]\\$\[\033[39m\] "
Dette fjerner den som regel værdiløse localhost (for den der ikke sidder på et netværk) og udskriver hele stien istedetfor bare den sidste mappe:
[bruger@/usr/X11R6/bin]$
Koderne \[\033[34m\]...\[\033[39m\] farver prompten blå. Det er en god ide (synes jeg) at have forskellig farver til almindelige brugere og root, så man altid ved hvem man er. Koden [34m er blå, [39m går tilbage til normal visning og \003 er en såkaldt 'escape sequence', det betyder: nu kommer der en kode. Se mulige farver i filen /etc/DIR_COLORS. Dette farver root-prompten rød: PS1="\[\033[31m\][\u@\w]\\$\[\033[39m\] "
På Windows (og gammeldags skrivemaskiner) er man vant til at lave accenter ved at trykke på f.eks. '¨' + 'u' for at lave 'ü' (u+umlaut). Det kaldes 'døde accenter' fordi der ikke sker noget første gang man trykker på dem. Linux understøtter døde accenter hvis du har valgt dk-latin1 som keymap under installationen, men XFree86 gør det ikke. Det skyldes måske at programmører ofte bruger tegnene ^ og ~, og amerikanerne har vænnet sig til at bruge ` (accent grave) og ' (apostrof) som `enkelt anførselstegn'. Problemet er at det ser dumt ud på en windowspc, og europæerne har brug for tegnene til deres oprindelige formål.
Som alternativ til døde accenter tilbyder Xwindow en 'Compose' tast. For at få u+umlaut frem på skærmen skal du trykke [Shift][AltGr] + ¨ + u . Det er en fin løsning for en Linux programmør der sjældent bruger de tegn, men måske ikke så smart for en sekretær eller din mor.
En mere permanent løsning er at ændre følgende i filen /usr/X11R6/lib/X11/xkb/symbols/dk:
key <AE12> { [ acute, grave ], [ bar, dead_ogonek ] }; key <AD12> { [ diaeresis, asciicircum ], [ asciitilde, dead_macron ] };skal ændres til:
key <AE12> { [ dead_acute, dead_grave ], [ bar, dead_ogonek ] }; key <AD12> { [ dead_diaeresis, dead_circumflex ], [ dead_tilde, dead_macron ] };Efter du har genstartet X virker accenter på samme måde som i windows, i hvertfald i xterm, KDE, Gnome og Emacs. Nogle programmer er desværre så mangelfuldt/dårligt konstrueret at dead_keys ikke virker bla. rxvt og NEdit. Hvis du er afhængigt af et sådant program, så skriv til udvikleren eller ret det selv, det er vist bare én enkelt linje der skal tilføjes i koden.
I de nyeste versioner af Redhat er de gået over til at bruge en særlig fontserver til at levere skrifttyper til XFree86. Denne fontserver understøtter trutype fonte som er almindelige under Windows og Mac.
Installation af bdf/pcf fonte under Redhat 6:
1. Placer fontene (de må gerne have endelsen *.gz) i en hvilkensomhelst mappe og kør mkfontdir i den pågældende mappe for at lave en fonts.dir fil. 2. Udfør xset +fp [sti/mappe] for at fortælle X om fontene eller indsæt permanent linien /sti/mappe i /etc/X11/fs/config.
Installation af truetype fonte under Redhat 6:
1. Placer truetypefontene (*.ttf/*.TTF) i en hvilkensomhelst mappe og kør ttmkfdir -o fonts.dir. 2. Gør ligesom i ovenstående tilfælde. Har du en windowspartition kan du blot lave en symlinke til windows/fonts, f.eks.: ln -s /mnt/win/windows/fonts/ /usr/share/fonts/truetype
Xfontserveren xfsft
Linux TrueType HOWTO
På kommandolinien (konsollen) er venstre musetast 'copy' og højre musetast er 'paste'. I Xwindow bruges den midterste musetast som paste. Har du en 2-knaps mus skal du udkommentere linien Emulate3Buttons i /etc/X11/XF86Config, et tryk på højre og venstre knap samtidig gør det så ud for midterklik. Det kræver lidt tilvænning og fingerfærdig, men det er hurtigere end i Windows.
Ikke alle programmer samrbejder lige godt mht. cut and paste, i så fald kan man evt. bruge xclipboard som mellemled.
Ovenstående er Xwindow's standard widget sæt (dvs. den tegner de forskellige objekter på skærmen, scrollbars, knapper osv.), desværre ligner det noget fra en gammel Macintosh der skulle have været smidt på lossepladsen.
I lang tid troede jeg ikke at man kunne gribe scrollbaren med musen og køre den op og ned ligesom i Windows, men det viser sig at det kan man, man skal bare bruge den miderste museknap (i mit tilfælde skal jeg trykke på højre og venstre knap på een gang samtidig). Når man har lært det, er det såmænd ikke så slemt alligevel. Venstre museknap scroller nedad, højre opad, men kun halvt så hurtigt. Igen, den midterste knap placerer scrollbar lige der hvor musen er.
Der er gjort forskellige ting for at gøre det pænere, bl.a. Xaw3d der giver vinduesdekorationerne et mindre fladt udseende, NeXtaw, der giver et Next-agtigt udseende (og gør programmerne meget langsommere, Ifølge Min Hellige Overbevisning) og Xaw95 der faktisk ikke er så slemt som det lyder :-). Ingen af dem er helt fejlfri, så husk at lave backup af de gamle libs.
Xaw3d 1.5 er vist det mest stabile og bagudkompatile af dem. Før du kompilerer, er du nødt til at rette i filen ?/xc/lib/Xaw3d/Imakefile --linje 38-44:
XCOMM DEFINES = XawI18nDefines LINTLIBS = $(LINTXLIB) $(LINTXTOOL) EXTRA_DEFINES = -DARROW_SCROLLBAR -DUSEGRAY EXTRA_INCLUDES = -I.
Kør derefter xmkmf for at lave en Makefile. Dernæst:
`make includes; make depend; make; make install
cp /usr/X11/lib/libXaw3d.so.6.1 /usr/X11/lib/libXaw.so.6.1 (forudsat det er Redhat).
Tilføj i ~/.Xdefaults:
*background: Gray
Så skulle alle dine X-apps gerne have fået et pænere udseende og en scrollbar der virker ligesom i Windåsen.
Vha. programmet xmodmap kan man associere bogstaver med med taster, f.eks. har de fleste moderne tastaturer indtil flere Windows-specifikke taster, som ikke er umiddelbart anvendelige under Linux. Her er et eksempel på hvordan du kan ændre det.
Lav en fil og kald den .Xmodmap :
keycode 0x3B = comma semicolon braceleft keycode 0x3C = period colon braceright keycode 0x3D = minus underscore question keycode 115 = greater keycode 116 = slash keycode 117 = ampersand
Udfør 'xmodmap .Xmodmap' og resultatet er:
[AltGr]+[,] = { [AltGr]+[.] = } [AltGr]+[-] = ? Højre winstart = > Venstre winstart = / winmenu (Højreklik) = &
Læs /usr/lib/kbd/keymaps/i386/qwerty/dk-latin1.map.gz for at se de tilladte værdier (brug zless eller mc). Brug xev for at se hvilken keycode et tryk på en bestemt tast fremkalder. Du skal sikre dig at X kalder xmodmap $HOME/.Xmodmap hvergang den starter op, check /etc/X11/xinit/xinitrc, ellers skal du tilføje linien i din .xinitrc eller .Xclients før linien, der starter din windowmanager (den skal altid ligge til sidst).
Filer der begynder med ' . ' eller mellemrum er skjulte filer. De kan ses med ls -a. De gør det muligt for hver bruger at skræddersy sin personlige desktop, og ligger i roden af dit hjemme-katalog ($HOME/ eller ~/).
Fortæller Xserveren hvilken windowmanager og programmer, der skal startes op, når X starter. Kan også bruges til automatisk at starte diverse programmer når X starter. Eksempel:
# Window Maker default X session startup script PATH="$PATH:/usr/local/bin" # If you login from xdm, uncomment this to make error messages appear # in the console window. # # tail -f /home/birger/.xsession-errors > /dev/console exec wmaker #exec icewm #startkde #exec afterstep
Læg mærke til de linjer der starter med '#'. De bliver ignoreret af programmet, så her kan jeg skrive små kommentarer, eller hvis jeg bruge en anden window manager, kan jeg bare bytte om på # f.eks.:
#exec wmaker.Xclients skal være udførbart som et program (-rwx------). Det klares med chmod +x .Xclients
Dette er X's såkaldte ressource-fil. Her kan du definere hvordan en række programmer skal se ud under X, uden at du behøver at ændre indstillingerne i /usr/X11R6/lib/X11/app-defaults. Syntaksen er simpel nok, som regel er det 'program*funktion: værdi'. ' * ' er jokertegn ligesom på kommandolinien.
Læs programmernes man-sider og filerne i /usr/X11R6/lib/X11/app-defaults for at se hvilket ting der er mulige at ændre og hvordan. Eksempler:
emacs*Background: DarkSlateGray emacs*Foreground: Wheat emacs*pointerColor: Orchid emacs*cursorColor: Orchid emacs*bitmapIcon: on emacs*font: 8x13 !emacs.geometry: 80x40
Disse linjer styrer Emacs' udseende, hvis du bliver træt af at se Emacs i et lille frimærke-vindue, kan du ændre geometry-linien eller angive en anden skrifttype (se gyldige værdier i /usr/X11R6/lib/X11/fonts/misc/fonts.alias). Du kan også ændre farverne, gyldige værdier ses i /usr/lib/X11/rgb.txt. Vælg nogen du kan holde ud at se på i timevis.
Vim*useSchemes: all Vim*sgiMode: true Vim*useEnhancedFSB: true Vim.foreground: Black Vim.background: Wheat Vim*menuBar*font: 7x13 Vim*font: 9x15
Disse konfigurerer Vim's udseende, hvis du bruger det grafiske interface gvim. 'Boolske' (boolean) værdier er enten 'True' eller 'False'.
Dette bliver defaults for alle xtermer (og rxvt'er):
XTerm*saveLines: 1500 XTerm*font: 8x13 # En god font til 800x600 XTerm*foreground: burlywood2 # Fontfarve XTerm*background: black # Sort baggrund XTerm*colorBD: blue # Farve til fremhævet tekst (f.eks. i man) XTerm*colorUL: red # Farve til understreget tekst
rxvt er en forbedret version of xterm, der bruger mindre hukommelse.
Emacs-konfigurationsfil. Det fører for vidt at gå i detaljer, men her er et eksempel på en minimumskonfig:
(global-font-lock-mode t) (setq font-lock-maximum-decoration t) (keyboard-translate ?\C-h ?\C-?) (keyboard-translate ?\C-? ?\C-h) (global-unset-key [backspace] ) (global-set-key [backspace] 'delete-backward-char) (global-unset-key [delete] ) (global-set-key [delete] 'delete-char)
Dette muliggør danske specialtegn og syntaksfarvning af tekst. Det gør også at [Delete] og [Backspace] virker som averteret. Det er ikke længere nødvendigt at angive (standard-display-european 1) efter at MULE (MUltiLingual Emacs) er blevet en fast del af Emacs, faktisk kan det nogen gange interferere med MULE.
Kommando-shell'ens konfigurationsfil (een af dem).
Eksempel:
# .bashrc # farver i bash eval `dircolors /etc/DIR_COLORS` # User specific aliases and functions alias ls='ls -F --color=auto' alias x='startx -dpi 100' # start X i 100 dpi opløsning # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
Accenterne i `dircolors..` linien skal være ` (accent grave) af eller anden grund. Bruger man apostrof virker det ikke.
Med kommandoen 'alias' kan du binde tegn til kommandoer f.ex.:
alias e='emacs mit_store_vaerk.txt' alias rm='rm -i' # spørg om en fil skal slettes (y/n) alias rr='rm -r' # slet katalog (med underkataloger) alias la='ls -a' # vis også skjulte filer alias ll='ls -l' # vis detaljer (ligesom vdir) alias lt='ls -tr' # sorter filer efter dato (de nyeste tilsidst) alias lss='ls -S' # sorter efter størrelse (største først) alias lx='ls -X' # sorter alfabetisk efter endelse alias bak='cd $OLDPWD' # tilbage til forrige katalog alias pakud='tar xfvz' # udpak en *tar.gz fil alias pak='tar cfzv' # lav en komprimeret fil alias dot='ls -d .[a-zA-Z0-9_]*' # vis kun skjulte filer alias loacte=locate # en typisk slåfejl hos mig
Hvis du savner DOS(!?) kan du genskabe de vante kommandoer:
alias dir='ls -lba --color=yes|more' alias edit='echo "Vil du ikke hellere bruge vi? ;-)" && pico' alias print='lpr' alias mem='free' alias del='rm -i' alias copy='cp -ai' alias ren='mv -i' alias cls='clear' alias path='echo $PATH' alias type='less -e' alias help='man' alias deltree='rm -r' alias cd..='echo "cd .. er det rigtige, men ok.." && cd ..' alias d:='mount /mnt/cdrom && cd /mnt/cdrom'
Man kan også sætte lave små programmer i .bashrc, f.eks. en lille regnemaskine:
function calc () { awk "BEGIN { print $* ; }" } $ calc 4*6 24
Pas på du ikke tager et ord/bogstav, som allerede er optaget.Det kan du checke ved whereis [ord] (whereis checker om der findes en fil ved det navn i din søgesti).
Tip: Når du har ændret i bash's konfigurationsfiler, skal du logge ud og logge ind igen, før ændringerne virker (bare start en ny xterm).
'ls -F --color=auto' viser filerne med forskellig farve og et indikatortegn efter type. Hvilke farver er angivet i /etc/DIR_COLORS.
$ ln -s /mnt/win/Homepage/ homepage $ ln -s "/mnt/win/Mine dokumenter/speciale.doc" speciale.doc $ ln -s /mnt/win/Programmer/Netscape/Users/bruger/Mail/Inbox ~/Mail/Win-InboxBemærk citationstegnene: Linux accepterer ikke uden videre mellemrumstegn i filnavne.
/dev/hda1 /mnt/win vfat auto,user,rw,uid=65534,gid=6,umask=000 0 1Nu skulle "rw" være muligt for alle. I øvrigt er uid=65534 "nobody" og gid=6 er "disk" i dette eksempel og en ls -ld giver bla. :
... drwxrwxrwx 5 nobody disk 4096 jun 8 1998 /mnt/win/recycled drwxrwxrwx 6 nobody disk 8192 maj 8 11:06 /mnt/win/tmp drwxrwxrwx 39 nobody disk 16384 jun 7 1998 /mnt/win/windowsVigtigt: Check f.eks. linuxconf for at så om dit system er sat anderledes op, typisk om der bruges en anden uid/gid.
... drwxrwx--x 39 nobody disk 16384 jun 7 1998 /mnt/win/windows ...Og "brugerne" tilføjes i /etc/group , f.eks. :
.... disk:*:6:bruger,fido,jan ....Vil man begrænse mount af partitioner til kun de brugere i gruppen "disk" så sættes i /dev/hda1 :
brw-rw---- 1 root disk 8, 4 nov 9 1998 /dev/hda1
$ ls -laF
drwxrwxr-x bruger bruger .
drwxrwxr-x bruger bruger ..
drwxrwxr-x bruger bruger katalog/
-rw-rw-rw- root root testscript
Det vi skal se på er bogstaverne til venstre (jeg har ikke taget alle detaljer med):
d = directory, r = read, w = write, x = execute katalog/fil bruger gruppe alle d rwx rwx rwxLad os sige at vi har lavet scriptet 'testscript' som root og nu skal vi gøre det executerbart:
Resultatet bliver:
$ ls -l testscript
-rwxrwxrwx root root testscript
Som du kan se kan alle brugere på maskinen både læse, udføre og ændre dit
script og det er måske ikke så heldigt, så vi vil hellere have den til at se sådan her ud:
-rwxr-xr-x
så kun ejeren kan ændre i det (klogt af sikkerhedsgrunde):
$ chmod +xr,go-w,u+w testscript
"ugo" svarer til user/group/other og xrw er rettigheder. Normalt er det blot +x og f.eks. go-w man skal anvende på filer:
$
chmod +x testscript
$ chmod go-w testscript
eller
$ chmod +x,go-w testscript
Nogle gange vil du se at folk bruger tal istedetfor bogstaver, f.eks. chmod 755 istedetfor chmod +xr,go-w,u+w. Det fordi de bruger oktale værdier: r = 4, w = 2, x = 1. Hvis vi havde brugt almindelige tal (1,2,3) istedetfor oktale kunne chmod 333 have betydet 2 ting, enten -r--r--r-- eller --wx-wx-wx, så der er en mening med galskaben. De symbolske værdier er lettere at huske for dem der ikke er så hårde til matematik.
Vi ændrer også lige ejerskab til bruger:
$ chown bruger.bruger testscript
$ ls -l testscript
-rwxr-xr-x bruger bruger testscript
Hvis medlemmerne i vores arbejdsgruppe skal have lov til at rette i scriptet, gør vi således:
$ chmod 775 testscript
$ chown bruger.posen testscript
$ ls -lF testscript
-rwxr-xr-x bruger posen testscript*
Om kataloger (directories/biblioteker/filmapper):
$ ls -lF katalog/
drwxrwxr-x bruger bruger katalog/
x er såkaldt 'searchbit': Et katalog kan naturligvis ikke køres som et program, så istedet bruges x til at bestemme, hvem der har adgang til kigge i kataloget, f.eks.:
$ chmod 700 chefens_kone.pics/
$ ls -lF chefens_kone.pics/
drwx------ bruger bruger chefens_kone.pics/
" . "
og " .. "
er blå fordi de også er kataloger. " .. " er det foregående(parent) katalog,
" . " er det nuværende.
Hvis du skal køre et program der ikke ligger i din PATH (echo
$PATH) skal du kalde det således: ./testscript
Det virker besværligt, men det er vigtigt af sikkerhedsgrunde.
En hacker kunne f.eks. lægge et virusprogram ved navn ls
i et brugerkatalog og narre dig til at aktivere programmet, når
du vil checke indholdet af det katalog og derved uforvarende inficere din computer med en virus eller trojansk hest.
Hvis du ikke har forbindelse til internettet, du er den enste bruger på din Linuxbox og er ligeglad med sikkerhed kan du tilføje følgende til din .bash_profile:
PATH=$PATH:.
export PATH
Nu er det aktuelle katalog altid med i din kommandosti. Gør aldrig dette for root! Grunden til at der ikke er så mange virusser til UNIX er at den almindelige bruger ikke kan gøre særlig meget skade, men som root kan man let komme ud for at ødelægge sit system pga. skødesløshed.
$ cat ^O (Ctrl-o) [Return] ^DLængere forklaring: Linux bruger ^N og ^O til at skifte mellem 2 tegnsæt, du er måske kommet til trykke på ^N (eller du har fundet en fejl i dit program). ^D betyder 'End of file' (EOF).
En anden mulighed, f.eks. efter en cat af en binær fil,
er at taste reset (ikke knappen!), og den aktuelle tekstskærm/xterm vil blive initialiseret.
Det der skete var egentlig blot at et specielt styretegn
blev sendt til skærmen så den gik i grafisk mode.
2. Det er ikke muligt at taste ind på xterm/tekstskærm.
Måske der er blevet trykket Xoff (^S) som lukker for yderligere visning, mens uddata gemmes i buffer. Tryk Xon (^Q) for at tænde igen.
Av Birger Langkjer och Frank Damgaard översättning till svenska Leif Bengtsson
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |