13/6/2005

commandline

Filed under: — cybrarian @ 7:45 pm

– zie ook shell scripting

Bourne Again SHell


Keys:
CTRL-C : uit script

TAB : aanvullen
TAB TAB : toont mogelijkheden
CTRL X ( : macro opnemen
CTRL X ) : macro opgenomen
CTRL X e : macro uitvoeren
CTRL U : del lijn links

CTRL W : del woord links
CTRL K : del lijn rechts

Tekens:
$ parameter
~ user, user dir
@ computer
# userpromt

– argument
— arg. nonoption
. onzichtbaar bestand
* ? jokers zien geen .
>> afleiden uitvoer
< < invoer nemen van Algemeen
-v verbose=uitleg

set +C = clobber:overschrijven
set -C = noclobber
shopt -s dotglob : shell option
(om verborgen bestanden mee te globben)

Commando’s
bestaat bashcommando:
type -a commando
clear : scherm leegmaken

cat file: toont bestand
head -n : eerste n regels
tail -n :laatste n regels
pwd: working dir
ls -a -l : alle+info
bv: lsmod, lsusb …

echo $? : laaste foutwaarde
chmod + x file : w. uitvoerbaar
env of printenv : omgev.var
expr 1 + 2 : geeft “3” op scherm
rm -i / -f :verwijder met/z. info

wc : tel tekens/woorden/zinnen
grep : zoek stuk tekst in ..
bv grep -nR zoekmij *.html
Bestandsarchief maken:
tar -cvf bestandslijst
c = create v = verb f = file
met z = zip om te comprimmeren
file : geeft bestandsformaat

Bestanden uitpakken
uitpakken naar huidige dir,
Gzipped files:
tar xzvf /mnt/cdrom/prog-1.02.tgz
Bzipped files:
tar xzvf –bzip2 /mnt/cdrom/prog-1.02.tar.bz2

compile, install
./configure –help

(toont opties)
./configure
make
su -c “make install”
of als root:
make install

apt tools
apt-get install package

-s simulate only
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get remove package
apt-get –purge remove packages
apt-cache search deelvannaam
dpkg -s package

dpkg -S fileofwichpackage
apt-file list package
apt-file search file

< ! tussen kolom 1 en 2> Strukturen, bestanden, redirect


Struktuur: while ; do done

. .

Struktuur: case in ) ;; ) ;; *) ;; esac

case ” ” in

” “)
   (commando)
   (commando);;
” “)
   (commando);;

   (commando);;
esac

case ” ” in

” ” | ” “)
   (commando);;
*)
   (commando);;
esac

* dient hier als joker
| betekent “logische of” (or)

Struktuur: if;then;elif;then;else;fi

if (voorwaarde) ;then

_ (commando)
_ (ev. exit 1/0)
fi

if (opdracht) ; then (opdracht) ;

_ [ elif (opdracht); then (opdracht) ;]
_ [ else (opdracht); ]

Testen met test of [ … ] (bestandnaam, str, getal)
vb [ -d /qqq ] : in bash spatie achter [ _ en voor _ ]
vb test -d /qqq : 0 is ok, 1 is fout: echo $?

Volgorde v/h uitvoeren met ( ) in shell door /( en /)
test-_ (file) of (dir) -f bestaat, -d is dir

test-_ (file) -r -w -x read write execute toegang
test -z str zero, leeg, -n str niet leeg str1 = str2 gelijk

test getallen n,m rekenkundig vergelijken:

n -eq m rek. vergelijken n -lt m less than
n -ne m not equal n -le m less or equal
! (expr) not n -gt m greater than
(exp) -a (exp) and n -ge m greather or eq.
(exp) -o (exp) or

Globbing: oplossen van Wildcards of jokers
Onderlingen verschillen tussen shells mogelijk!
Echo * (in directory, ipv ls bv)
? : vervangt exact 1 teken op die plaats
* : vervang 0 tot max_bestandsnaam_lengte tekens

(dos stopt * pas aan een punt, hier niet: ls p*h.txt)
[1-3] : tekenreeks op te vervangen plaats, ook [a-cx-z]
[!1-3] : ! als omkering (not) ook hoedje kan ^

Brace Extension
{x,y} : ls k{i,y}r kir en kyr worden getoond

Rechten in linux

entry own-grp-wrld n name group size date filename
dir d rwx r-x r-x 5 jos adm 1024 Feb 24 2000 Desktop
dir d rwx r-x r-x 4 jos adm 1024 Nov 20 11:14 public_html
dir d rwx r-x r-x 2 jos adm 1024 Nov 22 11:14 shellbook
file – rw- r– r– 1 jos adm 761 Jun 16 13:04 status.html
file – rw- — — 1 jos adm 9608 Apr 19 1999 .mc.menu

d=dir f=file c=char b=block app p=pipe app
n = counter, teller

Onderscheid bestand en programma
chmod +x dient om bestand uitvoerbaar te maken, bv shell script
menu.sh rw- r– r– waarop chmod +x menu.sh heeft als resultaat rwx r-x r-x

Redirect: leiden van uitvoer en invoer
Vanuit bestand gegevens halen ipv input op command line
Onderdrukken soort echo in bv wc -l < tekst.txt
Foutmelding en resultaten onderscheiden sturen
Afleiden om niet te zien: > /dev/null

Kanaal nr apparaat opm
stand. in 0 toetsenbord
stand. uit 1 monitor
fout uit 2 monitor

commando verder uitvoeren (achtergrond)
– maar er niet op wachten (en al wel een volgend uitvoeren)
– of op desktop commando geven in terminal en dan terminal sluiten terwijl het proces dat gestart is verder loopt (normaal zou het als child process mee gesloten worden met de terminal)

1. Niet wachten/achtergrond ampersand
doSomeThing &
doOtherThing &

bv: start webserver en start mysql

2. Niet afsluiten nohup
nohup doSomething &

bv: nohup kate &
en dan bv terminal sluiten.

Onderhoud, informatie


/etc/init.d/serverd start|stop|restart

algemeen voor serverdiensten

rpm -i pakketnaam.rpm
algemeen installeren rpm (RH)
rpm -qa | grep pakketnaam.rpm
is pakket geinstalleerd (RH)

tar xvzf pakketnaam.tar.gz

(source) pakket uitpakken

ps -ef | grep procesnaam
controleer draaiend proces, id

nslookup
daarna krijg je een prompt waar je domeinnaam.tld kan typen, of opties:
  >set type=mx

  om bv mail records op te vragen
  >domain.tld
  >exit verlaat nslookup prompt
host

less /etc/resolv.conf

dns client instelling

.inputrc in homedir
/etc/magic bestandsformaten
(naam kan varieren vlgs distr)

Root:
vanuit user :
su root (password)
./script ipv script
(system logs)
tail -f /var/log/messages

Keys – Tekens – Algemeen – Struktuur – Testen – Globbing – Brace extension – Rechten – Redirect – Scripting

(*) since dec 2000

Reacties zijn gesloten.

Powered by WordPress