1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực hành hệ điều hành 6 chương + SOURCE

17 122 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 542,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

C ng Th c Hành Môn H i u Hành

-

M c Tiêu: Cài đ t H H Linux và s d ng shell script đ tìm hi u các thành

ph n trong H H Linux nh : h th ng file, quá trình, b nh và xu t nh p

N i dung:

Bu i 1: Các l nh c b n c a Shell

Bu i 2: C b n v l p trình Shell

Bu i 3: L p trình c u trúc và vòng l p trong Shell

Bu i 4: Qu n lý ti n trình

Bu i 5: Qu n lý vào ra và t p tin

Bu i 6: Ôn t p

Ph l c: Cài đ t Ubuntu

Trang 2

CÁC L NH SHELL C B N

N i dung th c hành

̇ Tìm hi u v shell

̇ Các l nh liên quan đ n vi c kh o sát th m c và file

̇ Các l nh thao tác file

̇ Quy n truy xu t file (file permission)

1 Shell – B thông d ch l nh

1.1 Shell là gì?

Chúng ta bi t r ng máy tính ch có th th c hi n các l nh d ng nh phân (bit 0, 1),

đi u hành mà nó s d ng h đi u hành đ th c thi l nh, thao tác file…

Shell thông d ng:

BASH (

Bourne-Again SHell )

Brian Fox and Chet Ramey Free Software Foundation

Là Shell thông

d ng nh t trong

H H Linux CSH (C SHell) Bill Joy

University of California (For BSD)

Là Shell có cú pháp

r t gi ng ngôn ng

C KSH (Korn SHell) David Korn

AT & T Bell Labs

Trang 3

M t vài l nh liên quan đ n shell

Li t kê t t c các lo i shell có th có trong h th ng hi n t i dùng l nh:

$cat /etc/shells

$echo $SHELL

1.2 Kh i đ ng Shell

đ h a (graphic) thì Shell s đ c kh i đ ng khi ta kh i đ ng c a s terminal

đ ng ng i dùng s đ c đón chào và b t đ u nh p l nh t d u nh c (prompt) nh sau

$

(current working directory)

1.3 Shell script là gì?

file text và yêu c u shell th c hi n file này i u này đ c g i là shell script

2 Các l nh c b n c a Linux

2.1 L nh chuy n th m c cd và đ ng d n trong linux

th m c

Cú pháp t ng quát:

$cd path

Ví d :

Trang 4

2.2 ng d n (Path) trong h đi u hành Linux

hành) trong cây th m c s d ng l nh: $pwd

Ví d :

Có 2 lo i đ ng d n th ng đ c s d ng là: ng d n tuy t đ i và đ ng d n t ng

đ i

2.3 ng d n tuy t đ i

v

Ví d :

/dev

/usr/bin

/usr/local/bin

chuy n vào th m c /user/local/bin dùng l nh nh sau:

$cd /user/local/bin

2.4 ng d n t ng đ i

m c /usr/local/bin chúng ta s d ng l nh:

$cd local/bin

2.5 Th m c cha “ ”

hi n hành:

Ví d : Gi s chúng ta đang th m c hi n hành là /usr/local/bin và th c hi n

l nh

$cd

Trang 5

Khi đó chúng ta s đ c di chuy n v th m c /usr/local (th ki m tra l i b ng

l nh $pwd)

$cd /share

/usr/local) và chuy n ti p đ n th m c share

2.6 Th m c hi n hành “.”

đ yêu c u shell th c hi n m t ch ng trình hay shell script nào đó trong th m c

hi n hành

Ví d : $./myprog

myprog là m t shell script trong th m c hi n hành

2.7 Th m c cá nhân “~”

m c

th m c cá nhân b ng l nh sau:

$ /myprog ~/myfile.txt

2.8 Bi n môi tr ng PATH

đang l u nh ng đ ng d n nào ta dùng l nh:

$echo $PATH

Chú ý: PATH ph i là ký t hoa

Trang 6

thêm đ ng d n m i vào danh sách c a bi n PATH ta có th g n đ ng d n

c n thêm vào sau biên PATH nh sau:

PATH=$PATH:<path>

Ví d : (chú ý PATH=$PATH ph i vi t li n nhau)

3 Các l nh liên quan đ n vi c kh o sát th m c và file: ls, less và file

3.1 L nh ls (list files và th m c)

