1. Trang chủ
  2. » Thể loại khác

TÀI LIỆU THỰC HÀNH MÔN HỆ ĐIỀU HÀNH

17 15 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

H đi u hành MS-DOS và Windows thì có môi tr ng đánh l nh command-line, h đi u hành Unix và Linux có môi tr ng Shell.

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 c b n liên quan đ n đ ng d n

̇ 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), còn g i là mã nh phân Các máy tính đ u tiên mu n th c hi n đ c ch ng trình thì ng i dùng ph i n p ch ng trình d i d ng các bit 0 và 1 ây là m t đi u r t phi n toái và c c k khó kh n v i con ng i kh c ph c nh c đi m này các nhà thi t k và xây d ng h đi u hành đ u có kèm theo m t ch ng trình đ c bi t Thông qua ch ng trình này ng i dùng có th nh p các l nh d i d ng ngôn ng

c p cao (ti ng Anh) đ yêu c u h đi u hành th c hi n m t công vi c nào đó

Ch ng trình đ c bi t này đ c g i là Shell (B thông d ch l nh) H đi u hành MS-DOS và Windows thì có môi tr ng đánh l nh command-line, h đi u hành Unix và Linux có môi tr ng Shell Chú ý r ng Shell không là m t thành c a h

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

H đi u hành Linux có th có nhi u lo i Shell khác nhau, d i đây là m t vài 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

Ki m tra lo i Shell đang đ c s d ng:

$echo $SHELL

1.2 Kh i đ ng Shell

N u chúng ta đ ng nh p vào h đi u hành Linux d i d ng Text thì m c nhiên chúng ta s ph i tr c ti p làm vi c v i Shell Tr ng h p dùng Linux d i d ng

đ h a (graphic) thì Shell s đ c kh i đ ng khi ta kh i đ ng c a s terminal (trong Fedora vào Applications / Accessories / Terminal) Khi Shell đ c kh i

đ 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

$

Tuy nhiên d ng th c c a d u nh c có th thay đ i tùy h th ng Nó có th bao

g m c tên c a máy tính (hostname), th m c hi n hành đang làm vi c c a b n (current working directory)

1.3 Shell script là gì?

Nh đã nói trên shell là n i cho phép ng i dùng nh p l nh (thông th ng t bàn phím) và th c thi l nh Nh ng thay vì ng i dùng nh p tu n t các câu l nh

và th c thi chúng m t cách tu n t thì ng i dùng có th l u các l nh này vào m t 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

M c đích: L nh cd cho phép b n di chuy n đ n nh ng đi m khác nhau trên cây

th m c

Cú pháp t ng quát:

$cd path

Trong đó path là đ ng d n ch đ n th m c mà ta mu n chuy n đ n

Ví d :

Chuy n đ n th m c /usr/local/bin th c hi n nh sau:

Chuy n v th m c c a ng i dùng hi n t i ta đánh l nh: cd

Trang 4

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

Dùng đ đ nh v m t tài nguyên nào đó (thông th ng là file) trong h th ng cây

th m c xác đ nh xem b n đang v trí nào (hay còn g i là th m c hi n

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

Xác đ nh đ y đ toàn b đ ng d n t th m c g c (ký hi u: / ) đ n n i c n đ nh

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

ng d n t ng đ i là đ ng d n đ c tính t v trí hi n hành đ n v trí c n đ nh

v M t đ ng d n t ng đ i không bao gi b t đ u v i ký t ‘/’

Ví d : gi s chúng ta đang th m c hi n hành là /usr Khi đó đ chuy n đ n th

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

$cd local/bin

(Trong khi n u s d ng đ ng d n tuy t đ i thì ph i đánh l nh: $cd /usr/local/bin)

Th m c cha c a th m c hi n hành đ c ký hi u b ng chu i hai ch m: “ ” Ký

hi u này th ng đ c s d ng v i l nh cd đ chuy n v th m c cha c a th m c

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)

Chúng ta hoàn toàn có th s d ng ký hi u “ ” trong đ ng d n t ng đ i Gi s

có 2 đ ng d n /usr/local/bin và /usr/local/share và chúng ta đang có th m c hi n hành là /usr/local/bin di chuy n qua th m c /usr/local/share ta dùng l nh:

$cd /share

L nh này có ngh a là yêu c u h đi u hành di chuy n v th m c cha c a bin (là /usr/local) và chuy n ti p đ n th m c share

Ký hi u d u ch m “.” đ c dùng đ th hi n th m c hi n hành và đ c s d ng

đ 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

Trong h đi u hành Linux m i ng i dùng khi đ ng nh p vào đ u có m t th m c

cá nhân đ l u tr d li u riêng Khi mu n tr v th m c cá nhân ng i dùng có

th dùng l nh cd không tham s Cho dù đang b t k th m c nào trong cây th

m c

Ngoài ra ký hi u “~” c ng đ c dùng đ xác đ nh là th m c các nhân Ví d ta

th c hi n ch ng trình myprog trong th m c hi n hành, v i tham s là myfile.txt

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

$ /myprog ~/myfile.txt

Bi n PATH là m t bi n trong môi tr ng shell PATH l u danh sách các đ ng

d n mà shell d a vào đó đ tìm ki m m t ch ng trình hay file nào đó khi c n thi t sau khi tìm ki m th m c hi n hành không có ki m tra bi n 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)

ng d n /root/shellscript/ đã đ c đ a vào bi n PATH

L nh ls đ c dùng đ li t kê n i dung c a th m c ây là l nh đ c dùng th ng

nh t trong Linux L nh ls đ c s d ng r t nhi u cách v i các tham s t ng ng

D i đây là m t vài tr ng h p s d ng c a l nh ls

