Tải bản đầy đủ (.pdf) (58 trang)

Bài giảng Hệ điều hành Unix-Linux: Chương 3 - Đặng Thu Hiền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (585.38 KB, 58 trang )

Hệ iều hành UNIX-Linux
Chương 3. Hệ thống file
tck12
Đặng Thu Hiền
Khoa Công nghệ thông tin
Trường Đại học Công nghệ
Đại học Quốc gia Hà Nội
1


Khái niệm cơ bản
n 

Một đối tượng iển hình trong các hệ iều hành ó là file

n 

Tệp (file) là đơn vị lưu trữ nhỏ nhất trong hệ iều hành Unix/Linux

n 

File là một tập hợp dữ liệu có tổ chức được hệ iều hành quản lý

n 

Cách tổ chức dữ liệu trong file thuộc về chủ của nó là người ã tạo ra file

n 

File có thể là:
n 



n 

n 

n 

n 

một v n bản (trường hợp đặc biệt là chương trình nguồn trên C, shell
script ...)
một chương trình ngơn ngữ máy,

Hệ iều hành tổ chức việc lưu trữ nội dung file trên các thiết bị nhớ lâu
dài và đảm bảo các thao tác lên file.
Hệ iều hành đảm bảo các chức n ng liên quan đến file nên người dùng
khơng cần biết file của mình lưu ở vùng nào trên a từ, bằng từ cách nào
đọc/ghi lên các vùng của a từ mà vẫn thực hiện được yêu cầu tìm
kiếm, xử lý lên các file
Hệ iều hành quản lý file theo tên gọi của file (tên file) và một số thuộc
tính liên quan đến file
2


Khái niệm cơ bản
n 

n 

n 


Để làm việc được với các file, hệ iều hành không chỉ
quản lý nội dung file mà cịn phải quản lý các thơng
tin liên quan đến các file.
Thư mục (directory) là đối tượng được dùng để chứa
thông tin về các file, hay nói theo một cách khác, thư
mục chứa các file
Các thư mục c ng được hệ iều hành quản lý trên
vật dẫn ngồi và vì vậy, theo ngh a này, thư mục
c ng được coi là file

3


Tên file/thư mục
n 
n 
n 

n 

n 

n 
n 

n 

n 


Tên file trong Linux có thể dài tới 256 ký tự
Gồm các chữ cái, chữ số, dấu gạch nối, gạch chân, dấu chấm
Tên thư mục/file trong Linux có thể có nhiều hơn một dấu chấm
n  Ví dụ: This_is.a.VERY_long.filename
Xâu con của tên file từ dấu chấm cuối cùng được gọi là phần mở
rộng của tên file (hoặc file).
Phần mở rộng ở ây không mang ý ngh a như một số hệ iều
hành khác (chẳng hạn như MS-DOS)
Phân biệt chữ hoa và chữ thường đối với tên thư mục/file
Nếu trong tên thư mục/file có chứa khoảng trống, đặt tên vào
trong cặp dấu nháy kép để sử dụng.
Một số ký tự không được sử dụng trong tên thư mục/file: !, *, $,
&, #
Tập các tệp có trong máy do Unix/Linux quản lý được gọi là hệ
thống tệp

4


Ký hiệu chỉ nhóm file
n 

n 

Có thể sử dụng các ký hiệu đặc biệt * và ? để
chỉ định nhóm các tệp
Ví dụ:
ab*: Tất cả các tệp có tên bắt đầu bằng ab
n  ab*.c: Tất cả các tệp có tên bắt đầu bằng ab và
kết thúc bằng .c

n 

n 

a?cd: Tất cả các tệp có tên bắt đầu bằng chữ a,
sau ó là một ký tự bất kỳ rồi kết thúc là cd

5


Cấu trúc hệ thống file
n 
n 

Cấu trúc logic dạng cây
Một số tên thư mục đặc
biệt:
n 
n 
n 

