NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski...

155
Wstęp do systemu Unix Norbert Jankowski Katedra Informatyki Stosowanej Uniwersytet Mikolaja Kopernika www.is.umk.pl/~norbert/unix NJ/Unix (KIS) Wstęp do systemu Unix 1 / 155

Transcript of NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski...

Page 1: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Wstęp do systemu Unix

Norbert Jankowski

Katedra Informatyki StosowanejUniwersytet Mikołaja Kopernika

www.is.umk.pl/~norbert/unix

NJ/Unix (KIS) Wstęp do systemu Unix 1 / 155

Page 2: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

1 Unix i inne systemy2 Unix3 Serwery Wydziałowe i UMK4 Pliki, katalogi, partycje i ich narzędzia5 Przegląd poleceń

PomocCo/gdzie. . .ProcesyCzas

6 Archiwizacjagziptarcpiorsync

7 Powłoki — bashbashInstrukcje bash

NJ/Unix (KIS) Wstęp do systemu Unix 2 / 155

Page 3: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

FuncjePrzykłady skryptów

8 Powłoki — csh, tcsh, sh, bashcshInstrukcje cshPrzykłady skryptów

9 Wirtualizacja — uruchamianie systemów wirtualnych

10 Poczta UMK/WWW

11 Knoppix

NJ/Unix (KIS) Wstęp do systemu Unix 3 / 155

Page 4: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Rola systemu operacyjnego

UżytkownikProgramSystem operacyjnyKomputer (Hardware)

NJ/Unix (KIS) Wstęp do systemu Unix 4 / 155

Page 5: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix i inne systemy

Systemy operacyjne

SOVMS

DOS

Windows

Unix

Mac OS

George

Web OS’ySingularity

NJ/Unix (KIS) Wstęp do systemu Unix 5 / 155

Page 6: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix i inne systemy

Systemy Unix

SOBSD

SolarisSunOS

AIX

Linux

HP-UX

SCO Unix

System V

NJ/Unix (KIS) Wstęp do systemu Unix 6 / 155

Page 7: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix i inne systemy

Systemy Linux

SOFedoraRed Hat

CentOS

[open]SuSe

Knoppix

Debian

UbuntuGentoo

Auroxi PLD

Linus Torvalds — twórca jądra Linuxa

NJ/Unix (KIS) Wstęp do systemu Unix 7 / 155

Page 8: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix

Unix, użytkownicy, procesy

UnixWieleprocesów

Programy

Serwisyssh

poczta WWW

NFS

Wieluużytkown-

ików

konto(-a)

NJ/Unix (KIS) Wstęp do systemu Unix 8 / 155

Page 9: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix

Dostęp użytkownika do systemu unix

UnixDostępzdalny

telnet ssh

X Serwer

VNC NX

Konsola terminale

TightVNC (Windows)

NJ/Unix (KIS) Wstęp do systemu Unix 9 / 155

Page 10: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Unix

Konto

Kontouid+u-numer

hasło

grupa

katalogdomowy

shell

NJ/Unix (KIS) Wstęp do systemu Unix 10 / 155

Page 11: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Serwery Wydziałowe i UMK

Konto — serwer UMK, serwery Wydziałowe

Strony LAN: http://lan.fizyka.umk.pl.Rozdział „1.3 Dostęp do konta wydziałowego (z powłoką) dlastudentów”.Strona http://www.uci.umk.pl/studenci/konto/.Po stworzeniu konta na stronach UCI w nocy następujeautomatycznie utworzenie konta na serwerze Wydziałowym.Postać uid: XXXXXX, gdzie XXXXXX to numer indeksuAdres poczty: [email protected] a takż[email protected], gdzie „i” litera imienia

NJ/Unix (KIS) Wstęp do systemu Unix 11 / 155

Page 12: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Serwery Wydziałowe i UMK

Serwery Wydziałowe

WWW: www.fizyka.umk.plKonta z powłoką / Unix:

[ferm | nobel | uran | tor].fizyka.umk.plPoczta: mail.fizyka.umk.pl (SMTP, POP3, IMAP),ameryk.fizyka.umk.pl (POP3)Poczta WWW: poczta.umk.pl

IMP | Serwer/domena = „@fizyka.umk.pl (Studenci)”Studenci IMP