$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à

m t file bình th ng, ký t “d” xác đ nh đó là th m c T p h p các ký t theo sau

đ 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

(write), x (execute) Nhóm 3 ký t đ u th hi n quy n c a ng i s h u (owner), 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 quy n cho t t c nh ng ng i dùng khác

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

ni m n i k t s đ c đ c p sau)

C t (3): xác đ nh ch s h u c a t p tin ho c th m c

C t (4): tên c a nhóm có quy n t ng ng trên t p tin ho c th m c

C t (5): kích th c t p tin ho c th m c tính theo bytes

C t (6): th i gian mà file hay th m c đ c c p nh t

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

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

1G: di dhuy n đ n dòng đ u c a file

/chu i: nh y đ n dòng ch a chu i c n tìm

n: ti p t c tìm chu i đã tìm tr c đó

q: thoát

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

Ký t đ i di n đ c dùng đ xác đ nh tên file hay t p h p các tên phai theo m t

khuôn m u (pattern) nào đó D i đây li t kê các ký t đ i di n và ý ngh a c a nó:

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

D i đây là m t vài ví d minh h a vi c s d ng ký t đ i di n

* 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ì

L nh cp th c hi n copy file ho c th m c D i đây là các d ng c b n c a l nh

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

L nh mv dùng đ di chuy n m t ho c nhi u files vào m t th m c khác, ho c l nh

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

c dùng đ xóa file ho c th m c D i đây là vài cách dùng c a l nh rm

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ó

c dùng đ t o th m c

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

4.6 L nh "which"

B n có th ki m tra m t ch ng trình nào đó có n m trong các th m c đ c ch

ra b i PATH hay không b ng cách dùng l nh which Ví d , đây ta s th y r ng trong h th ng Linux hi n tai không có ch ng trình tên sense:

$ which sense

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

Tr ng h p khác ta l i thành công khi tìm l nh ls:

$ which ls

/usr/bin/ls

4.7 S d ng "which -a"

Dùng c -a đ yêu c u which hi n th t t c các ch ng trình đ c yêu c u có trong các th m c đ c mô t b i PATH:

$ which -a ls

/usr/bin/ls

/bin/ls

N u b n mu n tìm nhi u thông tin h n ngòai v trí c a m t ch ng trình b n có

th dùng ch ng trì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

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 không b gi i h n trong ph m vi tìm ki m ch ng trình, b n có th tìm ki m m t

t p tin b t k mà b n mu n b ng cách s d ng m t tiêu chu n tìm ki m nào đó Ví

d , đ tìm m t t p tin có tên README, b t đ u t th m c /usr/share/doc ta th c

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

B n có th s d ng các ký t đ i di n trong tham s -name, mà b n bao b c nó

b ng c p nháy đ n hay đ t ký t \ phía tr c ký t đ i di n đó Ví d , chúng ta

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]

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\*

Tùy ch n -type cho phép b n tìm ki m các đ i t ng trong h th ng t p tin theo

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

Trang 12

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

$ date

Mon Jan 7 18:14:52 EST 2002

B n có th tìm các t p tin mà nó đ c t o ra trong vòng 24 gi v a qua b ng l nh sau:

$ find -name \? -mtime -1

./a

Ho c b n có th tìm các t p tin mà chúng đ c t o ra tr c cách đây đã h n 24

gi :

$ find -name \? -mtime +0

./b

./c

./d

Tùy ch n -size cho phép b n tìm các t p tin d a trên kích th c c a chúng M c

đ 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

m i vi c d dàng h n Các h u t đ c ch p nh n là b (kh i 512-byte), c (bytes), k (kilobytes), and w (2-byte) Bên c nh đó, b n có th thêm vào d u c ng đ nói

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

Ví d , đ tìm các t p tin bình th ng mà nó nh h n 50 bytes ta dùng l nh sau:

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

/usr/bin/krdb

/usr/bin/run-nautilus

/usr/bin/sgmlwhich

/usr/bin/muttbug

V i m c đích là xây d ng m t h đi u hành đa ng i dùng, ngay t lúc đ u H H Unix (và Linux sau này) đã đ c thi t k đ đáp ng yêu c u này Trong H H đa

ng i dùng ph i đ m b o sao cho ho t đ ng c a m t ng i dùng không th làm

h ng h th ng hay phá ho i d li u c a ng i dùng khác tìm hi u rõ h n

H H Linux đã th c hi n vi c này th nào, trong ph n này chúng ta tìm hi u các

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

Trên h th ng Linux (hay Unix) file và th m c đ c gán quy n truy c p cho 3

đ i t ng: ng i s h u file (owner), nhóm ng i dùng (group) và nh 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

- Ng i dùng root này có quy n read(r) và write(w)

- Nh ng ng i dùng thu c nhóm root ch có quy n read(r)

- Nh ng ng i dùng khác c ng ch có quy n (r)

Quy n truy xu t c a file đ c qui đ nh b i c t đ u tiên (vd: -rw-r r ) D i đây

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

L nh chmod đ c s d ng đ thay đ i quy n truy xu t file và th m c Khi s

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

c n thi t l p đ c bi u di n b i m t dãy s nh phân nh ví d sau:

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

Ngày đăng: 08/09/2020, 18:08

HÌNH ẢNH LIÊN QUAN

Ni dung ca file đc l it kê the ot ng trang màn hình. du yt qua ni dung c a file ta dùng các phím ch c n ng nh  sau:  - TÀI LIỆU THỰC HÀNH MÔN HỆ ĐIỀU HÀNH
i dung ca file đc l it kê the ot ng trang màn hình. du yt qua ni dung c a file ta dùng các phím ch c n ng nh sau: (Trang 8)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w