fredag 28 augusti 2009

Fredag

reg.exp
bash inkl script
editorer

EDITORER
Vi
kommandomod, editeringsmod

nano
svårt att göra fel
finns på de flesta system även kommersiella

Emacs
liknar inte andra texteditorer
kan köra andra program, kommandoskal och titta i output
filer behöver inte finnas på lokala maskinen

REG.EXP
måste ha rätt regional språkinställning
fel beror ofta på tecknens inställningar
problem mellan system, till ex i zippade filer
(BSD kör ofta 7bit)

\
\x01 - decimal
\012 - oktalt
\t -tab
\r - carriage return
\l - line feed
\f - form feed
\n - "new line" (ska täcka in skillnaderna i radbyte)

traditionellt på mac os slutar en rad med carriage return
på win slutar det med carriage return, line feed
på linux med endast line feed

^ - tak - början på rad
$ - slutet på raden

ex:
ls -l | grep ^drwx
grep o\$ (allt som slutar på o)
ls - | grep "o$"
ls | grep "[h,t,m]$" (alla som slutar på antingen h,t eller m)


[:alnum] -alfanumeriskt
[:alfa]
[:ctrl]
[:digit]
[:graph]
[:space] (obs whitespace)
[:lower] (gemener)
[:upper] (versaler)
[:print]
[:punct]

. (punkt) - matchar ett tecken
* (stjärna) - matchar ingenting eller vadsomhelst
+ (plustecken) - matcha minst ett tecken i strängen
? (frågetecken) - ett tecken, ex: ??? ger tre tecken
?{siffra} -ger siffrans antal tecken, ex: {3} för tre tecken, ls | grep '?{3}'

TAR
Tape ARchiver
Traditionell tar har inte streck framför parametrar, vilket gnu-tar har

tar xf filen.tar
tar xvf filen.tar
tar xf -
tar tf filen.tar (se filen)
tar tvf filen.tar (se filen verbose)

tar cf filen.tar /foo/nisse (packar ner från nisse rekursivt)
tar xvf filen.tar 2>err.tar (skicka in felen till logg)

PAX
Portable Archiver

find /usr -print (måste ge print i äldre system)

CPIO - skapar arkiv av alla filer man nämner
find /usr | cpio -o > arkiv.cp

cpio -id < arkiv.cp (packa upp)

cp -r filen banan (modernt)
men ibland kan man råka på
tar cf filen | (cd banan && tar xf-)
för att flytta filer

"sändande dator"
tar cf / | nc ny.burk 9999

"mottagande dator"
nc -l -p 9999 | tar xf-

zip -5 arkiv.zip (utan -5 så blir det kanske -3 som standard)
unzip -x arkiv.zip
unzip -t

gzip
bzip2

tarball
tar cf - / | gzip -c 9 > arkiv.tar.gz (eller .tgz)

modernare linux
tar -czf arkiv.tar.gz /sökväg
eller -cjf för bzip


SKAL
sh
csh - syntax liknande programspråket c
ksh
bash

busybox - är inget skal, projekt för unixutiliteter skrivna i assembler

ash - inspirerat av sh
zsh

SCRIPT
#!/bin/bash (sökväg till det program som ska köra filen)

Job Control
wget ftp://ftp.sunet.se/pub/StorFil.apa
ctrl z - stannar programmet
bg - lägg prog i bakgrunden
fg - lägg prog i förgrunden

jobs - listar program
fg %3 - få igång program 3

ctrl l - skriv om skärmen

/etc/shells - lista på skal man kan använda, rättigheter på denna
/etc/profile
.profile
/etc/login
.login
/etc/logout
.logout
/etc/bash_rc
.bash_rc
/etc/zshrc

i konfigurationsfilerna sätter man variabler

PATH='/bin:/usr/bin'
export PATH

alias (lägg i bash_rc, inte i profile)
alias rm='rm -i'
alias more=less

.profile
PATH=".:$PATH" (current directory - ska nog inte användas)
PATH="$PATH:~/bin" (användarens eget)
export PATH

Inga kommentarer:

Skicka en kommentar