n 

/ : Thư mục gốc
. : Thư mục hiện hành
.. : Thư mục cha

Ví dụ:
n 
n 


/ : Thư mục gốc
usr là thư mục con
của / và là thư mục
cha của lib , local …
6


Một số thư mục đặc biệt
n 

Thư mục gốc /
n 

n 

Thư mục /root
n 

n 

Đây là thư mục gốc chứa đựng tất cả các thư mục con có trong hệ thống.
Thư mục /root có thể được coi là "thư mục riêng" của siêu người dùng.
Thư mục này được sử dụng để lưu trữ các file tạm thời, nhân Linux và
ảnh khởi động, các file nhị phân quan trọng (những file được sử dụng
đến trước khi Linux có thể gắn kết đến phân vùng /user), các file
ng
nhập quan trọng, bộ đệm in cho việc in ấn, hay vùng lưu tạm cho việc
nhận và gửi email. Nó c ng được sử dụng cho các vùng trống tạmthời khi
thực hiện các thao tác quan trọng, ví dụ như khi xây dựng (build) một gói

RPM từ các file RPM nguồn.

Thư mục /bin
n 

thư mục "binaries" lưu trữ các chương trình khả thi có trên hệ thống Khi
có nhiều hơn các file khả thi có trong Linux, có thêm các thư mục /sbin, /
usr/bin được sử dụng để lưu trữ

7


Một số thư mục đặc biệt
n 

Thư mục /dev
n 

n 

Thư mục /etc
n 

n 

Lưu trữ các thư viện hàm và thủ tục

Thư mục /lost+found
n 


n 

Lưu trữ tất cả các thông tin hay các file cấu hình hệ thống

Thư mục /lib
n 

n 

Chứa các trình iều khiển thiết bị

Lưu file được khơi phục sau khi có bất kỳmột vấn đề hoặc gặp một lỗi về
ghi a

Thư mục /mnt
n 

n 

Nơi để kết nối các thiết bị (ví dụ a cứng, a mềm...) vào hệ thống file
chính nhờ lệnh mount
Các thư mục con của /mnt chính là gốc của các hệ thống file được kết
nối:
n 
n 

n 

/mnt/floppy: a mềm, /mnt/hda1: vùng đầu tiên của
/mnt/hdb3: vùng thứ ba của a cứng thứ 2 (hdb) ...


a cứng thứ nhất (hda),

Thư mục /tmp: /tmp là thư mục dùng để chứa các file tạm.
n 

8

thư mục /tmp được rất nhiều chương trình trong Linux sử dụng như một
nơi để lưu trữ các file tạmthời.


Một số thư mục đặc biệt
n 

Thư mục /usr
n 

Trung tâm lưu trữ tất cả các lệnh hướng đến người dùng
Hầu hết các file nhị phân cần cho Linux đều được lưu trữ ở ây

n 

Thư mục con /usr/src bao gồmcác thư mục con chứa các chương trình nguồn của nhân Linux.

n 

n 

Thư mục /home

n 
n 

n 

Thư mục /var
n 

n 

Dành cho nhân (kernel) của hệ iều hành và thực tế ây là một hệ thống file độc lập do nhân
khởi tạo

Tthư mục /misc và thư mục /opt
n 

n 

Chứa nhân của hệ thống

Thư mục /proc
n 

n 

Lưu trữ các file chứa các thông tin luôn luôn thay đổi: bộ đệmin, vùng lưu tạmthời cho việc
nhận và gửi thư (mail)...

Thư mục /boot
n 


n 

Chứa các thư mục cá nhân của người dùng
Tên người dùng được lấy làmtên của thư mục con.

Cho phép lưu trữ mọi đối tượng vào hai thư mục này

Thư mục /sbin
n 

Thư mục lưu giữ các file hệ thống thường tự động chạy

9


Đường dẫn
n 

n 

