Spis treści

Praca z plikami i poleceniami

- Po czym rozpoznać Unixa?
- Kot przebiegający po klawiaturze wpisuje poprawną komendę...
                       /* nadesłał: Grzegorz Mucha, IS 2012 */

DO PRZYGOTOWANIA

Samodzielnie należy przed tym laboratorium przygotować:

WPROWADZENIE

Uruchamianie programów

Argumenty poleceń

Opcje - przykłady

Format długi, krótki:

ls -a ; ls --all

Przestawianie:

ls -a -l ; ls -l -a

Argumenty:

ls --ignore=\*.png ; ls -I \*.png

Scalanie:

DOBRZE:

ls -al ; ls -la ; ls -alI \*.png

ŹLE!!!

ls -Ila \*.png

Praca z plikami

System plików ma strukturę drzewiastą:

/
/bin
/bin/bash
/home
/home/gjn
/home/gjn/plik
/home/gjn/katalog/plik

Praca z plikami

Nazewnictwo

Polecenia dotyczące plików

Polecenia dotyczące katalogów

Metaznaki

W nazwach plików do których użytkownik odwołuje się w powłoce można używać 2 znaków specjalnych, które zastępują ciągi znaków w nazwie pliku (ścieżce dostępu):

Prawa dostępu

Właściciele pliku

(others = all - user - group)

Atrybuty pliku

Wynik polecenia ls -l:

  -rwxrwxrwx N uzytkownik grupa rozmiar data nazwa

Prawa dostępu

   -   rwx   rwx   rwx
  TYPE USER GROUP OTHERS

Typy plików: TYPE: - d b c l p s

Przykład atrybutów

Przykład:

$ ls -l cruise
-rw-r--r-- 1 tom staff 683 Jul 4 2000 cruise
$ ls -l /tmp/cruise
-rwxr-xr-x 1 tom staff 783 Jul 4 2000 /tmp/cruise

SUID, SGID i sTicky bit

$ ls -l /usr/bin/passwd 
-rwsr-xr-x 1 root root 31704 lis 14 15:41 /usr/bin/passwd
$ ls -l | grep tmp
drwxrwxrwt  22 root root 12288 lis 14 15:41 tmp

Zmiana praw dostępu

chmod prawa nazwa_pliku

chmod u+r cruise; chmod u-w cruise
chmod g+x,o-r cruise
chmod u+s,g+s,+t tmp/

Numeryczne prawa dostępu

r=4, w=2, x=1
su=4, sg=2, t=1
chmod NNNN plik

na przykład:

chmod 755 plik
chmod u=rwx,g=rx,o=rx plik
chmod 644 plik
chmod u=rw,g=r,o=r plik
chmod 44 plik
chmod 0044 plik

Domyślne prawa, umask

$ umask 
0022
$ umask -S
u=rwx,g=rx,o=rx
$ touch nowy1 ; ls -l nowy1 
-rw-r--r--  1 gjn gjn 0 Feb 26 20:39 nowy1
$ umask 700 ; touch nowy2 ; ls -l nowy2
----rw-rw-  1 gjn gjn 0 Feb 26 20:40 nowy2
$ umask 077 ; touch nowy3 ; ls -l nowy3
-rw-------  1 gjn gjn 0 Feb 26 20:40 nowy3
$ umask 000 ; touch nowy4 ; ls -l nowy4
-rw-rw-rw-  1 gjn gjn 0 Feb 26 20:40 nowy4

Prawa do katalogów

Przykład:

$ chmod a=rx katalog
$ ls katalog
plik
$ cd katalog
$ cd ..
$ chmod a=r katalog ; ls katalog 
plik
$ cd katalog 
sh: cd: katalog: Permission denied
$ chmod a=x katalog ; cd katalog
$ ls
ls: .: Permission denied

Zmiana właściciela

chown user  plik
chgrp grupa plik

Zmienić właściciela może tylko root.

Dowiązania symboliczne

    ln -s plik dowiazanie
  -rwxrwxrwx N uzytkownik grupa rozmiar data nazwa

Midnight Commander

Jest to program do zarządzania plikami. Obsługuje się go podobnie jak inne typu „commander”. Dodatkowo:

Z MC dostępney jest edytor mcedit.

ĆWICZENIA

15 Polecenia

16 Pliki

    unix/
    unix/lab2/
    unix/lab2/alfa/
    unix/lab2/alfa/one
    unix/lab2/beta/
    unix/lab2/beta/two
    unix/lab2/beta/prima/
    unix/lab2/beta/prima/three

Pliki należy zakładać przy pomocy jednego z poleceń:

    echo "jakis napis" > plik
    touch plik

Wynik można sprawdzić przy pomocy tree.

17 Prawa dostępu

    ls -ld /tmp
    ls -l  /usr/bin/passwd
    

18 Linki

    ln -s plik dowiazanie

19 MC

Uruchomić Midnight Commander, mc i zmienić prawa dostępu do wybranego pliku Ctrl+X c.

VARIA

Automatyczne generowanie listy obecności o poranku:

gjn:~$ who|awk '{print $1;}'|sort|uniq|xargs -i"{}" grep "{}" /etc/passwd|cut -d : -f5|cut -d, -f1|awk '{print $2,$1;}' |sed s/\ /,/g |sort >unix08-0800.cvs

Jak założyć swoją stronę domową na serwerze student?

$ cd
$ mkdir public_html
$ echo "to jest test strony uzytkownika: $USER" > public_html/index.html
$ chmod o+x .
$ chmod u+rwx,g=,o=x public_html
$ chmod a+r public_html/index.html