Dostęp z zewnątrz do Unixa: ameryk.fizyka.umk.plDostęp radiowy: Eduroam (http://eduroam.umk.pl/), OpenVPN(http://lan.fizyka.umk.pl)

NJ/Unix (KIS) Wstęp do systemu Unix 12 / 155

Page 13: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Serwery Wydziałowe i UMK

Logowanie do serwera Unix — Secure shell (SSH)

• ssh następca telnet• Konta z powłoką / Unix:

[ferm | nobel | uran | tor].fizyka.umk.pl

ssh$ ssh␣adres.maszyny$ ssh␣[email protected]

$ ssh␣ferm.fizyka.umk.pl

login as: ziutekziutek@ferm’s password:Last login: Thu Oct 13 4:08:34 2008 from ciupaga.fizyka.umk.plziutek@ferm [~] 12:20$

• PUTTY (Windows)

NJ/Unix (KIS) Wstęp do systemu Unix 13 / 155

Page 14: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Pliki i katalogi

/

boot etc lib

modules

bin sbin usr

bin etc include lib

tmp home var

log spool

/ . .. ˜ ˜ziutek

pre* *post [abc]*[xyz] [a-z,0-9]* *.txt *.[cC] *.[cC]* *.[cC]??

/ /etc /usr/lib .xxxxxxx — pliki/katalogi ukryte

./etc etc ./.. .. ../../.. ./A/B_pod_A

NJ/Unix (KIS) Wstęp do systemu Unix 14 / 155

Page 15: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Podstawowe operacje na plikach i katalogach

pwdcdlscat, zcatless (more)mkdirrmdircpmvrmln

NJ/Unix (KIS) Wstęp do systemu Unix 15 / 155

Page 16: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

pwd

$ pwd

/home/ziutek

cd$ cd␣/tmp$ cd␣podKatalog/xyz/$ cd␣-$ cd␣-$ cd␣

przejście do kat. domowego (cd ˜)

NJ/Unix (KIS) Wstęp do systemu Unix 16 / 155

Page 17: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

ls$ ls␣/

bin del ff media opt scratch sys wwwboot dev home misc proc scratch2 tmp xxxd2 etc lib mnt root scratch_biofiz usrdebug.log fc4-smp lost+found net sbin staff var

$ ls␣a*$ ls␣*.c␣*.txt$ ls␣*.c␣/tmp/*.txt

NJ/Unix (KIS) Wstęp do systemu Unix 17 / 155

Page 18: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

ls$ ls␣-l␣/etc

drwxr-xr-x 2 root root 4096 lip 15 2005 4Suite-rw-r--r-- 1 root root 15289 mar 23 2005 a2ps.cfg-rw-r--r-- 1 root root 2562 mar 23 2005 a2ps-site.cfgdrwxr-xr-x 4 root root 4096 lip 15 2005 acpi-rw-r--r-- 1 root root 46 lis 2 02:02 adjtimedrwxr-xr-x 4 root root 4096 lip 15 2005 alchemist-rw-r--r-- 1 root root 1512 kwi 25 2005 aliases-rw-r----- 1 root smmsp 12288 lis 10 2006 aliases.dbdrwxr-xr-x 4 root root 4096 lut 8 2006 alsadrwxr-xr-x 2 root root 4096 lis 10 2006 alternatives-rw-r--r-- 1 root root 329 mar 20 2006 anacrontab-rw-r--r-- 1 root root 395 sty 12 2005 ant.confdrwxr-xr-x 2 root root 4096 lip 15 2005 ant.d-rw------- 1 root root 1 kwi 8 2005 at.deny-rw-r----- 1 root root 404 lut 6 2006 auditd.conf-rw-r----- 1 root root 335 lut 6 2006 audit.rules...

NJ/Unix (KIS) Wstęp do systemu Unix 18 / 155

Page 19: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

ls$ ls␣-la␣~

drwxr-xr-x 34 root root 4096 lis 2 00:10 .drwxr-xr-x 28 root root 4096 cze 5 10:56 ..-rw-r--r-- 1 root root 421 paź 14 2005 AddPrinterClient-rw-r--r-- 1 root root 0 sty 27 2006 .addressbook-rw------- 1 root root 2285 sty 27 2006 .addressbook.ludrwxr-xr-x 3 root root 4096 paź 14 2005 .adobe-rw------- 1 root root 1427 lip 15 2005 anaconda-ks.cfg-rw------- 1 root root 98444 kwi 17 2008 %backup%~-rw------- 1 root root 7802 mar 3 2007 .bash_historydrwxr-xr-x 2 root root 4096 cze 6 12:25 bindrwx------ 4 root root 4096 paź 21 2005 .cache...

-a — pliki/katalogi ukryte-R — rekurencja-t — sortowanie po czasie aktualizacji

NJ/Unix (KIS) Wstęp do systemu Unix 19 / 155

Page 20: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

cat$ ls␣/etc␣>␣/tmp/j23.txt$ cat␣/tmp/j23.txt

4Suitea2ps.cfga2ps-site.cfgacpiadjtimealchemistaliasesaliases.dbalsaalternativesanacrontabant.conf...

$ zcat␣/var/log/cron.123.gz

NJ/Unix (KIS) Wstęp do systemu Unix 20 / 155

Page 21: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

cat, more, less

$ cat␣p1␣p2␣p3␣>␣p

$ more␣/etc/passwd$ less␣/etc/passwd

poruszanie się: ←,→, ↑, ↓, page up, page down,szukanie: /xyz, szukanie dalej: n

NJ/Unix (KIS) Wstęp do systemu Unix 21 / 155

Page 22: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

mkdir

mkdir$ mkdir␣/tmp/xyz$ ls␣-la␣/tmp/xyz$ mkdir␣/tmp/xyz/j23$ ls␣-laR␣/tmp/xyz

[root@hel ~]# mkdir /tmp/xyz[root@hel ~]# ls -la /tmp/xyzrazem 8drwxr-xr-x 2 root root 4096 lis 2 20:12 .drwxrwxrwt 28 root root 4096 lis 2 20:12 ..[root@hel ~]# mkdir /tmp/xyz/j23[root@hel ~]# ls -la /tmp/xyz/j23razem 8drwxr-xr-x 2 root root 4096 lis 2 20:13 .drwxr-xr-x 3 root root 4096 lis 2 20:13 ..

$ mkdir␣-p␣/tmp/a/b/c/d

NJ/Unix (KIS) Wstęp do systemu Unix 22 / 155

Page 23: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

rmdir

rmdir$ rmdir␣/tmp/xyz/j23$ rmdir␣/tmp/xyz$ ls␣-laR␣/tmp/xyz

rmdir /tmp/xyz/j23/[root@hel ~]# rmdir /tmp/xyz/[root@hel ~]# ls -laR /tmp/xyzls: nie ma dostępu do /tmp/xyz: Nie ma takiego pliku ani katalogu

NJ/Unix (KIS) Wstęp do systemu Unix 23 / 155

Page 24: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

cp, mv

cp, mv$ cp␣co␣gdzie$ cp␣/etc/passwd␣/tmp/$ cp␣/etc/passwd␣/tmp/xyz$ cp␣/etc/p*␣~/tmp/$ cp␣./podKat/*.c␣/tmp/kopia/

$ mv␣co␣gdzie$ mv␣/etc/passwd␣/tmp/$ mv␣/etc/passwd␣/tmp/xyz$ mv␣/etc/p*␣~/tmp/$ mv␣./podKat/*.c␣/tmp/kopia/

$ cp␣-a␣co␣gdzie— dobre do kopiowania całych drzew z utrzymaniem praw i własności

NJ/Unix (KIS) Wstęp do systemu Unix 24 / 155

Page 25: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

scp — kopiowanie pomiędzy komputerami

scp$ scp␣co␣gdzie$ scp␣maszyna5:/tmp/plik␣.$ scp␣katABC/*␣nobel.fizyka.umk.pl:/tmp/$ scp␣katABC/*␣nobel.fizyka.umk.pl:tmp/$ scp␣katABC/*␣[email protected]:/tmp/

-p — zachowuje daty i prawa-r — rekurencyjnie katalog

Windows: pscp (putty), WinSCP

NJ/Unix (KIS) Wstęp do systemu Unix 25 / 155

Page 26: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

rm

rm$ rm␣pliki$ rm␣*.bak␣*.txt~$ rm␣*$ rm␣-r␣~/kopie

$ rm␣-rf␣xyz— usuwa bez pytania, ostatecznie ;)

NJ/Unix (KIS) Wstęp do systemu Unix 26 / 155

Page 27: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

touch

touch$ touch␣j23$ ls␣j23

[root@hel ~norbert/tmp]# touch j23[root@hel ~norbert/tmp]# ls -la j23-rw-r--r-- 1 root root 0 lis 1 11:25 j23

NJ/Unix (KIS) Wstęp do systemu Unix 27 / 155

Page 28: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

linki

ln$ cd␣~$ ln␣-s␣/var/log/messages␣m$ ls␣-la␣m$ less␣m

[root@hel ~norbert/tmp]# cd ~[root@hel ~]# ln -s /var/log/messages m[root@hel ~]# ls -la mlrwxrwxrwx 1 root root 17 lis 3 00:29 m -> /var/log/messages[root@hel ~]# less m...Nov 2 04:49:43 hel dhcpd: DHCPINFORM from 158.75.4.161 via eth1Nov 2 04:49:43 hel dhcpd: DHCPACK to 158.75.4.161 (00:0c:76:4b:27:9b) via eth1Nov 2 04:49:46 hel dhcpd: DHCPINFORM from 158.75.4.161 via eth1...

NJ/Unix (KIS) Wstęp do systemu Unix 28 / 155

Page 29: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

$ ln␣-s␣~kolega/projekt/X␣~/projekty/

$ rm␣m— usuwa link jeśli to link symboliczny, w przeciwnym razie dowiązanie

• Link „twardy”:$ ln␣ciupaga␣ciupaga2$ ln␣~kolega/ciupaga␣.

• Link twardy tylko w obrębie danej partycji.

NJ/Unix (KIS) Wstęp do systemu Unix 29 / 155

Page 30: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Prawa dostępu

chmod 744 /tmp/p1.txt chmod u=rwx /tmp/p2.txt

chmod NNN plikKat

u g orwx rwx rwx421 421 421

chmod

ugoa

+

-=

rwxst

plikKat

u właścicielg wł. grupowyo innia wszyscy

+ dodać- zabrać= ustaw na

r czytaniew pisanie/zmianax wykonywanie/dostęps set[uid|gui]t del flag

NJ/Unix (KIS) Wstęp do systemu Unix 30 / 155

Page 31: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

chmod$ chmod␣700␣plik$ chmod␣770␣plik$ chmod␣777␣p*$ chmod␣744␣plik$ chmod␣100␣plik$ chmod␣0␣plik$ chmod␣1700␣plik$ chmod␣6770␣katal

• 4-cyfra:1–t, 2–s (g), 4–s (u)

NJ/Unix (KIS) Wstęp do systemu Unix 31 / 155

Page 32: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

chmod$ chmod␣u+rw␣plik$ chmod␣u+rw␣p*$ chmod␣go-rw␣plik$ chmod␣go=rw␣plik$ chmod␣u=rwx␣plik$ chmod␣go=␣plik$ chmod␣u+x␣plik$ chmod␣a+x␣-R␣plik

chmod$ chmod␣u+s␣prog$ chmod␣g+s␣katal$ chmod␣+t␣/tmp

-rwsr-xr-x 1 root root 24792 wrz 25 2007 /usr/bin/passwdll /tmpdrwxrwxrwt 26 root root 4096 lis 24 12:05 .

NJ/Unix (KIS) Wstęp do systemu Unix 32 / 155

Page 33: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Strona WWW użytkownika xyz a prawa dostępu

• Katalog startowy — ~xyz/public_html

• Plik startowy — index.html

$ chmod␣711␣~xyz$ chmod␣711␣~xyz/public_html$ chmod␣744␣~xyz/public_html/*

• index.htm, index.php, ...???

• prosty sposób na współdzielenie zasobów. . .

NJ/Unix (KIS) Wstęp do systemu Unix 33 / 155

Page 34: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Regulacja praw tworzonych plików i katalogów

umaskZabranie praw czytania i pisania dla grupy i innych:$ umask␣066Zabranie wszystkich praw dla grupy i innych:$ umask␣077Zabranie wszystkich praw dla innych użytkowników:$ umask␣007

NJ/Unix (KIS) Wstęp do systemu Unix 34 / 155

Page 35: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Ustawianie właściciela chown i chgrp

chown$ chown␣j23␣plik$ chown␣j23.stud␣plik$ chown␣-R␣j23.stud␣katal

chgrp

$ chgrp␣stud␣prog$$ chmod␣g+s␣proj33␣/work/proj33$ chgrp␣-R␣proj33␣/work/proj33

NJ/Unix (KIS) Wstęp do systemu Unix 35 / 155

Page 36: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Wyszukiwanie — find

findWyszukuje wszystko z .$ find␣.Wyszukuje wszystko z /tmp/xyz$ find␣/tmp/xyzWyszukaj pliki a* z ’.’ i podkatalogów$ find␣.␣-name␣"a*"␣-print$ find␣.␣-name␣"a*"

./Programy/SNNSv3.3/examples/art1_letters.cfg

./Programy/SNNSv3.3/examples/art1_letters.net

./Programy/SNNSv3.3/examples/art1_letters.pat

...

$ find␣.␣-mtime␣-20␣\(␣-name␣"*.c"␣-or␣-name␣"*.h"␣\)

NJ/Unix (KIS) Wstęp do systemu Unix 36 / 155

Page 37: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

find$ find␣.␣-name␣"a*"␣-mtime␣+2$ find␣.␣-name␣"*.c"␣-name␣"*.h"␣-atime␣+2-xdev (-mount) — tylko dana partycja / urządzenie-newer␣file — elementy młodsze niż „file”-anewer␣file — j.w. tylko czas dostępu-type [f|d|l]-group␣g-user␣u-size␣+100M -delete

$ find␣.␣-exec␣echo␣xx␣’{}’␣yy␣\;

xx . yyxx ./Root yyxx ./T yyxx ./diary yyxx ./lan yy

NJ/Unix (KIS) Wstęp do systemu Unix 37 / 155

Page 38: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

mc

• Norton commander → MC

• Total commander

NJ/Unix (KIS) Wstęp do systemu Unix 38 / 155

Page 39: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Selekcja wierszy z pliku

grep

$ grep␣tekst␣plik$ grep␣-i␣tekst␣plik$ grep␣-v␣tekst␣plik$ grep␣^poczatek␣plik$ grep␣koniec$␣plik

-i — nie rozróżnia małe/duże-l — nazwy plików

-n — numery wierszy-v␣tekst — wiersze bez ‘tekst’

[root@hel ~]# grep ^tom /etc/passwdtomkoz:x:5613:102:Tomasz Korzeniewski:/home/tomkoz:/bin/tcshtomlacz:x:5156:105:Tomasz Laczkowski:/home/tomlacz:/bin/tcshtomek:x:6787:105:Tomasz Dziubak:/home/tomek:/bin/tcsh...

NJ/Unix (KIS) Wstęp do systemu Unix 39 / 155

Page 40: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Początki i końce plików — head i tail

head$ head␣/etc/passwd$ head␣-5␣/etc/passwd

tail$ tail␣/var/log/messages$ tail␣-200␣/var/log/messages$ tail␣-f␣/var/log/messages

NJ/Unix (KIS) Wstęp do systemu Unix 40 / 155

Page 41: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Zliczanie znaków, słów, wierszy — wc

wc$ wc␣/etc/passwd$ wc␣-l␣/etc/passwd$ wc␣plik1␣plik2␣plik3

-c — znaki-w — słowa-l — wiersze

NJ/Unix (KIS) Wstęp do systemu Unix 41 / 155

Page 42: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

sort, uniq

sort$ sort$ sort␣plik$ sort␣-n$ ls␣-l␣|␣sort␣-k␣5

-n — numerycznie (nie-alfanumeryczne)-r — odwrotny porządek-k␣N — sortuje względem kolumny N

uniq

$ uniq␣plik

NJ/Unix (KIS) Wstęp do systemu Unix 42 / 155

Page 43: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Porównywanie plików

diff$ diff␣plikA␣plikB$ diff␣/etc/passwd␣/etc/passwd~

> s211232:x:5538:104:Karol Piotr Świetlik:/home/s211232:/bin/tcsh1477a1599,1600> s188923:x:5633:104:Lukasz Mentel:/home/s188923:/bin/tcsh> s201370:x:5634:104:Tomasz Pawlak:/home/s201370:/bin/tcsh1505a1629> s183675:x:5583:104:Marcin Szupke:/home/s183675:/bin/tcsh1544,1717d1667< 227198:x:5712:104:Mateusz Jędrzej Baziński:/home/227198:/bin/tcsh< 233633:x:5713:104:Konrad Pawlak:/home/233633:/bin/tcsh

Z diff3 −→ CVS, SVN

NJ/Unix (KIS) Wstęp do systemu Unix 43 / 155

Page 44: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Analiza zajętości partycji

df$ df␣/tmp$ df␣~$ df

[root@ciupaga ~]# dfSystem plików bl. 1K B użyte dostępne %uż. zamont. na/dev/root 28842780 27426140 1416640 96% //dev/sda1 287782 81582 206200 29% /boot/dev/shm 1548156 24 1548132 1% /dev/shm/dev/sda7 328891672 167652776 161238896 51% /staff/dev/sda8 77490532 58762976 18727556 76% /images/dev/sda5 2893628 244032 2649596 9% /tmp/dev/sda2 38456340 30281176 8175164 79% /var/dev/sdb1 307663800 226677156 80986644 74% /windows

NJ/Unix (KIS) Wstęp do systemu Unix 44 / 155

Page 45: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Analiza zajętości katalogów

du$ du$ du␣-s␣*

[root@hel /staff/stud]# du -s *19596 s11409417980 s1301018828 s130185352 s1302004 s13242510492 s13291966760 s1349689180 s1404671628 s142400

Informacje w KBKiedyś należało dodać -k aby informacje były w KB.

NJ/Unix (KIS) Wstęp do systemu Unix 45 / 155

Page 46: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

Montowanie urządzeń

mount$ mount␣/dev/sda1␣/kat1$ mount␣-t␣ext3␣/dev/sda1␣/kat1$ mount␣-t␣ntfs␣/dev/sda1␣/kat1$ mount␣/dev/cdrom␣/media/cdrom$ mount␣maszynaABC:/work/projektX␣/work/projektX$ mount␣-o␣loop␣-t␣iso9660␣obrazCD.iso␣/tmp/jakisKat$ mount␣-t␣smbfs␣//maszyna/udział␣/tmp/jakisKat␣-o␣\username=win_user,password=hasło

umount$ umount␣/kat1

• umount wymaga aby udział nie był używany!• exportfs␣-o␣rw␣maszyna:/usr/tmp — udostępnienie udziałumaszynie maszyna. Por. plik /etc/exports

NJ/Unix (KIS) Wstęp do systemu Unix 46 / 155

Page 47: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

mount/dev/root on / type ext3 (rw)/dev/proc on /proc type proc (rw)/dev/sys on /sys type sysfs (rw)/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620)/dev/sda1 on /boot type ext3 (rw)/dev/shm on /dev/shm type tmpfs (rw)/dev/sda7 on /staff type ext3 (rw,noatime,usrquota,barrier=1)/dev/sda8 on /images type ext3 (rw,noatime,barrier=1)/dev/sda5 on /tmp type ext3 (rw,noatime)/dev/sda2 on /var type ext3 (rw,noatime)/staff on /misc/staff type none (rw,bind).../misc/staff/dokt/drpepe on /home/drpepe type none (rw,bind)/misc/staff/kis/duch on /home/duch type none (rw,bind)/misc/staff/ifiz/jacek on /home/jacek type none (rw,bind)/misc/staff/stud/189220 on /home/189220 type none (rw,bind)/misc/staff/ifiz/milosz on /home/milosz type none (rw,bind)

NJ/Unix (KIS) Wstęp do systemu Unix 47 / 155

Page 48: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

/etc/fstab

/etc/fstabLABEL=/ / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2...LABEL=/staff /staff ext3 usrquota,noatime,barrier=1 1 2/dev/sdb1 /windows ext3 noatime,barrier=1 1 2LABEL=/tmp /tmp ext3 noatime 1 2LABEL=/var /var ext3 noatime 1 2/dev/sda6 swap swap defaults 0 0

mount/fstab

$ mount␣/var

mount/fstab/NFS — jako element /etc/fstabciupaga:/software /software nfs rw,defaults 0 0

NJ/Unix (KIS) Wstęp do systemu Unix 48 / 155

Page 49: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

/etc/exports — NFS

/etc/exports/scratch 158.75.5.0/24(rw,root_squash)/software 158.75.4.0/23(rw,no_root_squash)#/software 158.75.4.5(rw,no_root_squash)#/software 158.75.4.0/23(ro,root_squash)#/software 192.168.9.0/24(ro,root_squash)

root_squash root ⇒ nobody (na kliencie)

NJ/Unix (KIS) Wstęp do systemu Unix 49 / 155

Page 50: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Pliki, katalogi, partycje i ich narzędzia

dd

dd$ dd␣if=/dev/cdrom␣of=cd.iso$ dd␣if=/dev/dvd␣of=/tmp/dvd.iso

Tworzy 1GB plik duzy_plik$ dd␣if=/dev/zero␣of=duzy_plik␣bs=1024K␣count=1024

Poniższe może sie przyda do oceny prędkości czytania urządzenia wpołączeniu z sync$ dd␣if=duzy_plik␣of=/dev/null$ dd␣if=duzy_plik␣of=/dev/null␣bs=1024

NJ/Unix (KIS) Wstęp do systemu Unix 50 / 155

Page 51: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Pomoc

Pomoc

man$ man␣ls

LS(1) User Commands LS(1)

NAMEls - list directory contents

SYNOPSISls [OPTION]... [FILE]...

DESCRIPTIONList information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort.

Mandatory arguments to long options are mandatory for short optionstoo.

-a, --all

NJ/Unix (KIS) Wstęp do systemu Unix 51 / 155

Page 52: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Pomoc

man$ man␣-s␣3␣printf

PRINTF(3) Linux Programmer’s Manual PRINTF(3)

NAMEprintf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf,vsnprintf - formatted output conversion

SYNOPSIS#include <stdio.h>

int printf(const char *format, ...);int fprintf(FILE *stream, const char *format, ...);int sprintf(char *str, const char *format, ...);int snprintf(char *str, size_t size, const char *format, ...);

NJ/Unix (KIS) Wstęp do systemu Unix 52 / 155

Page 53: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Pomoc

info$ info␣find

File: find.info, Node: Invoking find, Next: Invoking locate, Up: Reference

6.1 Invoking ‘find’===================

find [-H] [-L] [-P] [FILE...] [EXPRESSION]

‘find’ searches the directory tree rooted at each file name FILE byevaluating the EXPRESSION on each file it finds in the tree.

The options ‘-H’, ‘-L’ or ‘-P’ may be specified at the start of thecommand line (if none of these is specified, ‘-P’ is assumed). If youspecify more than one of these options, the last one specified takes

NJ/Unix (KIS) Wstęp do systemu Unix 53 / 155

Page 54: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Co/gdzie. . .

Kto

who$ who

[norbert@hel ~]$ whoroot pts/0 2008-11-17 00:09 (norbert.vpn.phys.uni.torun.pl)jkob pts/6 2008-10-29 23:46 (:1.0)jkob pts/7 2008-10-29 23:46 (:2.0)

w$ w

[root@hel /var/log]# w14:57:41 up 58 days, 4:43, 3 users, load average: 0,77, 0,98, 0,91USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 norbert.vpn.phys 13:54 0.00s 0.55s 0.01s wjkob pts/6 :1.0 29Oct08 24days 0.08s 0.08s -tcshjkob pts/7 :2.0 29Oct08 24days 0.25s 0.25s -tcsh

NJ/Unix (KIS) Wstęp do systemu Unix 54 / 155

Page 55: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Co/gdzie. . .

Który, gdzie

which$ which

[norbert@hel /]$ which find/usr/bin/find

where$ where

[norbert@hel ~]$ where find/usr/bin/find./find

NJ/Unix (KIS) Wstęp do systemu Unix 55 / 155

Page 56: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Co/gdzie. . .

finger

finger

$ finger␣tomek

[root@hel /staff/stud]# finger tomekLogin: tomek Name: Tomasz DziubakDirectory: /home/tomek Shell: /bin/tcshNever logged in.New mail received nie lis 23 18:44 2008 (CET)

Unread since nie wrz 14 21:35 2008 (CEST)No Plan.

.plan — plik z planem/opisem (o danej osobie)

NJ/Unix (KIS) Wstęp do systemu Unix 56 / 155

Page 57: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

Procesy

ps

$ ps

[norbert@hel ~]$ psPID TTY TIME CMD3788 pts/0 00:00:00 ps11477 pts/0 00:00:00 tcsh[norbert@hel ~]$

ps

$ ps␣l$ ps␣u

[norbert@hel ~]$ ps uUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDnorbert 3958 0.0 0.0 88212 868 pts/0 R+ 01:16 0:00 ps unorbert 11477 0.0 0.0 88860 1800 pts/0 S 00:10 0:00 -tcsh

-l — jeszcze więcej. . .NJ/Unix (KIS) Wstęp do systemu Unix 57 / 155

Page 58: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

ps

$ ps␣au

[norbert@hel ~]$ ps auUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDnorbert 4083 0.0 0.0 88212 864 pts/0 R+ 01:16 0:00 ps auroot 7230 0.0 0.0 3792 528 tty2 Ss+ Sep26 0:00 /sbin/mingettyroot 7231 0.0 0.0 3792 520 tty3 Ss+ Sep26 0:00 /sbin/mingettyroot 7232 0.0 0.0 3792 532 tty4 Ss+ Sep26 0:00 /sbin/mingettyroot 7233 0.0 0.0 3792 528 tty5 Ss+ Sep26 0:00 /sbin/mingettyroot 7234 0.0 0.0 3792 528 tty6 Ss+ Sep26 0:00 /sbin/mingettyroot 10613 0.0 0.0 88812 1768 pts/0 Ss 00:09 0:00 -tcshroot 11476 0.0 0.0 121128 1272 pts/0 S 00:10 0:00 su - norbertnorbert 11477 0.0 0.0 88860 1800 pts/0 S 00:10 0:00 -tcshjkob 19743 0.0 0.0 88772 1736 pts/6 Ss+ Oct29 0:00 -tcshjkob 19810 0.0 0.0 89080 2080 pts/7 Ss+ Oct29 0:00 -tcshsjw 27205 0.0 0.0 88580 1524 pts/1 Ss+ Oct09 0:00 -bin/tcsh...

NJ/Unix (KIS) Wstęp do systemu Unix 58 / 155

Page 59: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

ps

$ ps␣aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 10308 768 ? Ss Sep26 0:23 init [3]root 2 0.0 0.0 0 0 ? S< Sep26 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S< Sep26 0:00 [migration/0]root 4 0.0 0.0 0 0 ? S< Sep26 9:31 [ksoftirqd/0]root 5 0.0 0.0 0 0 ? S< Sep26 0:13 [watchdog/0]root 6 0.0 0.0 0 0 ? S< Sep26 1:01 [events/0]root 7 0.0 0.0 0 0 ? S< Sep26 0:00 [khelper]root 60 0.0 0.0 0 0 ? S< Sep26 3:56 [kblockd/0]root 62 0.0 0.0 0 0 ? S< Sep26 0:00 [kacpid]root 63 0.0 0.0 0 0 ? S< Sep26 0:00 [kacpi_notify]root 170 0.0 0.0 0 0 ? S< Sep26 0:00 [cqueue]root 172 0.0 0.0 0 0 ? S< Sep26 0:00 [ksuspend_usbd]...

$ ps␣-U␣xyz␣u␣$ ps␣axu␣|␣grep␣xyz-U — uruchomiony przez uid, -u — efektywny uid ps␣eflU␣norbert

NJ/Unix (KIS) Wstęp do systemu Unix 59 / 155

Page 60: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

top

$ top

top - 01:40:39 up 63 days, 14:21, 9 users, load average: 0.00, 0.00, 0.00Tasks: 217 total, 1 running, 216 sleeping, 0 stopped, 0 zombieCpu(s): 0.1% us, 0.2% sy, 0.0% ni, 99.7% id, 0.1% wa, 0.0% hi, 0.0% siMem: 1035832k total, 932752k used, 103080k free, 250916k buffersSwap: 1959888k total, 219152k used, 1740736k free, 363748k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND22183 norbert 16 0 2144 1144 824 R 1.0 0.1 0:00.06 top

1 root 16 0 1736 88 60 S 0.0 0.0 0:17.62 init2 root RT 0 0 0 0 S 0.0 0.0 0:21.02 migration/03 root 34 19 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/04 root RT 0 0 0 0 S 0.0 0.0 0:01.74 migration/15 root 34 19 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/16 root RT 0 0 0 0 S 0.0 0.0 0:02.28 migration/27 root 34 19 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/2

10 root 10 -5 0 0 0 S 0.0 0.0 0:02.57 events/0

VIRT = SWAP + RES RES = CODE + DATA DATA = data + stackSHR – pamięć współdzielona z innymi procesami

NJ/Unix (KIS) Wstęp do systemu Unix 60 / 155

Page 61: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

Usuwanie procesów

kill$ kill␣1234$ kill␣-9␣1234

Zabija wszystkie procesy do których ma się prawa (nigdy nie wykonywaćjako root!):$ kill␣-9␣0

NJ/Unix (KIS) Wstęp do systemu Unix 61 / 155

Page 62: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

Zmiana priorytetów procesów

nice, renice$ nice␣-priorytet␣proces␣argumenty$ nice␣-19␣prg␣13␣1313␣131313$ nice␣-19␣dlugie_obliczenia$ nice␣-19␣jakas_archiwizacja

$ renice␣priorytet␣PID$ renice␣19␣1234

NJ/Unix (KIS) Wstęp do systemu Unix 62 / 155

Page 63: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

Zadania

CTRL-c — przerywa zadanie, CTRL-z — zawiesza zadanie

Uruchomienie zadania w tle$ find␣/␣-name␣"core"␣>␣/tmp/wynik␣&$ nohup␣find␣/␣-name␣"core"␣>␣/tmp/wynik␣&

jobs

$ jobs

[root@hel ~norbert/tmp]# emacs zzz...[CTRL-z][root@hel ~norbert/tmp]# find / > zzz &[2] 20123[root@hel ~norbert/tmp]# jobs[1] + Suspended emacs zzz[2] - Running find / > zzz

NJ/Unix (KIS) Wstęp do systemu Unix 63 / 155

Page 64: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Procesy

fg — przywracanie wykonywania

$ fg␣%1

bg — kontynuacja wykonywania w tle

$ bg␣%2

jobs, kill %N[root@hel ~norbert/tmp]# jobs[2] + Suspended find / > zzz[root@hel ~norbert/tmp]# kill %2[2] Terminated find / > zzz

NJ/Unix (KIS) Wstęp do systemu Unix 64 / 155

Page 65: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

Zmiana tożsamości

$ su$ su␣-$ su␣-c␣polecenie␣userXYZ

$ su␣norbert$ su␣-␣norbert$ su$ su␣-

[root@hel ~]# su norbert[norbert@hel /root]$ exitexit[root@hel ~]# su - norbert[norbert@hel ~]$ suHasło:[norbert@hel /home/norbert]# exitexit[norbert@hel ~]$ su -Hasło:[root@hel ~]#

NJ/Unix (KIS) Wstęp do systemu Unix 65 / 155

Page 66: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Czas

Data, czas, strefa czasowa

date$ date␣MMDDhhmm[[CC]YY][.ss]

$ date$ date␣+%y%m%d-%H%M%S

pon, 13 lis 2008, 10:18:16 CET

081113-101816

Ustawianie strefy czasowejln␣-sf␣/usr/share/zoneinfo/your/zone␣/etc/localtimeln␣-sf␣/usr/share/zoneinfo/Europe/Warsaw␣/etc/localtime

Synchronizacja zegara

$ rdate␣-s␣ntp.task.gda.pl

NJ/Unix (KIS) Wstęp do systemu Unix 66 / 155

Page 67: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń Czas

Liczenie zużytego czasu

time$ time␣polecenie␣arg1␣arg2␣...$ time␣grep␣kot␣/etc/*

...0.052u 0.039s 0:00.64 12.5% 0+0k 11096+8io 0pf+0w

%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)

NJ/Unix (KIS) Wstęp do systemu Unix 67 / 155

Page 68: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

Drukowanie

lpr

$ lpr␣-Pabc␣plik

lpq

$ lpq␣-Pabc

lprm

$ lprm␣nr_zad

NJ/Unix (KIS) Wstęp do systemu Unix 68 / 155

Page 69: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

mail — łatwy sposób wysłania emaila

Ten sposób obsługi jest szczególnie przydatny dla skryptów.

mail$ mail␣-s␣tytul␣adresat

$ mail␣-s␣swieta␣[email protected]␣<␣tresc_listu

• Przydatne dla różnych typów alarmów/komentarzy• email 2 SMS. . .CTRL-d — koniec pliku

NJ/Unix (KIS) Wstęp do systemu Unix 69 / 155

Page 70: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

at, atq, atrm, batch

Wykonywanie zadań w kolejkach i w określonym czasie.Wyjście i wyjście błędów przesyłane jest emailem.

at$ at␣[-q␣kolejka]␣[-f␣plik_z_zadaniami]␣CZAS$ xx

[root@hel ~]# at 7:11at> zadanie1at> <EOT>job 102 at Mon Dec 8 07:11:00 2008[root@hel ~]#[root@hel ~]# at 7:11 Dec 13at> zadanie2at> <EOT>job 103 at Sat Dec 13 07:11:00 2008

-q [a-z] — kolejki są nazywane literami od „a” do „z”. Z czym takżewiążą się priorytety

NJ/Unix (KIS) Wstęp do systemu Unix 70 / 155

Page 71: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

at[root@hel ~]# at 7:11 Dec 13, 2010at> zadanie3at> <EOT>job 104 at Mon Dec 13 07:11:00 2010[root@hel ~]#[root@hel ~]# at -f plik 7:11 Dec 13, 2010job 105 at Mon Dec 13 07:11:00 2010[root@hel ~]#

atq

$ atq

[root@hel ~]# atq102 Mon Dec 8 07:11:00 2008 a root103 Sat Dec 13 07:11:00 2008 a root104 Mon Dec 13 07:11:00 2010 a root105 Mon Dec 13 07:11:00 2010 a root[root@hel ~]#

NJ/Unix (KIS) Wstęp do systemu Unix 71 / 155

Page 72: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

atrm[root@hel ~]# atrm 103 104[root@hel ~]# atq102 Mon Dec 8 07:11:00 2008 a root105 Mon Dec 13 07:11:00 2010 a root[root@hel ~]#

batch[norbert@hel ~]$ batch < plikjob 109 at Tue Dec 2 11:46:00 2008[norbert@hel ~]$

NJ/Unix (KIS) Wstęp do systemu Unix 72 / 155

Page 73: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

Dziennik zadań cyklicznych — crontab

MIN • GODZ • DZIEŃ-Mie • MIES • DZIEŃ-Tyg • z-a-d-a-n-i-e

crontab

$ crontab␣plik$ crontab␣[-u␣user]␣[-l]␣[-e]␣[-r]

[norbert@hel ~]$ crontab2 13 * * 7 skrypt13[norbert@hel ~]$ crontab -l2 13 * * 7 skrypt13[norbert@hel ~]$ crontab -r[norbert@hel ~]$ crontab -lno crontab for norbert

-e — edycja*/30␣*␣*␣*␣*␣/root/bin/chkfw.sh␣>>␣/var/log/chkfw.log — co 30minut0␣8,14,20␣*␣*␣*␣/root/bin/wbijanieCiupagi — wyk. o godz 8, 14, 20

NJ/Unix (KIS) Wstęp do systemu Unix 73 / 155

Page 74: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Przegląd poleceń

Narzędzia tworzenia systemów plików

mkfs$ mkfs.ext3␣/dev/sdc4$ mkfs.ext3␣-L␣’/boot’␣/dev/sdc4$ mkfs.ntfs␣/dev/hdb1$ mkfs.msdos␣/dev/hdb1$ mkfs.reiserfs␣/dev/sdb1

• mkswap␣/dev/sda4• dd␣if=/dev/zero␣of=plik_wymiany␣bs=1024␣count=65536;• swapon␣plik_wymiany• tune2fs␣...• fsck␣/dev/sd2-a — auto-naprawa

NJ/Unix (KIS) Wstęp do systemu Unix 74 / 155

Page 75: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja gzip

Kompresja

gzip, gunzip

$ gzip␣pliktworzy: plik.gz

$ gunzip␣plik.gztworzy plik i usuwa plik.gz

-d — dekompresja (dla gzip)-c — wynik na std wyjście-r — rekurencyjnie podróżuje po katalogu (także dla gzunip)compress, uncompress

$ compress␣pliktworzy: plik.Z

$ uncompress␣plik.Ztworzy plik i usuwa plik.Z

NJ/Unix (KIS) Wstęp do systemu Unix 75 / 155

Page 76: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja tar

tar

tar c$ tar␣cvf␣archiwum.tar␣./projektX

[root@hel ~norbert]# tar cvf archiwum.tar projektXprojektX/projektX/a1projektX/a2projektX/a3

c — createv — verbosef — file

NJ/Unix (KIS) Wstęp do systemu Unix 76 / 155

Page 77: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja tar

tar c — tworzenie archiwum$ tar␣cvf␣-␣./projektX␣|␣gzip␣>␣archiwum.tar.gz

[root@hel ~norbert]# tar cvf - ./projektX | gzip > archiwum.tar.gz./projektX/./projektX/a1./projektX/a2./projektX/a3[root@hel ~norbert]# ll archiwum.tar.gz-rw-r--r-- 1 root root 162 lis 30 23:43 archiwum.tar.gz

tar c$ tar␣czf␣archiwum.tar.gz␣./projektX

NJ/Unix (KIS) Wstęp do systemu Unix 77 / 155

Page 78: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja tar

tar t — podgląd archiwum

$ tar␣tf␣archiwum.tar$ tar␣tzf␣archiwum.tar.gz$ gzip␣-cd␣archiwum.tar.gz␣|␣tar␣tvf␣-$ tar␣tvzf␣archiwum.tar.gz

[root@hel ~norbert]# tar tzf archiwum.tar.gz./projektX/./projektX/a1./projektX/a2./projektX/a3[root@hel ~norbert]# tar tvzf archiwum.tar.gzdrwxr-xr-x root/root 0 2008-11-30 23:39 ./projektX/-rw-r--r-- root/root 0 2008-11-30 23:39 ./projektX/a1-rw-r--r-- root/root 0 2008-11-30 23:39 ./projektX/a2-rw-r--r-- root/root 0 2008-11-30 23:39 ./projektX/a3

NJ/Unix (KIS) Wstęp do systemu Unix 78 / 155

Page 79: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja tar

tar x — wyciąganie z archiwum

$ tar␣xf␣archiwum.tar$ tar␣xzf␣archiwum.tar.gz$ gzip␣-cd␣archiwum.tar.gz␣|␣tar␣xvf␣-$ tar␣xvzf␣archiwum.tar.gz

[root@hel ~norbert]# tar xvzf archiwum.tar.gz./projektX/./projektX/a1./projektX/a2./projektX/a3

NJ/Unix (KIS) Wstęp do systemu Unix 79 / 155

Page 80: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja tar

tar | tar

$ tar␣cf␣-␣projektX/␣|␣tar␣xvf␣-␣-C␣~/tmp/

[root@hel ~norbert]# tar cf - projektX/ | tar xvf - -C ~/tmp/projektX/projektX/a1projektX/a2projektX/a3

$ tar␣cf␣-␣projektX/␣|␣ssh␣ferm␣tar␣xf␣-␣-C␣~/tmp/

NJ/Unix (KIS) Wstęp do systemu Unix 80 / 155

Page 81: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja cpio

cpio

cpio -o — tworzenie archiwum

$ cd␣projektX$ ls|cpio␣-ov␣>␣/tmp/archiwum.cpio

-v — verbose

cpio -i — wyciąganie z archiwum

$ cpio␣-iv␣<␣archiwum.cpio$ cpio␣-ivt␣<␣archiwum.cpio

-t — wyświetla zawartość

cpio -i — wyciąganie z archiwum

$ cpio␣-ivdm␣<␣archiwum.cpio

-d — katalogi, -m — czas modyfikacji

NJ/Unix (KIS) Wstęp do systemu Unix 81 / 155

Page 82: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja cpio

cpio + gzip

$ ls␣|␣cpio␣-o␣|␣gzip␣>␣/tmp/kopia.cpio.gz$ gzip␣-dc␣/tmp/kopia.gz␣|␣cpio␣-it$ cd␣~/nowe_miejsce/$ gzip␣-dc␣/tmp/kopia.gz␣|␣cpio␣-idm

find + cpio + gzip

$ find␣.␣-depth␣-print␣|␣cpio␣-o␣|␣gzip␣>␣/tmp/k.cpio.gz$ find␣.␣-depth␣-print␣-newer␣STAMP|␣cpio␣-o␣|␣\gzip > /tmp/k.cpio.gz

find + cpio ”w-locie”

$ find␣.␣-depth␣-print0␣|␣cpio␣--null␣-pvmd␣new-dir

-print0 i --null — znaki specjalne w nazwach

NJ/Unix (KIS) Wstęp do systemu Unix 82 / 155

Page 83: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja rsync

rsync

rsync — przesyła tylko to co się zmieniło!

rsync

$ rsync␣źródło␣cel$ rsync␣-v␣-a␣--delete␣~/projektX/␣/tmp/kopia/projektX/$ rsync␣-v␣-ax␣--delete␣~/projektX/␣\

158.75.5.111:/tmp/kopia/projektX/

-v — verbose--delete — usuwa stare pliki po stronie docelowej-x — nie pozwala wykraczać poza system pliku (partycję)-n [–dry-run] — tylko pokazuje co się zmieniło-z — kompresuje podczas transmisji--exclude=WZORZEC — pozwala omijać zgodnie ze wzorcem--progress

NJ/Unix (KIS) Wstęp do systemu Unix 83 / 155

Page 84: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja rsync

wget

wget

$ wget␣URL$ wget␣www.is.umk.pl$ wget␣www.is.umk.pl/x/y/z/str.html$ wget␣-r␣ftp://ftp.icm.edu.pl/pub/OpenOffice/stable/3.0.0/$wget␣-r␣-l␣1␣ftp://ftp.icm.edu.pl/pub/OpenOffice/stable/3.0.0/

-r — rekurencja-l␣GŁĘBOKOŚĆ

NJ/Unix (KIS) Wstęp do systemu Unix 84 / 155

Page 85: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Archiwizacja rsync

ftp

ftp$ ftp␣ftp.icm.edu.pl

[root@hel ~norbert/tmp/zzxx]# ftp ftp.icm.edu.plConnected to ftp.icm.edu.pl (193.219.28.140).220-220- FTP na SunSITE (6,5 TB oprogramowania).220- Uwagi: [email protected] (odpowiadamy na wszystkie dot. SunSITE’a)...Name (ftp.icm.edu.pl:root): ftp331 Guest login ok, send your complete e-mail address as password.Password:230 Guest login ok, access restrictions apply.ftp> cd /pub/Linux/fedora/linux/releases/10/Fedora/i386/iso/250 CWD command successful.ftp> get Fedora-10-i386-DVD.isoftp> quit

ls cd get␣file put␣file lcd pwdNJ/Unix (KIS) Wstęp do systemu Unix 85 / 155

Page 86: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

bash

• .login • .logout• .bashrc

alias$ alias␣e=’emacs␣-nw’

[root@hel ~]# e plik.txt

$ alias␣l’ls␣-lat’$ alias␣L=’ls␣-lat␣|␣less’

alias — lista aliasów alias␣e — pokazuje definicjęunalias␣L usuwa alias ’L’

NJ/Unix (KIS) Wstęp do systemu Unix 86 / 155

Page 87: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

.loginfinger

.bashrcalias e=’emacs -nw’alias sx=’ssh ja@moja_ulubiona_maszyna’...

NJ/Unix (KIS) Wstęp do systemu Unix 87 / 155

Page 88: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Zmienne środowiskowe

=, unset, let

$ x=abc

[root@hel ~]# x=abc[root@hel ~]# echo $xabc[root@hel ~]# x="a b ccc"[root@hel ~]# echo $xa b ccc[root@hel ~]# echo "$x"a b ccc[root@hel ~]# echo ’$x’$x[root@hel ~]# x="Jestem w katalogu ‘pwd‘"; echo $xJestem w katalogu /root

NJ/Unix (KIS) Wstęp do systemu Unix 88 / 155

Page 89: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

[root@hel ~]# x=kota[root@hel ~]# echo $xkota[root@hel ~]# y="Ala ma $x"[root@hel ~]# echo $yAla ma kota[root@hel ~]# tab=( kot pies smok )[root@hel ~]# echo $tabkot[root@hel ~]# echo ${tab[0]}kot[root@hel ~]# echo ${tab[1]}pies[root@hel ~]# echo $#tab3

NJ/Unix (KIS) Wstęp do systemu Unix 89 / 155

Page 90: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

interakcja!

$ read␣x

[norbert@hel ~]$ read xdd[norbert@hel ~]$ echo $xdd

zmienne globalne

$ ABC=wartosc$ export␣ABC$ echo␣$ABC$ env$ PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:

NJ/Unix (KIS) Wstęp do systemu Unix 90 / 155

Page 91: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

let$ let␣x=1$ let␣x=x+1

[root@hel ~]# let x=1[root@hel ~]# let x=x+1[root@hel ~]# let "x=x+1"[root@hel ~]# echo $x2[root@hel ~]# let "r=x>5" # tu musi być "[root@hel ~]# echo $r0[root@hel ~]# let "r=x<5"[root@hel ~]# echo $r1[root@hel ~]# let x++[root@hel ~]# echo $x3[root@hel ~]# let "z=3>2 && x>0"[root@hel ~]# echo $z1

NJ/Unix (KIS) Wstęp do systemu Unix 91 / 155

Page 92: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Operatory

- !** * / % + - ++ --< <= > >= == !=&& ||~ & | ^= += -= *= /= %=

+operatory bitowe$ let␣’x=!z’$ let␣’x++’$ a=‘expr␣$x␣+␣1‘

-eq (=), -ne (!=), -gt (>), -ge (>=), -lt (<), -le (<=),-a (&&), -o (||)

$ if␣[␣"$a"␣-le␣"$b"␣]

NJ/Unix (KIS) Wstęp do systemu Unix 92 / 155

Page 93: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Ważne zmienne

• $0␣␣␣␣$1␣$2␣$3␣... • $#␣␣␣␣$*␣$@ • $cwd• $HOME• $PATH• $PROMPT_COMMAND• $PIPESTATUS$ ls|grep␣zzz␣|...$ echo␣${PIPESTATUS[1]}• $SHELL• $? ret-val• $$ PID• $- flagi skryptu

NJ/Unix (KIS) Wstęp do systemu Unix 93 / 155

Page 94: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Postać polecenia

$ polecenie␣arg1␣arg2␣arg3␣...’aaaa␣bbbb␣cccc’ — zamyka jako całość/jeden arg"aaaa␣bbbb␣cccc" — zamyka jako całość/jeden arg wstawiającwartości zmiennych‘polecenie␣arg1␣arg2‘ — wstawia wynik polecenia

$ prg␣"Jan␣Kowalski"␣’$j23’␣660123123$ prg␣"Jan␣Kowalski"␣$j23␣660123123$ prg␣"Jan␣Kowalski"␣"$j23"␣660123123␣"a␣"’b␣c’

$ x="Jak␣to␣zrobic"$ x="Jak␣$x␣zrobic"$ x=’Jak␣$x␣zrobic’

$ x=‘ls‘$ x=$(ls)

[norbert@n ~]$ echo ‘ls‘Desktop Documents Download Music Pictures Public ...

NJ/Unix (KIS) Wstęp do systemu Unix 94 / 155

Page 95: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

$ polecenie1;␣polecenie2;␣polecenie3$mkdir␣/tmp/kopia;␣cd␣~j23/projekt234/;␣tar␣cf␣/tmp/kopia/zzz.tar␣.

$ polecenie1␣|␣polecenie2␣|␣polecenie3$ find␣.␣-depth␣-print␣|␣cpio␣-o␣|␣gzip␣>␣/tmp/k.cpio.gz$ polecenie1␣|&␣polecenie2␣|&␣polecenie32>&1␣| ≡ |&

$ polecenie␣<␣plik$ polecenie␣0<␣plik$ polecenie␣>␣plik$ polecenie␣1>␣plik$ polecenie␣2>␣plik$ polecenie␣&>␣plik$ polecenie␣>>␣plik

eval␣ttt=\"\$"${attrtab[$j]}"\"

NJ/Unix (KIS) Wstęp do systemu Unix 95 / 155

Page 96: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Skrypty

Skrypt = plik z zestawem poleceń do wykonania

Skrypt=program — +x

J23#!/bin/bashecho Jestem skryptem J23echo No to pa\!echo Padaja \$\$\$-yecho ’’# komentarz rozpoczyna się od #

chmod␣+x␣J23

#!/bin/bash#!/bin/bash -x#!/bin/tcsh#!/usr/bin/perl

NJ/Unix (KIS) Wstęp do systemu Unix 96 / 155

Page 97: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

[norbert@hel ~]$ chmod +x J23[norbert@hel ~]$ ./J23Jestem skryptem J23No to pa!Padaja $$$-y[norbert@hel ~]$

bash -x J23[norbert@hel ~]$ bash -x ./J23echo Jestem skryptem J23Jestem skryptem J23echo No to pa!No to pa!echo Padaja $$$-yPadaja $$$-yecho

bash␣-v␣./J23 -v — pokazuje wiersz oryginalny/źródłowy

NJ/Unix (KIS) Wstęp do systemu Unix 97 / 155

Page 98: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

#!/bin/bashecho $*echo $1echo $#

[norbert@hel ~]$ ./J23 a b ca b ca3[norbert@hel ~]$ ./J23

0

NJ/Unix (KIS) Wstęp do systemu Unix 98 / 155

Page 99: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

Opóźnienie

$ sleep␣iles_sekund$ sleep␣20

Załadowanie zawartości pliku

$ source␣plik_z_poleceniami$ source␣definicje

tee$ polecenie␣|␣tee␣plik$ tail␣-f␣/var/log/messages␣|␣grep␣DHCP␣|␣tee␣plik.DHCP

NJ/Unix (KIS) Wstęp do systemu Unix 99 / 155

Page 100: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash bash

$? — wartość ostatnio wykonanegoproramu/skryptu/polecenia

[norbert@n ~]$ mkdir /j23mkdir: cannot create directory ‘/j23’: Permission denied[norbert@n ~]$ echo $?1[norbert@n ~]$ mkdir /tmp/j23[norbert@n ~]$ echo $?0

$ exit␣n

$ exit␣0$ exit␣13

NJ/Unix (KIS) Wstęp do systemu Unix 100 / 155

Page 101: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

if

if then

if wyrażenie warunkowe; thenpoleceniafi

if then else

if wyrażenie warunkowe; thenpolecenia

elsepolecenia

fi

NJ/Unix (KIS) Wstęp do systemu Unix 101 / 155

Page 102: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

if cd.

if then elif else

if wyrażenie warunkowe; thenpolecenia

elif wyrażenie warunkowe; thenpolecenia

elsepolecenia

fi

NJ/Unix (KIS) Wstęp do systemu Unix 102 / 155

Page 103: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

[n@n ~]$ set x=4[n@n ~]$ if (($x < 5)); then echo TAK; fiTAK[n@n ~]$ x=55[n@n ~]$ if [ "$x" -eq "55" ]; then echo TAK; fiTAK[n@n ~]$ if [[ $x -eq "11" && $y = "tt" ]]; then echo TAK; fi

[n@n ~]$ if mkdir "/tmp/ciupaga" 2>/dev/null; then echo Jest; fiJest[n@n ~]$ [[ -d /tmp/CCCC ]] || echo "NIE ma CCCC"NIE ma CCCC[n@n ~]$ [[ -d /tmp/CCCC ]] || mkdir /tmp/CCCC

if [ -f /etc/sysconfig/i18n -a -z "${NOLOCALE:-}" ] ; then ...if [ -f /etc/sysconfig/i18n ] && [ -z "${NOLOCALE:-}" ] ; then ...

NJ/Unix (KIS) Wstęp do systemu Unix 103 / 155

Page 104: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

if [ -L plik_kat]; ...

$ if␣[␣-L␣plik_kat];␣then␣...$ if␣[␣-f␣~/mojPlik];␣then␣...

L znaczenied kataloge istniejef pliko jestem właścicielemr prawo czytaniaw prawo pisaniax prawo wykonywanias plik o zerowej długości! negacja (np.: ! -d ddd)

f1␣-nt␣f2 f1 nowszy niż f2f1␣-ot␣f2 f1 starszy niż f2

NJ/Unix (KIS) Wstęp do systemu Unix 104 / 155

Page 105: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

#!/bin/bashif [[ $# == 0 || $1 == "−h" ]]; then

echo Nie podałeś argumentówecho Skrypt wymaga abyś podał następujące argumentyecho 1 −−− .....echo 2 −−− .....exit 1

fi

echo cześć właściwa#

[norbert@n ~]$ ./zNie podałeś argumentówSkrypt wymaga abyś podał następujące argumenty1 --- .....2 --- .....

NJ/Unix (KIS) Wstęp do systemu Unix 105 / 155

Page 106: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

while

while

while wyrażenie_warunkowe; dopolecenia

done

#!/bin/bashlet i=0while (( $i < 10)); do

echo Nie będę pil piwalet i++

donewhile (( $i < 20)); do

echo będę się uczył programowania w Pascalulet i++

done

while [ $i −le n ]; do ...

NJ/Unix (KIS) Wstęp do systemu Unix 106 / 155

Page 107: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

for

for

foreach element in lista_elementów; dopolecenia

done

zamiana co na-co

#!/bin/bashfor i in ∗$1∗; do

mv $i ‘echo $i | sed −n s/$1/$2/p‘done

NJ/Unix (KIS) Wstęp do systemu Unix 107 / 155

Page 108: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

for

zajetosc katalogUzytkownikow

#!/bin/bashfor i in ‘ ls $1 ‘; do

y=(‘du −sk $1/$i‘)if (( ${y[0]} > $2 )); then echo $i; fi

done

multimail adresy tresc tytul

#!/bin/bashfor m in ‘cat $1 ‘; do

echo mail $m −s "$3" < $2done

NJ/Unix (KIS) Wstęp do systemu Unix 108 / 155

Page 109: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

for

for + awk

for name in $(awk ’BEGIN{FS=":"}{print $1}’ < "/etc/passwd" )doecho "$name"

done

for ((a; b; c))

for ((a=1, b=1; a <= LIMIT ; a++, b++))do # The comma chains together operations.echo −n "$a−$b␣"

done

NJ/Unix (KIS) Wstęp do systemu Unix 109 / 155

Page 110: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

case

case

case wyr inwyr_warunkoweA)polecenia;;