Để định vị một tệp hoặc một thư mục trong hệ thống
tệp, ta cần một đường dẫn
Ví dụ:
n 
n 

n 

Đường dẫn đến thư mục: /usr/bin

Đường dẫn đến tệp: /usr/bin/vi (vi là tên một hệ soạn
thảo v n bản trên Unix)

Đường dẫn có nhiều thành phần, các thành phần là
tên thư mục hoặc tên tệp (thường ở vị trí cuối cùng)
cách nhau bởi dấu /

10


Đường dẫn tuyệt đối và tương đối
n 

Đường dẫn tuyệt đối bắt đầu bởi dấu /
n 

n 

n 

Ví dụ: /home/hiendt/tailieu.txt

Đường dẫn tương đối không phải là đường dẫn tuyệt
đối
Đường dẫn tương đối dùng để chỉ cách định vị tệp/
thư mục từ thư mục hiện hành
n 

Ví dụ: Nếu thư mục hiện tại là hiendt thì để chỉ file
tailieu.txt, chỉ cần viết tailieu.txt hoặc ./tailieu.txt (ký

hiệu . để chỉ thư mục hiện thời)

11


Cách tổ chức
n 

n 

n 

Trên a hệ thống file là dãy tuần tự các khối lôgic
mỗi khối chứa hoặc 512B hoặc 1024B hoặc bội của
512B
Các khối dữ liệu được địa chỉ hóa bằng cách ánh chỉ
số liên tiếp, mỗi địa chỉ được chứa trong 4 byte (32
bit)
Cấu trúc nội tại gồm 4 thành phần kế tiếp nhau: Boot
block (dùng để khởi động hệ thống), Siêu khối (Super
block), Danh sách inode và Vùng dữ liệu.

12


Siêu khối
n 

Chứa thông tin liên quan đến trạng thái của hệ thống file
n 

Kích thước của danh sách inode, định kích cỡ vùng không gian
trên Hệ thống file quản lý các inode.
n  Kích thước của hệ thống file.
n  Danh sách chỉ số các khối rỗi
n  Chỉ số các khối rỗi thường trực trên siêu khối được dùng để
áp
ứng nhu cầu phân phối mới
n  Chỉ số của khối rỗi tiếp theo trong danh sách các khối rỗi
n  Một danh sách các inode rỗi
n 

n 
n 

n 
n 
n 

Danh sách này chứa chỉ số các inode rỗi được dùng để phân phối
ngay được cho một file mới được khởi tạo
Cờ chỉ dẫn rằng hệ thống file chỉ có thể đọc (cấm ghi)
Số lượng tổng cộng các khối rỗi trong hệ thống file

Số lượng tổng cộng các inode rỗi trong hệ thống file
Thơng tin về thiết bị,
Kích thước khối của hệ thống file (phổ biến của khối là 1KB)

13



Inode
n 

n 

n 
n 

n 
n 

n 

n 

Mỗi khi tạo một file mới, hệ thống s gán cho nó một inode chưa
sử dụng
inode cho ta biết tập hợp các khối dữ liệu của file và các thông tin
về file
Tổ hợp gồm inode và tập các khối dữ liệu như là một file vật lý
Các inode có chỉ số của inode: số thứ tự của inode trong danh
sách inode trên hệ thống
Hệ thống dùng 2 bytes để lưu trữ chỉ số của inode
Một file chỉ có một inode song một file lại có một hoặc một số tên
file
Người dùng tác động thông qua tên file và tên file lại tham chiếu
đến inode
Khi làm việc, Linux dùng một vùng bộ nhớ chứa danh sách các
inode: in-core inode
14



Cấu trúc Inode
n 

Kiểu file (file thông thường, thư mục, đặc tả kí tự, đặc tả khối, ống dẫn)

n 

Kiểu file có giá trị 0 tương ứng ó là inode chưa được sử dụng

n 