$ls: li t kê file trong th m c hi n hành

Ví d :

$ls -l: li t kê files trong th m c hi n hành v i thông tin đ y đ (long format)

Ví d :

Trang 7

K t qu c a l nh ls v i tham s -l đ c chia thành 7 c t:

(1) (2) (3) (4) (5) (6) (7)

C t (1): xác đ nh quy t truy xu t c a file ho c th m c Ký hi u “-” th hi n đó là

đ c chia làm 3 nhóm, m i nhóm 3 ký t Các ký t này có th là r (read), w

nhóm 3 ký t k th hi n quy n cho nhóm (group) và nhóm 3 ký t cu i th hi n

C t (2): th hi n s l ng n i k t kay liên k t (link) đ n t p tin ho c th m c (khái

C t (7): tên file ho c th m c

3.2 L nh less

L nh less cho phép xem n i dung c a file text

Cú pháp: $ less tên_file

Ví d :

K t qu th c hi n l nh trên nh sau:

Trang 8

N i dung c a file đ c li t kê theo t ng trang màn hình duy t qua n i dung

c a file ta dùng các phím ch c n ng nh sau:

Page Up ho c b: cu n lên 1 trang

Page Down ho c space: cu n xu ng 1 trang

G: di chuy n đ n dòng cu i c a file

3.3 L nh file

L nh file đ c dùng đ xác đ nh file thu c lo i file gì, ch ng h n nh file: ASCII text, Bourne-Again shell script text, JPEG image data, RPM…

Cú pháp: $file tên_file

4 Các l nh thao tác file

4.1 Ký t đ i di n (wildcard)

Trang 9

Ký t đ i di n Ý ngh a

* Trùng kh p v i b t k m t hay nhi u ký t nào

? Trùng kh p v i b t k ký t đ n nào [t p_h p_các_ký_t ] Trùng kh p v i b t k ký t nào n m trong

t p_h p_các_ký_t T p_h p_các_ký_t có th đ c

th hi n d i d ng 1 kho n Ví d [A-Z] th hi n t p

h p các ký t hoa

[! t p_h p_các_ký_t ] Trùng kh p v i b t k ký t nào KHÔNG n m trong

t p_h p_các_ký_t

* T t c tên file

g* T t c các file có tên b t đ u b ng ch g

b*.txt T t c các file có tên b t đ u b ng ch b và k t thúc v i txt Data??? T t c các file có tên b t đ u v i Data và ti p theo là chính

xác 3 ký t [abc]* T t c các file có tên b t đ u b ng a ho c b ho c c theo sau

là b t k ký t gì [A-Z]* T t c các file có tên b t đ u b ng ký t hoa theo sau là b t

k ký t gì

BACKUP.[0-9][0-9][0-9]

T t c các file có tên b t đ u v i BACKUP k đ n là d u

ch m và ti p theo là 3 ký s [!a-z]* T t c các file có tên b t đ u KHÔNG ph i là ký t th ng

theo sau là b t k ký t gì

4.2 L nh cp (copy)

cp

cp file1 file2 Copy n i dung c a file1 vào file2 N u file2 ch a t n t i thì

s đ c t o ra, ng c l i n i dung c a file2 s b chép

ch ng

cp -i file1 file2 Gi ng nh trên, nh ng trong tr ng h p file2 đã t n t i thì

ng i dùng s đ c nh c nh tr c khi file2 b chép ch ng

cp file1 dir1 Copy file1 vào trong th m c dir1

cp –R dir1 dir2 N u dir2 ch a t n t i thì dir2 đ c t o ra và n i dung th

m c 1 đ c chép vào Tr ng h p dir2 đã t n t i thi th

m c dir1 đ c t o ra trong dir2 và n i dung c a th m c dir1 đ c chép vào dir1 trong dir2

4.3 L nh mv (move)

Trang 10

đ i tên thành dir2 Tr ng h p dir2 đã t n t i thì dir1 s đ c di chuy n vào dir2

4.4 L nh rm (remove)

Rm file1 file2 Xóa file1 và file2

Rv –r dir1 dir2 Xóa th m c dir1 và dir2 cùng v i toàn b n i dung c a nó

4.5 L nh mkdir (make directory):

c dùng đ t o th m c

Cú pháp: $mkdir tên_th _m c

4.6 L nh "which"

$ which sense

which: no sense in (/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin)

$ which ls

/usr/bin/ls

4.7 S d ng "which -a"

$ which -a ls

/usr/bin/ls

/bin/ls

4.8 L nh whereis

$ whereis ls

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz

Ta th y r ng that ls có m t trong hai n i là /bin và /usr/bin H n th chúng ta còn

đ c thông báo r ng có tài li u h ng d n s d ng n m trong th m c

/usr/share/man

4.9 L nh find

Trang 11

L nh find là m t ti n ích khác cho phép b n tìm ki m các t p tin V i find b n

hi n l nh sau:

$ find /usr/share/doc -name README

/usr/share/doc/ion-20010523/README

/usr/share/doc/bind-9.1.3-r6/dhcp-dynamic-dns-examples/README

/usr/share/doc/sane-1.0.5/README

4.9.1 S d ng các ký t đ i di n v i l nh find

mu n tìm t p tin README v i các ph n m r ng khác nhau nh sau:

$ find /usr/share/doc -name README\*

/usr/share/doc/iproute2-2.4.7/README.gz

/usr/share/doc/iproute2-2.4.7/README.iproute2+tc.gz

/usr/share/doc/iproute2-2.4.7/README.decnet.gz

/usr/share/doc/iproute2-2.4.7/examples/diffserv/README.gz

/usr/share/doc/pilot-link-0.9.6-r2/README.gz

/usr/share/doc/gnome-pilot-conduits-0.8/README.gz

/usr/share/doc/gimp-1.2.2/README.i18n.gz

/usr/share/doc/gimp-1.2.2/README.win32.gz

/usr/share/doc/gimp-1.2.2/README.gz

/usr/share/doc/gimp-1.2.2/README.perl.gz

[578 additional lines snipped]

4.9.2 Tìm không phân bi t ch hoa và ch th ng v i find

Ta có th dùng l nh sau:

$ find /usr/share/doc -name '[Rr][Ee][Aa][Dd][Mm][Ee]*'

Hay dùng tham s -iname:

$ find /usr/share/doc -iname readme\*

4.9.3 Tùy ch n type c a find

nh ng ki u khác nhau Các tham s có th c a tùy ch n -type là b (cho thi t b

d ng kh i), c (thi t b d ng ký t ), d (th m c), p ( ng d n có tên), f (t p tin

th ng), l (liên k t m m), và s (socket) Ví d , đ tìm ki m các liên k t m m trong th m c /usr/bin mà nó có ch a chu i vim ta th c hi n l nh sau:

$ find /usr/bin -name '*vim*' -type l

/usr/bin/rvim

/usr/bin/vimdiff

/usr/bin/gvimdiff

4.9.4 find và tùy ch n mtimes

Trang 12

-rw - 1 root root 0 Jan 4 18:00 d

$ date

Mon Jan 7 18:14:52 EST 2002

sau:

$ find -name \? -mtime -1

./a

gi :

$ find -name \? -mtime +0

./b

./c

./d

4.9.5 Tùy ch n -size

đ nh, đ i s c a -size là các kh i 512-byte, tuy nhiên vi c thêm vào các h u t làm

r ng l n h n ho c d u tr đ nói là nh h n

$ find /usr/bin -type f -size -50c

/usr/bin/krdb

/usr/bin/run-nautilus

/usr/bin/sgmlwhich

/usr/bin/muttbug

5 Quy n truy xu t file (file permission)

l nh sau:

chmod

su

chown

chgrp

Trang 13

ây là các l nh c b n nh t liên quan đ n vi c thi t l p các quy n truy xu t đ n file Tuy nhiên tr c khi đ c p k đ n các l nh trên Chúng ta s tìm hi u m t chút v các quy n truy xu t trên file

đ i t ng: ng i s h u file (owner), nhóm ng i dùng (group) và nh ng

ng i dùng khác (everybody else) Các quy n có th đ c gán cho 3 đ i t ng này là: quy n đ c (read), quy n vi t (write) và quy n th c thi (execute)

kh o sát quy n truy c p c a m t file ta dung l nh ls v i tham s -l nh sau:

V i l nh ls –l install.log li t kê các thông tin c a file install.log:

- Ch s h u (owner) c a file là root

là s đ gi i thích thông tin c a c t đ u tiên này

5.1 L nh chmod

d ng l nh chmod ph i cung c p quy n c n thi t l p cho file hay th m c Quy n

rwx rwx rwx = 111 111 111

rw- rw- rw- = 110 110 110

Quy n đ c, vi t và th c thi cho các ng i dùng khác Quy n đ c, vi t và th c thi cho nhóm ng i s h u file Quy n đ c, vi t và th c thi cho nhóm ng i s h u file

“-” là file th ng

“d” là th m c

Trang 14

r = 100 = 4 (read)

hi u rõ h n v vi c thi t l p quy n truy xu t chúng ta hãy xem ví d sau Gi

truy xu t đ n file này

d ng nh sau:

d ng

777 (rwx rwx rwx) M i ng i đ u có toàn quy n, thi t l p này th ng r t ít

đ c s d ng

755 (rwx r-x r-x) Ch s h u có toàn quy n, nh ng ng i còn l i ch có

quy n đ c và th c thi Thi t l p này th ng đ c dùng cho

ch ng trình mà m i ng i có th dùng

700 (rwx - -) Ch s h u có th đ c, vi t và th c thi Nh ng ng i khác

không có quy n gì c H u d ng cho nh ng ch ng trình

ch đ c s d ng và gi riêng cho ch s h u

666 (rw- rw- rw-) T t c ng i dùng có quy n đ c và vi t

644 (rw- r r ) Ch s h u có quy n đ c vi t, nh ng ng i khác ch có

quy n đ c H u d ng cho file d li u, ch có ch s h u có

th thay đ i, nh ng ng i khác chi đ c

600 (rw- - -) Ch s h u có quy n đ c vi t, nh ng ng i khác không có

quy n gì c H u d ng cho file d li u quan tr ng mà ch

s h u mu n gi riêng cho mình

Quy n trên th m c

Trang 15

Giá tr thi t l p Mô t

777 (rwx rwx rwx) M i ng i đ u có toàn quy n (li t kê, t o và xóa)

755 (rwx r-x r-x) Ch s h u có toàn quy n, nh ng ng i còn l i ch có th

li t kê n i dung th m c, không có quy n t o và xóa file trong th m c

700 (rwx - -) T t c m i ng i đ u không th truy xu t th m c này,

ngo i tr ng i s h u có toàn quy n

5.2 L nh su (superuser)

h p này

tr l i ng i dùng c ta dùng l nh exit

5.3 L nh chown

pháp nh sau:

có th th c hi n l nh chown ph i có quy n root (dùng l nh su)

Ví d :

root

Trang 16

- Chuy n v th m c g c /

- Chuy n ra th m c trên m t m c (local)

Bài 3: Th c hi n t o m t script có tên hello đ n gi n trong th m c /usr nh sau:

$cat >hello

$echo “Xin chao!!!”

$^D (b m ctrl+D)

$chmod 755 hello

- Th c hi n chuy n th m c v th m c cá nhân và th c hi n shell trên v i

cú pháp: sh hello

Bài 4: S d ng đ ng d n tuy t đ i đ th c hi n shell hello

Bài 5: Xem n i dung c a bi n PATH hi n t i c a h th ng Thêm đ ng d n vào

dù đang đ ng b t k v trí nào?

Bài 6: Th c hi n l nh ls –l trong th m c /bin Xác đ nh các quy n c a ng i s

Bài 7: Th c hành l nh file b ng cách tìm các file d ng ASCII và dùng l nh less

xem n i dung c a các file đó

Bài 8: T o cây th m c nh sau trong th m c cá nhân c a mình

Myweb

|-images

| | icon

| | background

| | animation

|-databases

|-scripts

|-java

Trang 17

Bài 9: Tìm m t s file có ph n m r ng html và class trong h th ng file và th c

hi n copy vài file html vào th m c Myweb và vài file class vào th m c

Myweb/scripts

Bài 10: Th c hi n l nh mv đ di chuy n các file class trong th m c

Myweb/scripts vào th m c Myweb/java

Bài 11: Th c hi n xóa các th m c: Myweb/scripts, Myweb/images/animation Bài 12: Thi t l p quy n truy xu t cho th m c Myweb/databases sao cho ch có

trên nó

Bài 13: Thi t l p quy n trên th m c Myweb/java sao cho ng i dùng có toàn

Bài 14: Ý ngh a c a l nh chmod trong bài 3 là gì?

Ngày đăng: 21/10/2014, 20:55

TỪ KHÓA LIÊN QUAN

w