wyr_warunkoweB)polecenia;;

wyr_warunkoweC)polecenia;;

∗)polecenia

esac

NJ/Unix (KIS) Wstęp do systemu Unix 110 / 155

Page 111: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Instrukcje bash

case

case "$menuItem" in"ladowanie")

# polecenia ładujące coś tam ...dozrobienia=$(cat $zadania);;

"kopia")# wykonanie stosownych kopii ...wykonajKopie;;

"raport")# zrobinie raportu z czegoś ...echo Zrobiłem $nZadan zadań;;

∗)polecenia

esac

NJ/Unix (KIS) Wstęp do systemu Unix 111 / 155

Page 112: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Funkcje

Funkcje w bash’u

function nazwa_funkcji {polecenia ...

}

lub

nazwa_funkcji () {polecenia ...

}

wypiszHELP () {echo polecenie J23echo zadaniem polecenia jest ...

}

# wywołanie funkcji :wypiszHELP

NJ/Unix (KIS) Wstęp do systemu Unix 112 / 155

Page 113: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Funkcje

funfun () {if [ "$1" = "Zenek" ]; thenecho ’Cześć!’return 0;

elseecho ’Ciebie nie znam’return 1;

fi}# wywołania:funfun "Zenek"funfun "Wieńczysław"

ErrorEk () {echo "Errorek:␣$∗"

}# wywołanie:ErrorEk Ciupaka w plecach