Quyền truy nhập file: có 3 mức quyền truy nhập liên quan đến các đối tượng:
n 
n 
n 

n 

n 

chủ của file
mức nhóm người dùng của chủ nhân của file
người dùng khác

Quyền truy nhập là đọc, ghi, thực hiện hoặc một tổ hợp nào ó từ nhóm gồm 3
quyền trên.
Số lượng liên kết đối với inode: số lượng các tên file trên các thư mục được liên
kết với inode này


n 

Định danh chủ nhân của inode

n 

Định danh nhóm chủ nhân

n 

Độ dài của file tính theo byte

n 

Thời gian truy nhập file:
n 
n 
n 

n 

thời gian file được sửa đổi muộn nhất,
thời gian file được truy nhập muộn nhất,
thời gian file được khởi tạo,

15

13 phần tử địa chỉ: 10 phần tử trực tiếp, 1 phần tử gián tiếp bậc 1, 1 phần tử gián



Liên kết
n 

Unix có 2 kiểu liên kết
n 
n 

n 

Liên kết cứng:
n 

n 

n 

n 

Liên kết cứng
Liên kết tượng trưng (liên kết mềm)
"Liên kết cứng" là một cách gọi khác đối với một file ang tồn tại, cho
phép chúng ta tạo thêm một cách định vị trong hệ thống tệp
Cùng chia sẻ một inode và inode này chứa đựng tất cả các thơng tin về
file
Khơng có liên kết cứng đến thư mục

Liên kết mềm là một kiểu tệp đặc biệt tham chiếu đến tên một tệp hoặc
thư mục khác
n 


n 

n 

Kiểu file này như là một con trỏ chỉ dẫn tới một file hoặc một thư mục, và
được sử dụng để thay thế cho file hoặc thư mục được trỏ tới
Các thao tác (mở, đọc, ghi ...) được thực hiện trên các file liên kết, sau
ó, nhân hệ thống s tự động "tham chiếu" và thực hiện trên file ích của
liên kết.
Thao tác như xóa file, file liên kết s bị xóa bỏ chứ khơng phải file ích
của nó.
16


Lệnh tạo liên kết
n 

ln [<tùychọn>] < ích> [<tên liên kết>]

n 

Các tùy chọn:
n 

n 
n 

n 


n 
n 
n 

n 
n 

-b, --backup[=CONTROL] : tạo liên kết quay trở lại cho mỗi file ích ang
tồn tại.
-f, --force : xóa bỏ các file ích ang tồn tại.
-d, -F, --directory : tạo liên kết cứng đến các thư mục (tùy chọn này chỉ
dành cho người dùng có quyền quản trị hệ thống). Một số phiên bản
khơng có tùy chọn này.
-n, --no-dereference : một file bình thường được xemlà ích liên kết từ
một thư mục.
-i, interactive : vẫn tạo liên kết dù file ích ã bị xóa bỏ.
-s, --symbolic : tạo các liên kết tượng trưng.
--target-directory=<tên-thư-mục> : xác định thư mục tên-thư-mục là thư
mục có chứa các liên kết.
-v, --verbose : hiển thị tên các file trước khi tạo liên kết.
--help : hiển thị trang trợ giúp và thoát.
17


Quyền truy nhập
n 

n 

Quyền truy cập một tệp/thư mục qui định

nhóm người sử dụng nào được phép làm gì
(thao tác) trên tệp thư mục ó
Các nhóm người sử dụng
n 
n 
n 
n 

Owner/User (người sở hữu), ký hiệu là u
Group (những người cùng nhóm), ký hiệu là g
Other (những người khác), ký hiệu là o
All (tất cả mọi người), ký hiệu là a

18


Các kiểu file

19


Các quyền truy nhập

20


Cách đọc quyền truy nhập
n 

Giả sử khi thực hiện lệnh ls –l, chúng ta có kết quả

như sau:
n 
n 

n 

