Tải bản đầy đủ (.doc) (23 trang)

Nghiên cứu tìm hiểu về quản lý Bộ nhớ Ngoài trong HĐH Linux.

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 (345.53 KB, 23 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN


BÀI TẬP TIỂU LUẬN
MÔN HỌC: NGUYÊN LÝ HỆ ĐIỀU HÀNH
Đề tài: Nghiên cứu tìm hiểu về quản lý Bộ nhớ Ngồi trong HĐH
Linux.

Giáo viên hướng dẫn

: Ths Nguyễn Tuấn Tú

Nhóm số

: 6

Lớp

: IT6025.6(006)-K15

Hà Nội, 2022


TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN


BÀI TẬP TIỂU LUẬN
MÔN HỌC: NGUYÊN LÝ HỆ ĐIỀU HÀNH
Đề tài: Nghiên cứu tìm hiểu về quản lý Bộ nhớ Ngoài trong HĐH


Linux.

Giáo viên hướng dẫn

: Ths Nguyễn Tuấn Tú

Lớp

: IT6025.6(006)-K15

Hà Nội, 2022


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

MỤC LỤC
MỤC LỤC.....................................................................................................................................3
1.Giới thiệu về Linux...............................................................................................................5
1.1. Lịch sử ra đời và phát triển của Linux.........................................................................5
CHƯƠNG 2: QUẢN LÍ HỆ THỐNG FILE TRÊN LINUX....................................................................7
1. Cơ bản về file và thư mục...................................................................................................7
1.1.Khái niệm:.....................................................................................................................7
1.2. Tên file trên Linux:.......................................................................................................8
2. Các hệ thống file sử dụng trong Linux................................................................................9
3. Gắn kết hệ thống file........................................................................................................12
4. Một số lệnh quản lý..........................................................................................................17
4.2.Chuyển thư mục.........................................................................................................17
- Cú pháp: cd dir_name....................................................................................................17
4.3. Copy files....................................................................................................................17
4. 4. Move và rename file................................................................................................17

4.5. Xóa files và thư mục..................................................................................................18
5. Quyền hạn đối với File......................................................................................................18
5.4. Thay đổi quyền Chỉ có user có quyền root (/), hoặc user là chủ sở hữu của file mới
có thể thay đổi quyền của file đó. Lệnh chuyển quyền: chmod mode file.................................20
5.3. Quyền mặc định.........................................................................................................21

LỜI MỞ ĐẦU
Hệ điều hành là một chương trình quản lý phần cứu máy tính. Nó cung cấp

3


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
nền tảng cho các chương trình ứng dụng và đóng vai trị trung gian giao tiếp giữa
người dùng máy tính và phần cứng của máy tính đó. Nó giúp máy tính dễ sử dụng
hơn, thuận lợi và hiệu quả hơn.
Tài ngun máy tính mà điển hình là hệ cơ sở dữ liệu (Database System) có
ảnh hưởng rất nhiều tới tính hiệu quả của việc sử dụng máy tính. Mà trong đó hệ
thống các file là hệ thống chủ yếu. Bởi vậy quản lí hệ thống file như thế nào có ảnh
hưởng lớn và trực tiếp tới hiệu quả sử dụng máy tính. Việc quản lí hệ thống file
được xây dựng và tổ chức tùy thuộc vào từng hệ điều hành.
- Sau đây nhóm chúng em xin được trình bày về vấn đề: Quản lý hệ thống file
trong hệ điều hành Linux
-

Các tài liệu tham khảo:
• Running Linux của nhà xuất bản O’REILLY.
• Giáo trình ngun lý hệ điều hành của nhà xuất bản Hà Nội.
• The Linux Device File – System tác giả Rechard Gooch.
• Giáo trình ngun lý hệ điều hành – Trường Đại học Công Nghiệp Hà Nội,


Khoa Cơng Nghệ Thơng Tin.
• Và một số trang web trực tiếp khác.
Mặc dù rất cố gắng nhưng do hạn chế về thời gian, trình độ, nguồn số liệu
nên chắc chắn bài viết sẽ khơng tránh khỏi sai sót khách quan. Chúng em mong thầy
và các bạn tận tình chỉ bảo để chúng em rút ra kinh nghiệm.
Chúng em xin chân thành cám ơn!

4


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

CHƯƠNG 1: TỔNG QUAN VỀ LINUX
1.Giới thiệu về Linux
1.1. Lịch sử ra đời và phát triển của Linux

Hình 1: Chim cánh cụt Tux – Biểu trưng và vật may mắn của Linux.
Linux do Linus Torvalds - một sinh viên tại trường Đại Học ở Helsinki (Phần
Lan) phát triển dựa trên hệ điều hành Minix, một hệ điều hành có cấu trúc tương tự
Unix với các chức năng tối thiểu được dùng trong dạy học.
Linux đạt được những thành công một cách nhanh chóng là nhờ vào các đặc
tính nổi bật so với các hệ thống khác: Chi phí phần cứng thấp, tốc độ cao (so với
Unix) và khả năng bảo mật tốt, độ tin cậy cao (so sánh với Windows) cũng như là
các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp. Một đặc tính
nổi trội của nó là được phát triển bởi một mơ hình phát triển phần mềm mã nguồn
mở hiệu quả. Đó là một thách thức đối với sự thống trị của Microsofft Windows
trong một số lĩnh vực.
Linux là một hệ điều hành mã nguồn mở (Open Source) và miễn phí dưới bản
quyền của tổ chức GNU (Gnu’s Not Unix). Mặc dù các hệ thống này thường được

gọi là Linux nhưng tên chính xác cho các hệ thống này là Hệ điều hành GNU/Linux.
Khởi đầu, Linux được phát triển cho dòng vi xử lý 386 Intel với khả năng đa
tác vụ. Hiện tại tất cả các phiên bản của Linux đều có chung phần kernel (nhân) và
các tính năng đặc trưng cùng với các ứng dụng mang tính chuyên dụng và phổ cập
5


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
như:
-

Open Office: Gồm các cơng cụ văn phịng cơ bản tương tự như Microsoft
Office nhưng hồn tồn miễn phí.

-

Mozilla Firefox: Trình duyệt web tương tự như phiên bản trên windows.
VLC: Công cụ chơi nhạc, video nổi tiếng với rất nhiều người dùng Hệ điều
hành windows.

-

Pidgin: Trình nhắn tin, chat hỗ trợ nhiều giao thức như Yahoo Messenger,
Google talk, MSN, ...

-

Scim-Unikey: Trình gõ tiếng Việt rất phổ biến trên Ubuntu.
Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn cịn rất


khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows
nhiều hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho
Linux sẽ tăng lên.
1.2. Các bản phân phối của Linux
Hiện tại Linux có nhiều bản phân phối khác nhau, một phần bởi vì tính chất
“mã nguồn mở” của Linux.
Bảng1: Một số bản Linux phổ biến (Cập nhật tháng 10/2012)
Tên bản phân phối

Phiên bản mới nhất

Trang web

Ubuntu

12.04

www.ubuntu.com

Fedora

17

www.fedoraproject.org

SUSE Linux Enterprise Desktop

12.1

/>

Red Hat Enterprise Linux

6.0

www.redhat.com/rhel

Knoppix

7.0.2

www.knoppix.com

Debian GNU/Linux

6.0.5

www.debian.org

Mint

13

www.linuxmint.com

6


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

CHƯƠNG 2: QUẢN LÍ HỆ THỐNG FILE TRÊN LINUX

1. Cơ bản về file và thư mục
1.1.

Khái niệm:

Hệ thống file là một cơ sở dữ liệu các file và thư mục, được đính kèm vào thư
mục gốc hoặc một thư mục bất kỳ của một hệ thống file khác đã được đính kèm
trước đó. Việc đính kèm một hệ thống file được gọi là mount. Mỗi phân vùng là một
hệ thống file. Đĩa CD hay USB cũng là một hệ thống file. Linux quản lý tất cả các
phân vùng và hệ thống file khác dưới dạng cây thư mục, có gốc là thư mục /. Một hệ
thống file mà chưa được mount thì khơng thể truy cập được các file và thư mục
trong đó. Khơng giống như trên Windows, trên Linux khơng có khái niệm ổ đĩa logic
là C hay D. Tất cả điều được "treo" lên một cái cây (đặt sau thư mục gốc), gọi là
"cây thư mục" . Mọi thư mục khác điều là con, cháu của gốc (/).
Một số thư mục tiêu biểu như:
- /: Thư mục root, lưu ý phân biệt với thư mục home của user root (/root)!
- /bin, /sbin: Chứa các lệnh hệ thống.
- /boot: Chứa kernel cùng các files hổ trợ cho kernel (System.map, initrd,...).
- /dev: Chứa các device files.
- /etc: Chức các file thơng tin, cấu hình hệ thống.
- /home: Thư mục nhà mặc định cho các users.
- /mnt hoặc /media: Chứa các mount-point cho những thiết bị removeable.
- /lib: Chứa thư viện.
- /usr: Tương tự như thư mục Program Files tại Windows.
- /proc: Thư mục ảo, chứa thông tin đang sử dụng của Kernel.
- /var: Chứa log files và spool files.

7



Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
Với hệ thống Linux, hệ thống file nằm ở các thiết bị như ổ đĩa cứng, ổ đĩa mềm,
hay đĩa CD (được định dạng để lưu trữ tệp). Hệ thống file có thể được tìm thấy trên
ổ đĩa cứng, ổ đĩa mềm, đĩa CD và các phương tiện lưu trữ cho phép truy cập ngẫu
nhiên.

/(root)

(root)

date

sort

home

dev

sbin

cdrom

console
dream

desktop
bt.doc

.....


cuncon

picture

cun.jpg

Tệp thiết bị

Tệp tin

Thư mục

Hình 2: Sơ đồ mô tả cây thư mục
1.2. Tên file trên Linux:
- Tên file trong Linux có thể dài tới 256 ký tự, bao gồm các chữ cái, chữ số, dấu
gạch nối, gạch chân, dấu chấm. Nếu trong tên file có dấu chấm “.” Thì 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 fie.
- Linux chỉ lấy 32 hay 64 ký tự đầu tiên trong tên file (tuỳ theo phiên bản Linux)
vì thế nếu 2 file chỉ khác nhau ở ký tự cuối cùng, thì trong Linux đó là 2 file có thể
trùng tên.
8


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
- Tên files và thư mục có thể chứa khoảng trắng và 1 số ký tự đặc biệt. Một điểm
cần lưu ý là Linux phân biệt chữ hoa/thường.

2. Các hệ thống file sử dụng trong Linux
Các định dạng chính xác mà các tệp được lưu trữ là không quan trọng, hệ
thống cung cấp một giao diện chung cho tất cả các kiểu hệ thống file mà nó nhận ra.

Trong Linux, các kiểu hệ thống file bao gồm ext2, ext2fs, mà chúng ta có thể sử
dụng để lưu trữ tệp tin của Linux (ext3 cũng đang dần phổ biến); hệ thống VFAT cho
phép truy cập file nằm tại phân vùng Windows 95/98/ME và đĩa mềm trên Linux; và
vài kiểu hệ thống file khác, bao gồm các hệ thống file ISO 9660 được sử dụng cho
CD-ROM.

Mỗi kiểu hệ thống file có định dạng cơ bản khác nhau cho việc lưu trữ dữ liệu.
Tuy nhiên, khi truy cập bất kì hệ thống file trong Linux, hệ thống sẽ hiển thị các dữ
liệu như các tệp được sắp xếp thành một hệ thống các thư mục, cùng với tên người
sở hữu và nhóm nhận dạng (ID), và các đặc tính khác mà chúng ta quen thuộc.
Trên thực tế, thông tin về quyền sở hữu files, quyền hạn truy cập,... chỉ được
cung cấp bởi các kiểu hệ thống files mà được sử dụng để lưu trữ các tệp tin Linux.
Đối với các kiểu hệ thống file khơng lưu trữ thơng tin này, các trình điểu khiển nhân
Kernel được sử dụng để truy cập các hệ thống tệp tin “làm giả” thông tin.
Bảng 2: Liệt kê các kiểu filesystem được hỗ trở bởi nhân Linux phiên bản 2.4.10
Các kiểu hệ thống file của Linux
Hệ thống file

Kiểu

Mô tả

Second
Extended ext2
filesystem

Hệ thống file của Linux phổ biến nhất

Reiser filesystem


Một hệ thống file nhật kí cho Linux

Reiserfs

Third
Extended ext3
filesystem

Một kiểu hệ thống file ghi chép cho Linux. Có
tính tương thích ngược với ext2

9


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
Minix filesystem

Minix

Hệ thống file gốc của Minix, ít khi được sử dụng

ROM filesystem

Romfs

Một hệ thống file chỉ đọc, chủ yếu sử dụng cho
bộ nhớ RAM

CRAM filesystem


Cramfs

Một hệ thống file nén và chỉ đọc, thường được sử
dụng trên PDA

Network file system

NFS

Cho phép truy cập tệp từ xa trên mạng

UMSDOS
filesystem

Umsdos

Cài đặt Linux trên một phân vùng MS-DOS

DOS-FAT filesystem Msdos

Truy cập file của MS-DOS

VFAT filesystem

Vfat

Truy cập file của Windows 95/98

NT filesystem


Ntfs

Truy cập file của Windows NT

HPFS

Hpfs

Hệ thống file OS/2

/proc filesystem

Proc

Cung cấp thông tin tiến trình cho ps

Device filesystem

Devfs

Một cách đại diện cho các tệp trong thư mục /dev

ISO 9660 filesystem

iso9660

Sử dụng bởi đa số đĩa CD

Joliet filesystem


iso9660

Mở rộng của hệ thống file ISO 9660, có thể đọc
tên file Unicode

UDF filesystem

Udf

Hệ thống file cho CD-ROM mới nhất

System V filesystem

Sysv

Truy cập file từ những biến thể của System V

Coherent filesystem

coherent

Truy cập file từ Coherent

UFS filesystem

Ufs

Truy cập tệp từ hệ thống file UFS, như trên
SunOS, BSD hay Tru64 Unix


BFS filesystem

Bfs

Truy cập file trên SCO Unixware

EFS filesystem

Efs

Truy cập file trên những phiên bản Irix cũ

ADFS filesystem

Adfs

Truy cập file từ phân vùng Acorn

AFFS filesystem

Affs

Truy cập file từ phân vùng hệ thống file chuẩn
của hệ điều hành Amiga

Apple
filesystem

Mac Hfs


Truy cập file từ Apple Macintosh

QNX4 filesystem

qnx4

Truy cập file từ phân vùng QNX4

JFFS filesystem

Jffs

Một hệ thống file cho các thiết bị dựa trên Flash

Novell filesystem

Ncpfs

Truy cập file từ một máy chủ Novell qua mạng
10


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
SMB filesystem

Smbfs

Truy cập file từ một máy chủ Windows qua
mạng


Coda filesystem

Coda

Một hệ thống file mạng tiên tiến, tương tự NFS

RAM filesystem

Ramfs

Một hệ thống file cho bộ nhớ RAM

Temporary
filesystem

Tmpfs

Một kiểu hệ thống file khác được giữ trong RAM

Mỗi loại tệp tin hệ thống có thuộc tính riêng và giới hạn của nó.
Hầu hết các cơng việc với Linux, ta sẽ sử dụng Second Extended (ext2) hỗ trợ
256 ký tự tên tệp tin, kích thước 32 Terabyte cho một file và nhiều điều khác.
Hoặc Reiser (reiserfs) hay Third Extended (ext3). Trước đó hệ thống Linux sử dụng
Extended và hệ thống tập tin Minix. Minix được sử dụng vì Linux ban đầu được
biên soạn qua Minix và nó đã được đơn giản để bổ sung trong các hạt nhân ban đầu.
Hệ thống file Xia và Xenix có sẵn trong hạt nhân Linux cũ và khơng cịn được
hỗ trợ. Sự khác biệt chính giữa các hệ thống tệp tin Ext2 và Reiser là Reiser được
lưu lại nhật kí dữ liệu. Lưu nhật kí dữ liệu là một kỹ thuật tiên tiến theo dõi những
thay đổi đối với một hệ thống file, giúp nó dễ dàng hơn và nhanh hơn để khôi phục
lại một hệ thống tập tin bị lỗi . Một kiểu hệ thống file lưu nhật là Ext3, sự kế thừa

của Ext3. Điều này có lợi thế là tính tương thích ngược với Exxt2.
Hệ thống file ROM được sử dụng tại Ramdisks trong việc cấu hình hệ thống,
thời gian khởi động, hay thậm chí trong EPROMS. Hệ thống tập tin Cram cũng
được sử dụng cho ROMs và có nén nội dung của nó. Điều này chủ yếu dành cho các
thiết bị nhúng, nhưng thiết bị mà không gian nhớ được đặt lên hàng đầu.
Hệ thống tập tin UMSDOS được sử dụng để cài đặt Linux dưới một thư mục
riêng của một phân vùng MS-DOS hiện có mà khơng cần chia lại phân vùng. Hệ
thống file DOS-FAT được sử dụng để truy cập MS-DOS các tập tin trực tiếp. Tập tin
trên phân vùng được tạo ra bởi Windows 95 hoặc 98 có thể được truy cập thông qua
VFAT, trong khi hệ thống tập tin NTFS cho phép truy cập hệ thống tập tin Windows

11


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
NT. HPFS được sử dụng để truy cập vào hệ thống tập tin OS/2.
Với việc mở rộng CVF-FAT cho DOS-FAT, nó có thể truy cập phân vùng đã
được nén với DoubleSpace/DriveSpace từ Microsoft hoặc Stacker từ Stac.
/proc là một hệ thống tập tin ảo, khơng có khơng gian đĩa trên thực tế có liên
quan với nó. Devfs cũng là một hệ thống tập tin ảo, thay thế cho các thư mục /dev
hiện tại và nó được tạo ra tự động hoặc theo yêu cầu của nhân Linux Kernel.
Các hệ thống file ISO 9660 hạn chế chiều dài tên tập tin và thông tin lưu trữ
về mỗi file được sử dụng bởi hầu hết các đĩa CD. Tuy nhiên, trong Linux hầu hết các
đĩa CD cung cấp các Rock Ridge Extension tới ISO 9660, cho phép các trình điều
khiển hệ thống file nhân Kernel để ấn định độ dài tệp tin, quyền sở hữu, và quyền
hạn cho mỗi file.
Tiếp theo, Linux có sáu loại hệ thống file cho các nền tảng khác: UFS, EFS,
BFS, System V và Coherent hỗ trợ các định dạng được phổ biến trên những nền
tảng để cho phép khởi động kép và tương tác khác. Nếu có hệ thống tập tin được tạo
ra trong một trong những định dạng theo một hệ điều hành khác, chúng ta sẽ có thể

truy cập các tệp tin đó từ Linux.
Cuối cùng, có một số lượng lớn các kiểu hệ thống file để truy cập dữ liệu trên
những phân vùng, chúng được tạo ra bởi hệ điều hành khác DOS và Unix. Những hệ
thống file hỗ trợ hệ thống Acorn Filing Disk (ADFS), các hệ thống file của
AmigaOS (không hỗ trợ đĩa mềm ngoại trừ trên AmigasOS), Apple Mac HFS, và hệ
thống file QNX4. Hầu hết hệ thống file chuyên dụng chỉ có ích trên những kiến trúc
phần cứng nhất định.

3. Gắn kết hệ thống file
Gán kết (mount) hệ thống file:
-

Mọi hệ thống file trên Linux đều phải mount mới có thể sử dụng được.

Mount là thao tác gán kết một hệ thống file vào một thư mục nào đó (mount point)
trong cây thư mục gốc /. Mọi truy cập đến thư mục mount point được hiểu là truy
12


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
cập vào hệ thống file đã mount.
Trong quá trình boot, lệnh mount sẽ được gọi để gán kết tất cả các hệ thống file
chỉ định trong file / etc / fstab. Điều này làm cho các tệp tin trên hệ thống file xuất
hiện như thể chúng thường trú trong thư mục đó, và cho phép truy cập chúng.
Định dạng của lệnh mount như sau:

mount -t type device mount-point
• type là tên loại hệ thống file được liệt kê trong Bảng 1
• device là thiết bị vật lý mà hệ thống file thường trú (tệp tin thiết bị trong /dev)
• mount-point là thư mục mà trên đó để gắn kết các hệ thống file.

Chúng ta phải tạo thư mục trước khi tiến hành mount.
Ví dụ, nếu chúng ta có một Second Extended filesystem trên phân vùng /dev/hda2
và muốn gắn kết trên thư mục /mnt, sử dụng câu lệnh:

mount -t ext2 /dev/hda2 /mnt
Mount partition Win 9x :

Mount –t vfat / dev / hda1 / mnt / win


Giả sử / dev / hda1 là partition cài windows 9x (ổ C)



Đọc ghi trong thư mục / mnt / win như trên ổ đĩa C : của Windows 9x.
Mount ổ đĩa USB :

Mount / dev / sda1 / mnt / usb


/ dev / sda1 là tên thiết bị USB 1 (khe cắm đầu tiên)



Trường hợp máy đã có / dev / sda là thiết bị SCSI HDD, tên thiết bị USB sẽ

là / dev / sdb.
Mount ổ đĩa SCSI vào thư mục / mnt / temp :

13



Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

mount / dev / sda1 / mnt / temp


/ dev / sda1 là partition1 của ổ đĩa SCSI HDD 1
Với lệnh mount, mount point có thể là bất cứ thư mục nào, tuy nhiên thông

thường nên đặt trong / mnt.
Để gắn kết các hệ thống file với tùy chọn chỉ đọc. Tất cả việc ghi vào hệ
thống file sẽ gặp lỗi “từ chối do quyền hạn” :

mount: block device /dev/cdrom is write-protected, mounting read-only
Chúng ta nên sử dụng lệnh:

mount -t iso9660 -r /dev/cdrom /mnt
Điều này sẽ là cần thiết nếu chúng ta đang cố gắng gắn kết một đĩa mềm có
bảo vệ chống ghi.
Một biến thể hữu ích của việc sử dụng mount là mount -a, trong đó gắn kết tất
cả các hệ thống file được liệt kê trong /etc/fstab trừ những hệ thống file được đánh
dấu với các tùy chọn noauto.
Nghịch đảo của việc gắn kết hệ thống file là unmounting (ngắt gắn kết). Ngắt
gắn kết hệ thống file có hai tác dụng: đồng bộ bộ đệm của hệ thống với những nội
dung thực tại của hệ thống file trên đĩa, và làm cho hệ thống file không cịn khả
dụng từ điểm gắn kết của nó.
Để ngắt gắn kết bất kì hệ thống file nào được gắn trên một thư mục cụ thể, sử
dụng lệnh:


umount /mnt

Điều quan trọng cần lưu ý là phương tiện di động, bao gồm đĩa mềm và đĩa
CD, không nên bỏ ra khỏi ổ đĩa hoặc đổi chỗ cho ổ đĩa khác trong khi gắn kết. Điều
này làm cho thông tin của hệ thống trên thiết bị khơng đồng bộ với những gì thực sự
ở đó và có thể dẫn đến những rắc rối. Khi muốn chuyển đổi đĩa mềm hoặc đĩa CDROM, ngắt gắn kết nó trước, sử dụng lệnh umount, cho đĩa mới vào, và sau đó gắn

14


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
kết nối thiết bị đó. Tất nhiên, với một đĩa CD hoặc đĩa mềm được bảo vệ chống ghi,
không có cách nào các thiết bị có thể tự nó ra khỏi đồng bộ, nhưng chúng ta có thể
gặp các vấn đề khác. Ví dụ, một số ổ đĩa CD-ROM khơng cho phép đẩy ra đĩa cho
đến khi nó được ngắt gắn kết.
Đọc và ghi vào hệ thống file trên đĩa mềm được đưa vào vùng đệm. Điều này
có nghĩa rằng khi chúng ta đọc hoặc ghi dữ liệu vào đĩa mềm, có thể khơng có bất
kỳ hoạt động nào của ổ đĩa xảy ra ngay lập tức. Hệ thống xử lý I/O trên đĩa mềm
không đồng bộ và chỉ đọc hoặc ghi dữ liệu khi thật cần thiết. Vì vậy, nếu chúng ta
sao chép một tập tin nhỏ vào đĩa mềm, nhưng đèn trên ổ đĩa không sáng, cứ bình
tĩnh, các dữ liệu sẽ được viết vào sau. Có thể sử dụng lệnh sync để buộc hệ thống
phải viết tất cả các hệ thống file trong vùng đệm vào đĩa, gây ra việc ghi vật lý của
bất kỳ dữ liệu đệm nào. Ngắt gắn kết hệ thống file làm cho điều này xảy ra là tốt
hơn.
Nếu muốn cho phép người sử dụng gắn kết và ngắt gắn kết nhất định, chúng
ta có hai lựa chọn. Lựa chọn đầu tiên là bao gồm tùy chọn user cho thiết bị trong
/etc/. Việc này cho phép người dùng sử dụng lệnh mount và umount cho một thiết bị
nhất định. Một lựa chọn khác là sử dụng một trong những gắn kết giao diện người
dùng cho Linux.
Một vài điều có thể đi sai khi cố gắng gắn kết một hệ thống file. Không may,

lệnh mount sẽ cung cấp các thông báo lỗi tương tự để đáp ứng với một số vấn đề:

mount: wrong fs type, /dev/cdrom already mounted, /mnt busy, or other error


wrong fs type : có thể có quy định các kiểu sai. Nếu khơng chỉ định một

kiểu, mount cố gắng đốn các kiểu hệ thống file từ superblock (chỉ làm việc với
Minix, ext2 và iso9660). Nếu gắn kết vẫn không thể xác định các kiểu hệ thống
file, nó sẽ thử tất cả các kiểu mà các trình điều khiển bao gồm trong nhân Kernel
(như được liệt kê trong /proc/filesystems). Nếu điều này vẫn không dẫn đến thành
công, mount thất bại. device already mounted: các thiết bị đã được lắp vào thư mục

15


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
khác.
Chúng ta có thể tìm ra những thiết bị được gắn kết, ở đâu, bằng cách sử dụng
lệnh mount khơng có đối số:
rutabaga# mount
/dev/hda2 on / type ext2 (rw)
/dev/hda3 on /windows type vfat (rw)
/dev/cdrom on /cdrom type iso9660 (ro)
/proc on /proc type proc (rw,none)
Ở đây, chúng ta thấy hai phân vùng ổ cứng, kiểu ext2 và vfat, một đĩa CD
được gắn kết vào /cdrom, và hệ thống file /proc. Các trường cuối cùng của mỗi dịng
(ví dụ (rw)) liệt kê các tùy chọn theo hệ thống file được gắn kết. Lưu ý rằng các
thiết bị CD-ROM được gắn kết vào /cdrom. Nếu sử dụng đĩa CD thường xuyên, sẽ
thuận tiện nếu tạo ra một thư mục đặc biệt như /cdrom và gắn kết với thiết bị

đó. /mnt thường được sử dụng tạm thời để gắn kết hệ thống file như đĩa mềm.
Lỗi mount-point busy có nghĩa là một số hoạt động đang diễn ra tại mountpoint đó ngăn cản chúng ta gắn kết hệ thống file ở đó, có một tệp tin đang mở dưới
thư mục này, hoặc quá trình đã có một số thư mục hiện hành làm việc dưới mountpoint. Khi sử dụng mount, hãy chắc chắn root không nằm mount-point; dùng lệnh
cd/ để vào thư mục cấp cao nhất, hoặc filesystem khác có thể được gắn kết với cùng
mount-point. Sử dụng mount khơng có đối số để tìm hiểu.
Đĩa mềm đặc biệt dễ bị các khuyết tật về thể chất và đĩa CD bị bụi bám, trầy
xước và dấu vân tay, cũng như được đưa lộn ngược. (Nếu chúng ta cố gắng để gắn
kết các định dạng Stan Rogers CD như ISO 9660, chúng ta có thể sẽ đi vào các vấn
đề tương tự)
Ngoài ra, hãy chắc chắn điểm lắp chúng ta đang cố gắng sử dụng (chẳng hạn
như là /mnt) tồn tại. Nếu không, chúng ta có thể tạo ra nó bằng lệnh mkdir.

16


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
Hệ thống tự động gắn kết một số hệ thống file khi hệ thống khởi động. Điều
này được xử lý bởi các tập tin /etc/fstab, trong đó bao gồm một đầu vào cho mỗi hệ
thống tập tin đó phải được gắn kết vào lúc khởi động. Mỗi dòng trong tập tin này là
của các định dạng:
device mount-point type options
Ở đây, device, mount-point, và type tương đương với ý nghĩa của chúng trong
các lệnh mount, và option là một danh sách các lựa chọn.

4. Một số lệnh quản lý
4.1. Tạo thư mục
- Cú pháp: mkdir [options] dir_names.
Ví dụ: Tạo thư mục dir2:

mkdir -p /home/user2/dir1/dir2


4.2.Chuyển thư mục
- Cú pháp: cd dir_name.
Ví dụ: Chuyển về /etc/init.d:

cd /etc/init.d

4.3. Copy files
- Cú pháp: cp [options] file1 file2
- Options: Một số tùy chọn thường dùng:


i : Hỏi trước khi overwrite (thường dùng khi copy với quyền root).



f : Hverwrite mà khơng cần hỏi (thường dùng khi copy với quyền của user

thường).


r : Copy đệ qui, copy cả những thư mục con, cháu,....



p : Copy theo thông tin trên inode (modify time, quyền hạn,...).
4. 4. Move và rename file

- Cú pháp: mv [options] file1 file2.
17



Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
Ví dụ: mv file.txt newfile.txt
mv file.txt dir1/file.txt
4.5. Xóa files và thư mục
- Cú pháp : rm [options] files.
- Options: một số tùy chọn thường dùng:


f : xóa khơng cần hỏi (thường dùng khi xóa với quyền user thường).



I : hỏi trước khi xóa (thường dùng khi xóa với quyền root).



r : xóa cả files và thư mục con.

5. Quyền hạn đối với File
5.1 Sơ lược về quyền
Trên Linux, quyền trên files hoặc thư mục được ghi vào trong inode (nơi lưu trữ
thông tin về file và thư mục của file hoặc thư mục đó). Để dễ quản lý, Linux xem
mọi thứ như là file. Để xem quyền, chúng ta có thể sử dụng lệnh "ls -l" như trong
hình sau:

Hình 3: Lệnh “1s-1”
Cột đầu tiên trong kết quả của lệnh ls -l thể hiện cho quyền hạn. Phần này bao


18


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
gồm 10 bit:
• bit 1: thể hiện kiểu file (ví dụ: "-" file thường, "d" thư mục,...).
• 9 bit cịn lại chia làm 3 nhóm, mỗi nhóm có 3 bit:
-

user (người dùng): những quyền truy cập của nhóm này áp dụng cho người sở
hữu tập tin.

-

group (nhóm người dùng): những quyền truy cập của nhóm này áp dụng cho
nhóm đã được gắn với tập tin.

-

other (những người khác): những quyền truy cập của nhóm này áp dụng cho tất
cả những người cịn lại.
Trong mỗi nhóm (3 bit) thể hiện cho các quyền đọc (r), ghi (w), thực thi (x).

Nếu nơi nào khơng có quyền sẽ được ghi là denied (-).
Bảng 3: Quyền đọc (r), ghi (w), thực thi (x) trên file và thư mục

hiệu

File


Thư mục

-

Khơng có quyền

Khơng có quyền

R

Quyền xem nội dung tập tin hoặc mở Quyền xem nội dung của tập tin
tập tin
thư mục
Có thể đọc file, ví dụ dùng lệnh cat, Có thể xem nội dung trong thư
more,...
mục, ví dụ dùng lệnh ls.

W

Quyền ghi và sửa lại nội dung tập tin Quyền sửa lại nội dung của tập
hoặc xoá tập tin, thêm, bớt nội dung tin thư mục, tạo thêm hoặc xóa
trong file.
đi file hoặc thư mục con của thư
mục này.

X

Quyền này được gắn với các tập tin
lệnh. Có thể thực thi file này, chỉ dùng
trong trường hợp đây là program hoặc

script.

19

Quyền vào các thư mục. Có thể
truy cập trong thư mục được.
Ví dụ: dùng lệnh cd vào thư
mục này.


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
5.4. Thay đổi quyền
Chỉ có user có quyền root (/), hoặc user là chủ sở hữu của file mới có thể
thay đổi quyền của file đó. Lệnh chuyển quyền: chmod mode file
Trong đó mode có thể được viết theo 2 cách: symbolic mode hoặc octal mode.
• Symbolic mode

Hình 4 : Symbolic mode
Trong mode này chúng ta có thể thêm (+), bớt (-), gán (=) các quyền (r w x)
cho từng nhóm (u g o) hoặc cho cả 3 nhóm (a).
Ưu điểm của mode này là chúng ta có thể kế thừa quyền.


Octal mode

Các quyền trên hệ thống Linux có thể được mô tả qua các số từ 0 đến 7 trong
20


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

hệ thập phân. Ví dụ một user hay group có quyền R (read), W (write), E (execute)
đối với 1 file/folder thì được kí hiệu là 1, ngược lại là 0 nếu khơng có quyền tương
ứng (-). Và với phép chuyển từ số nhị phân sang thập phân chúng ta có bảng giá trị
sau:
Bảng4 : Các quyền trong Linux tương ứng với giá trị số thập phân và nhị
phân
Hệ cơ số 10

Hệ cơ số 2

Quyền tương ứng

0

000

---

1

001

--x

2

010

-w-


3

011

-wx

4

100

r--

5

101

r-x

6

110

rw-

7

111

rwx


Quyền sẽ được tính tổng trên từng nhóm.
Ví dụ: r--(4) + -w-(2) + --x(1)= 7
Khi gán quyền phải gán cho cả 3 nhóm (user, group, other mỗi nhóm chiếm 3 bit)
Khi dùng octal mode chúng ta không kế thừa được quyền củ, nhưng bù lại chúng
ngắn gọn và dễ dùng hơn.
5.3. Quyền mặc định
Khi chúng ta tạo ra file hoặc thư mục, mặc nhiên hệ thống sẽ gán cho 1 quyền
mặc định, trong đó:
-

Đối với file:

-

Đối với thư mục: 777 rwx rwx rwx

666 rw- rw- rw-

Để thay đổi quyền mặc định khi tạo file và thư mục, hệ thống cung cấp cho chúng ta
21


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux
một cơng cụ đó là umask.
Như vậy, khi tạo ra file hoặc thư mục, thì quyền mặc định được tính như sau:
-

File: 666 - umask

-


Thư mục: 777 – umask

Ta dùng lệnh sau để gán quyền truy cập
$ umask 066
$ touch test.txt
Ví dụ: Quyền truy cập mặc định: 666 = 110 110 110
Giá trị umask:

123 = 001 010 011

Lấy nghịch đảo giá trị umask:
 NOT (Giá trị umask) = NOT (001 010 011) = 110 101 100
Quyền truy cập cho phép:

110 110 110 AND 110 101 100
= 110 100 100 ( = 644 trong cơ số 10)

Ví dụ: Nếu umask=022 thì quyền mặc định trên file và thư mục sẽ là (644) và (755)

22


Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

THE END

23




×