NJ/Unix (KIS) Wstęp do systemu Unix 113 / 155

Page 114: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Funkcje

maksik () {let w="$1␣>␣$2␣?␣$1␣:␣$2"return $w;

}maksik 222 33echo Wynik maksika to: $?

ll () {ls −la −−color $∗ | less −r

}

NJ/Unix (KIS) Wstęp do systemu Unix 114 / 155

Page 115: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Skrypt do archiwizacji

ARCH /staff/stud j23 /tmp/j23.tar.gz

#!/bin/bash# $1 − z ktorego katalogu# $2 − ktory katalog# $3 − plik z archiwum# $4 − jesli jest okresla na jaka maszyne arch skopiowacif [ −z "$3" ]; then

echo Skrypt ARCHecho "ARCH␣kat−init␣kat−src␣plik−arch␣[maszyna−arch]"exit 1

ficd $1 || exit 13if [ $# = 3 ]; then

tar czf $3 $2else

tar czf − $2 | ssh $4 "cat␣>␣$3"fi

ARCH␣/staff/stud␣j23␣/tmp/j23.tar.gz␣m.fizyka.umk.plNJ/Unix (KIS) Wstęp do systemu Unix 115 / 155

Page 116: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Skrypt do wyboru użytkowników wskazanej grupy unixowej

Wiersz pliku group: stud::104:Wiersz pliku passwd:tomek:x:6777:104:Tomasz␣Kowalski:/home/tomek:/bin/tcsh

$ gawk␣-F:␣’$1␣==␣"stud"␣{print␣$3}’␣/etc/group$ gawk␣-F:␣’$1␣==␣"’$1’"␣{print␣$3}’␣/etc/group

$ gawk␣-F:␣’$4␣==␣"104"␣{␣print␣$1}’␣/etc/passwd$ gawk␣-F:␣’$4␣==␣"’$grpID’"␣{␣print␣$1}’␣/etc/passwd

Group

#!/bin/bash# $1 − nazwa grupygrpID=‘gawk −F: ’$1 == "’$1’" {print $3}’ /etc/group‘gawk −F: ’$4 == "’$grpID’" { print $1}’ /etc/passwd

Group␣studNJ/Unix (KIS) Wstęp do systemu Unix 116 / 155

Page 117: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Archiwizacja grupy użytkowników

ARCHGrp

#!/bin/bash# $1 − nazwa grupy ktorej uzytkownicy maja byc zarchiwizowani# $2 − katalog, w którym maja być umieszczone archiwaif [ $# != 2 ]; then echo "złe wywolanie"; exit 1; fifor u in $(Group $1); do# ARCH /home/ $u $2/${u}.tar.gz

ARCH /home/ $u $2/${u}‘date +%y%m%d−%H%M‘.tar.gzdone

• ARCHGrp␣stud␣/backups

NJ/Unix (KIS) Wstęp do systemu Unix 117 / 155

Page 118: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Skrypt kontrolujący zajętość partycji

df

[root@hel ~norbert]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/root 28842780 27769956 1072824 97% //dev/sda1 287782 81582 206200 29% /boot/dev/shm 1548156 0 1548156 0% /dev/shm/dev/sda7 328891672 192795332 136096340 59% /staff/dev/sdb1 307663800 226789352 80874448 74% /windows

$ df␣|␣tail␣--lines=+2␣|␣sed␣s/%//␣|␣gawk␣’$5␣>␣95␣{print␣$6}’

ZajetoscPart próg

#!/bin/bashdf | tail −−lines=+2 | sed s/%// | gawk ’$5 > ’$prog’ {print $6}’

df | tail --lines=+2 | sed s/%// | gawk ’$5 > ’$prog

ZajetoscPart␣95NJ/Unix (KIS) Wstęp do systemu Unix 118 / 155

Page 119: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Skrypt kontrolujący zajętość partycji II

ZajetoscPart

#!/bin/bashif [ "$1" == ’’ ]; thenecho ZajetoscPart prog [email ]echo ’prog − prog zajetosci ’echo ’email − email, jesli podany wynik zostanie przeslany emailem’exit 1;fix=‘df −P | tail −−lines=+2 | sed s/%// | \

gawk ’$5 > ’$1’ {print $6}’‘if [ −z "$x" ]; then exit 0; fiif [ $# == 1 ]; then

echo $xelse

echo $x | mail −s "Zajetosc␣ partycji ␣przekroczona,␣prog␣[$1]" $2fi

ZajetoscPart␣95␣[email protected]

NJ/Unix (KIS) Wstęp do systemu Unix 119 / 155

Page 120: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Analiza zajętości katalogów użytkowników

ZajetoscHOME

#!/bin/bashfor i in $( ls $1); do

y=(‘du −sk $1/$i‘)if [[ "${y[0]}" > "$2" ]]; then

cat <<EOF | mail $iTwój katalog zajmuje za dużo miejsca .Można zajmować: $2 KB. Zajmujesz: $y[1] KB.

Proszę o usunięcie części zasobów.

J23 & 007EOF

fidone

ZajetoscHOME␣/staff/stud␣100000

NJ/Unix (KIS) Wstęp do systemu Unix 120 / 155

Page 121: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — bash Przykłady skryptów

Wynik skryptuTwoj katalog zajmuje za duzo miejsca.Mona zajmowac: 20 KB. Zajmujesz: 9024 KB.

Prosze o usuniecie czesci zasobow.

J23 & 007

ZajetoscHOME␣/staff/stud␣100000

NJ/Unix (KIS) Wstęp do systemu Unix 121 / 155

Page 122: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

csh

• .login • .logout• .cshrc

alias$ alias␣e␣emacs␣-nw

[root@hel ~]# e plik.txt

$ alias␣l␣ls␣-lat$ alias␣L␣’ls␣-lat␣\!*␣|␣less’

[root@hel ~]# alias ImieNazwisko ’echo \!:2’[root@hel ~]# ImieNazwisko Ala ZiebaZieba

alias — lista aliasów alias␣e — pokazuje definicjęunalias␣L usuwa alias ’L’

NJ/Unix (KIS) Wstęp do systemu Unix 122 / 155

Page 123: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

.loginfinger

.cshrcalias e emacs -nwalias sx ssh ja@moja_ulubiona_maszyna...

NJ/Unix (KIS) Wstęp do systemu Unix 123 / 155

Page 124: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Zmienne środowiskowe

set, setenv, @ unset, unsetenv

set$ set␣x=abc

[root@hel ~]# set x=abc[root@hel ~]# echo $xabc[root@hel ~]# setautologout 60cwd /roothome /rootpath (/root/bin /usr/sbin /sbin /usr/kerberos/sbin /usr/kerberos/bin /usr/local/sbin /usr/local/bin /sbin /bin /usr/sbin /usr/bin /usr/X11R6/bin .)prompt [root@%m %c2]%#shell /bin/tcshstatus 0user rootx abc

NJ/Unix (KIS) Wstęp do systemu Unix 124 / 155

Page 125: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

[root@hel ~]# set x=kota[root@hel ~]# echo $xkota[root@hel ~]# set y="Ala ma $x"[root@hel ~]# echo $yAla ma kota[root@hel ~]# set tab=(kot pies smok)[root@hel ~]# echo $tabkot pies smok[root@hel ~]# echo $tab[1]kot[root@hel ~]# echo $tab[2]pies[root@hel ~]# echo $#tab3[root@hel ~]# echo $?tab1[root@hel ~]# echo $?tabat0

NJ/Unix (KIS) Wstęp do systemu Unix 125 / 155

Page 126: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

set z interakcją!

$ set␣x=$<

[norbert@hel ~]$ set x=$<dd[norbert@hel ~]$ echo $xdd

setenv$ setenv␣ABC␣wartosc$ setenv$setenv␣PATH␣"/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:"

setenv␣X␣$<

NJ/Unix (KIS) Wstęp do systemu Unix 126 / 155

Page 127: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

@$ @␣x=1$ @␣x=($x␣+␣1)

[root@hel ~]# @ x=1[root@hel ~]# @ x=($x + 1)[root@hel ~]# echo $x2[root@hel ~]# @ r=($x > 5)[root@hel ~]# echo $r0[root@hel ~]# @ r= ( $x < 5 )[root@hel ~]# echo $r1[root@hel ~]# @ x++[root@hel ~]# echo $x3[root@hel ~]# @ z=( 3>2 && $x > 0 )[root@hel ~]# echo $z1

NJ/Unix (KIS) Wstęp do systemu Unix 127 / 155

Page 128: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Operatory:

- !

* / % + - ++ --

< <= > >= == !=

&& ||

~ & | ^

NJ/Unix (KIS) Wstęp do systemu Unix 128 / 155

Page 129: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Ważne zmienne

• $argv␣␣␣␣$1␣$2␣$3␣...• $cwd• $HOME• $PATH• $prompt• $shell• $status• $$

NJ/Unix (KIS) Wstęp do systemu Unix 129 / 155

Page 130: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Postać polecenia

$ polecenie␣arg1␣arg2␣arg3␣...’aaaa␣bbbb␣cccc’ — zamyka jako całość/jeden arg"aaaa␣bbbb␣cccc" — zamyka jako całość/jeden arg wstawiającwartości zmiennych‘polecenie␣arg1␣arg2‘ — wstawia wynik polecenia

$ prg␣"Jan␣Kowalski"␣’$j23’␣660123123$ prg␣"Jan␣Kowalski"␣$j23␣660123123$ prg␣"Jan␣Kowalski"␣"$j23"␣660123123␣"a␣"’b␣c’

$ set␣x="Jak␣to␣zrobic"$ set␣x="Jak␣$x␣zrobic"$ set␣x=’Jak␣$x␣zrobic’

$ set␣x=‘ls‘

[norbert@n ~]$ echo ‘ls‘Desktop Documents Download Music Pictures Public ...

NJ/Unix (KIS) Wstęp do systemu Unix 130 / 155

Page 131: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

$ polecenie1;␣polecenie2;␣polecenie3$mkdir␣/tmp/kopia;␣cd␣~j23/projekt234/;␣tar␣cf␣/tmp/kopia/zzz.tar␣.

$ polecenie1␣|␣polecenie2␣|␣polecenie3$ find␣.␣-depth␣-print␣|␣cpio␣-o␣|␣gzip␣>␣/tmp/k.cpio.gz$ polecenie1␣|&␣polecenie2␣|&␣polecenie3

$ polecenie␣>␣plik$ polecenie␣>>␣plik$ polecenie␣>&␣plik

eval␣set␣ttt=\"‘echo␣’$’$attrtab[$j]‘\"

NJ/Unix (KIS) Wstęp do systemu Unix 131 / 155

Page 132: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Skrypty

Skrypt = plik z zestawem poleceń do wykonania

Skrypt=program — +x

J23#!/bin/tcshecho Jestem skryptem J23echo No to pa\!echo Padaja \$\$\$-yecho ’’# komentarz rozpoczyna się od #

chmod␣+x␣J23

#!/bin/tcsh -x

#!/bin/bash

#!/usr/bin/perlNJ/Unix (KIS) Wstęp do systemu Unix 132 / 155

Page 133: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

[norbert@hel ~]$ chmod +x J23[norbert@hel ~]$ ./J23Jestem skryptem J23No to pa!Padaja $$$-y

[norbert@hel ~]$

tcsh -x J23[norbert@hel ~]$ tcsh -x ./J23echo Jestem skryptem J23Jestem skryptem J23echo No to pa!No to pa!echo Padaja $$$-yPadaja $$$-yecho

tcsh␣-v␣./J23 -v — pokazuje wiersz oryginalny/źródłowyNJ/Unix (KIS) Wstęp do systemu Unix 133 / 155

Page 134: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

$argv#!/bin/tcsh

echo $argvecho $argv[1]echo $#argv#

[norbert@hel ~]$ ./J23 a b ca b ca3[norbert@hel ~]$ ./J23

argv: Subscript out of range.

NJ/Unix (KIS) Wstęp do systemu Unix 134 / 155

Page 135: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

Opóźnienie

$ sleep␣iles_sekund$ sleep␣20

Załadowanie zawartości pliku

$ source␣plik_z_poleceniami$ source␣definicje

tee$ polecenie␣|␣tee␣plik$ tail␣-f␣/var/log/messages␣|␣grep␣DHCP␣|␣tee␣plik.DHCP

NJ/Unix (KIS) Wstęp do systemu Unix 135 / 155

Page 136: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash csh

$status

[norbert@n ~]$ mkdir /j23mkdir: cannot create directory ‘/j23’: Permission denied[norbert@n ~]$ echo $status1[norbert@n ~]$ mkdir /tmp/j23[norbert@n ~]$ echo $status0

$ exit␣n

$ exit␣0$ exit␣13

NJ/Unix (KIS) Wstęp do systemu Unix 136 / 155

Page 137: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

if

ifif(wyrażenie) polecenie

if thenif(wyrażenie) then

polecenie1...

endif

if then elseif(wyrażenie) then

poleceniaelse

poleceniaendif

NJ/Unix (KIS) Wstęp do systemu Unix 137 / 155

Page 138: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

[norbert@n ~]$ set x=3[norbert@n ~]$ if ( $x < "5" ) echo TAKTAK[norbert@n ~]$ set x=6[norbert@n ~]$ if ( $x < "5" ) echo TAK[norbert@n ~]$ set x=11[norbert@n ~]$ if ( $x < "5" ) echo TAK[norbert@n ~]$ set x=aa[norbert@n ~]$ if ( $x == "aa" ) echo TAKTAK[norbert@n ~]$ if ( $?x ) echo TAKTAK[norbert@n ~]$

NJ/Unix (KIS) Wstęp do systemu Unix 138 / 155

Page 139: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

if(-L xxxx) ...

$ if(-f␣~/xyz-ustawienia)␣then$ ␣␣source␣~/xyz-ustawienia$ endif

$ if(!␣-e␣jakis_plik)␣touch␣jakis_plik

L znaczenied kataloge istniejef pliko jestem właścicielemr prawo czytaniaw prawo pisaniax prawo wykonywaniaz plik o zerowej długości

NJ/Unix (KIS) Wstęp do systemu Unix 139 / 155

Page 140: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

#!/bin/tcshif($#argv == 0) then

echo Nie podałeś argumentówecho Skrypt wymaga abyś podał następujące argumentyecho 1 --- .....echo 2 --- .....exit 1

endif

echo cześć właściwa#

[norbert@n ~]$ ./zNie podałeś argumentówSkrypt wymaga abyś podał następujące argumenty1 --- .....2 --- .....

NJ/Unix (KIS) Wstęp do systemu Unix 140 / 155

Page 141: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

goto

gotogoto etykieta...etykieta:

if($#argv == 0) goto opisif($#argv == 1) goto typaif($#argv == 2) goto typbecho Skrypt źle wywołanyexit 2opis:...exit 1typa:...exit 0typb:...exit 0

NJ/Unix (KIS) Wstęp do systemu Unix 141 / 155

Page 142: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

while

whilewhile(wyrażenie)

poleceniaend

#!/bin/tcsh@ i= 0while($i < 10)

echo Nie będę pil piwa@ i= $i + 1endwhile($i < 20)

echo będę się uczył programowania w Pascalu@ i= $i + 1end

NJ/Unix (KIS) Wstęp do systemu Unix 142 / 155

Page 143: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

foreach

foreachforeach element (lista_elementów)

poleceniaend

zamiana co na-co#!/bin/tcshforeach i (*$1*)

mv $i ‘echo $i | sed -n s/$1/$2/p‘end

zajetosc katalogUzytkownikow

#!/bin/tcshforeach i (‘ls $1‘)

set y=‘du -sk $1/$i‘if($y[1] > $2) echo $i

end

multimail adresy tresc tytul

#!/bin/tcshforeach m (‘cat $1‘)

mail $m -s "$3" < $2end

NJ/Unix (KIS) Wstęp do systemu Unix 143 / 155

Page 144: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

switch

switch

switch(łańcuch_znakowy)case etykietaA:

poleceniabreaksw

case etykietaB:poleceniabreaksw

case etykietaC:poleceniabreaksw

default:poleceniabreaksw

endsw

NJ/Unix (KIS) Wstęp do systemu Unix 144 / 155

Page 145: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Instrukcje csh

switch...switch($1)

case [tT][aA][kK]:set tak=1breaksw

case [nN][iI][eE]:set tak=0breaksw

default:echo zly argument 1: [$1].exit 13breaksw

endsw...

NJ/Unix (KIS) Wstęp do systemu Unix 145 / 155

Page 146: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Skrypt do archiwizacji

ARCH /staff/stud j23 /tmp/j23.tar.gz#!/bin/tcsh# $1 - z ktorego katalogu# $2 - ktory katalog# $3 - plik z archiwum# $4 - jesli jest okresla na jaka maszyne arch skopiowacif($#argv < 3 || $#argv > 4) then

echo Zle wywolanieecho "ARCH kat-init kat-src plik-arch [maszyna-arch]"exit 1

endifcd $1if($status != 0) exit 13if($#argv == 3) then

tar czf $3 $2else

tar czf - $2 | ssh $4 "cat > $3"endif

ARCH␣/staff/stud␣j23␣/tmp/j23.tar.gz␣m.fizyka.umk.plNJ/Unix (KIS) Wstęp do systemu Unix 146 / 155

Page 147: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Skrypt do wyboru użytkowników wskazanej grupy unixowej

Wiersz pliku group: stud::104:Wiersz pliku passwd:tomek:x:6777:104:Tomasz␣Kowalski:/home/tomek:/bin/tcsh

$ gawk␣-F:␣’$1␣==␣"stud"␣{print␣$3}’␣/etc/group$ gawk␣-F:␣’$1␣==␣"’$1’"␣{print␣$3}’␣/etc/group

$ gawk␣-F:␣’$4␣==␣"104"␣{␣print␣$1}’␣/etc/passwd$ gawk␣-F:␣’$4␣==␣"’$grpID’"␣{␣print␣$1}’␣/etc/passwd

Group#!/bin/tcsh# $1 - nazwa grupyset grpID=‘gawk -F: ’$1 == "’$1’" {print $3}’ /etc/group‘gawk -F: ’$4 == "’$grpID’" { print $1}’ /etc/passwd

Group␣stud

NJ/Unix (KIS) Wstęp do systemu Unix 147 / 155

Page 148: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Archiwizacja grupy użytkowników

ARCHGrp#!/bin/tcsh# $1 - nazwa grupy ktorej uzytkownicy maja byc zarchiwizowaniif($#argv != 1) exit 1set uset=‘Group $1‘foreach u ($uset)# ARCH /home/ $u ${u}.tar.gz

ARCH /home/ $u ${u}‘date +%y%m%d-%H%M‘.tar.gz

• ARCHGrp␣stud

NJ/Unix (KIS) Wstęp do systemu Unix 148 / 155

Page 149: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Skrypt kontrolujący zajętość partycji

df

[root@hel ~norbert]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/root 28842780 27769956 1072824 97% //dev/sda1 287782 81582 206200 29% /boot/dev/shm 1548156 0 1548156 0% /dev/shm/dev/sda7 328891672 192795332 136096340 59% /staff/dev/sdb1 307663800 226789352 80874448 74% /windows

$ df␣|␣tail␣--lines=+2␣|␣sed␣s/%//␣|␣gawk␣’$5␣>␣95␣{print␣$6}’

ZajetoscPart prog

#!/bin/tcshdf | tail --lines=+2 | sed s/%// | gawk ’$5 > ’$prog’ {print $6}’

df | tail --lines=+2 | sed s/%// | gawk ’$5 > ’$prog

ZajetoscPart␣95

NJ/Unix (KIS) Wstęp do systemu Unix 149 / 155

Page 150: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Skrypt kontrolujący zajętość partycji II

#!/bin/tcshset x=‘df | tail --lines=+2 | sed s/%// | \

gawk ’$5 > ’$1’ {print $6}’‘if("$x" == ’’) exit 0if($#argv == 1) then

echo $xelse

echo $x | mail -s "Zajetosc partycji przekroczona, prog [$1]" $2endif

ZajetoscPart␣95␣[email protected]

NJ/Unix (KIS) Wstęp do systemu Unix 150 / 155

Page 151: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Analiza zajętości katalogów użytkowników

ZajetoscHOME#!/bin/tcsh

#foreach i (‘cat $1‘)foreach i (‘ls $1‘)

set y=‘du -sk $1/$i‘if($y[1] > $2) then

cat <<EOF | mail $iTwój katalog zajmuje za dużo miejsca.Można zajmować: $2 KB. Zajmujesz: $y[1] KB.

Proszę o usunięcie części zasobów.

J23 & 007EOF

endifend

ZajetoscHOME␣/staff/stud␣100000NJ/Unix (KIS) Wstęp do systemu Unix 151 / 155

Page 152: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Powłoki — csh, tcsh, sh, bash Przykłady skryptów

Wynik skryptuTwoj katalog zajmuje za duzo miejsca.Mona zajmowac: 20 KB. Zajmujesz: 9024 KB.

Prosze o usuniecie czesci zasobow.

J23 & 007

ZajetoscHOME␣/staff/stud␣100000

NJ/Unix (KIS) Wstęp do systemu Unix 152 / 155

Page 153: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Wirtualizacja — uruchamianie systemów wirtualnych

Wirtualizacja

VirtualBoxVirtual PCXenKVMVMWare

poczta.umk.pl

NJ/Unix (KIS) Wstęp do systemu Unix 153 / 155

Page 154: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Poczta UMK/WWW

Poczta UMK

poczta.umk.pl

NJ/Unix (KIS) Wstęp do systemu Unix 154 / 155

Page 155: NorbertJankowski - UMKfizyka.umk.pl/~karolamik/unix/pomoc/2.pdf · 2010-10-19 · NorbertJankowski Katedra Informatyki Stosowanej Uniwersytet Mikołaja ... 3 SerweryWydziałoweiUMK

Knoppix

Knoppix — Linux lekarstwo/diagnostyka/praca . . .

• Linux na CD/DVD• http://www.knoppix.net/• www.knoppix.pl/

Inne dystrybucje CD/DVDSUSE LiveFC LiveCentOS LiveLinux-EduCD+ wiele innych

NJ/Unix (KIS) Wstęp do systemu Unix 155 / 155