-rw-r--r-- 1 brucelee martialart 5335 Nov 30 2006 myfile
drwxr-xr-x 2 brucelee martialart 96 Apr 17 23:32 gis/

Khi ó:
n 

n 

n 

Nhóm u được đọc/ghi tệp myfile, khơng được thực
hiện tệp myfile (rw-)
Nhóm g được đọc và duyệt thư mục gis/ và không
được tạo tệp mới trong thư mục ó (r-x)

21


Thay đổi quyền sở hữu/truy nhập
n 

chown [tùy-chọn] [chủ][:nhóm] <file ...>
n 


n 

n 

n 

Các tùy chọn:
n 

n 
n 
n 

n 

n 

Nếu chỉ có tham số về chủ, thì người dùng chủ s có quyền sở hữu file và nhóm sở
hữu không thay đổi
Nếu theo sau tên người chủ là dấu :" và tên của một nhóm thì nhóm ó s nhóm
sở hữu file
Nếu chỉ có dấu :" và nhóm mà khơng có tên người chủ thì chỉ có quyền sở hữu
nhóm của file thay đổi, lúc này, lệnh chown có tác dụng giống như lệnh chgrp
-c, --changes: hiển thị dịng thơng báo chỉ với các file mà lệnh làm thay đổi sở hữu
(số thơng báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet: bỏ qua hầu hết các thông báo lỗi.
-R, --recursive: thực hiện đổi quyền sở hữu đối với thư mục và file theo đệ quy.
-v, --verbose: hiển thị dịng thơng báo với mọi file liên quan mà chown tác động tới
(có hoặc khơng thay đổi sở hữu).
--help: đưa ra trang trợ giúp và thốt.


Ví dụ: Thư mục LinuxVN.com có người sở hữu hiện tại là người dùng thu. Để
người dùng lan là chủ sở hữu, gõ lệnh:
n 

# chown lan LinuxVN.com
22


Thay đổi nhóm sở hữu
n 
n 

n 

chgrp [tùy-chọn] {nhóm|--reference=nhómR} <file...>
Thay thuộc tính nhóm sở hữu của file theo tên nhóm được chỉ ra
trực tiếp theo tham số nhóm hoặc gián tiếp qua thuộc tính nhóm
của file có tên là nhóm R.
Các tùy chọn của lệnh là (một số tương tự như ở lệnh chown):
n  -c, --changes : hiển thị dịng thơng báo chỉ với các file mà lệnh làm
thay đổi sở hữu (số thơng báo hiện ra có thể ít hơn trường hợp v, -verbosr).
n  -f, --silent, --quiet : bỏ qua hầu hết các thông báo lỗi.
n  -R, --recursive : thực hiện đổi quyền sở hữu đối với thư mục và
file theo đệ quy.
n  -v, --verbose : hiển thị dịng thơng báo với mọi file liên quan mà
chgrp tác động tới (có hoặc không thay đổi sở hữu).
n  --help : hiển thị trang trợ giúp và thoát
23



Thay đổi quyền truy cập
n 

chmod [tùy-chọn] <mod [,mod]...> <file...>

n 

chmod [tùy-chọn] <mod-hệ-8> <file...>

n 

chmod [tùy-chọn] --reference=nhómR <file...>

n 

Xác lập quyền truy nhập theo kiểu (mode) trên file:
n 
n 
n 

n 

Các tùy chọn:
n 
n 
n 
n 
n 


n 

Dạng xác lập tương đối,
Dạng thứ hai là dạng xác lập tuyệt đối
Dạng gián tiếp chỉ dẫn theo quyền truy nhập của file nhómR.
-c, --changes
-f, --silent, --quiet
-v, --verbose
-R, --recursive
--help

Tham số --reference=RFILE c ng ý ngh a gián tiếp như trong lệnh chgrp.
24


Cách xác lập tương đối

n 
n 
n 

Ví dụ:
chmod g+w test
chmod o-rx test
25


×