Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
321,34 KB
Nội dung
Bài Hệ Thống Tập Tin GV: Bùi Ngọc Lâm Môn học: Hệ điều hành Linux I Cấu trúc hệ thống tập tin • • • Mỗi hệ điều hành có cách tổ chức lưu trữ liệu riêng Ở mức vật lý, đĩa định dạng từ thành phần sector, track, cylinder Ở mức logic, hệ thống sử dụng cấu trúc riêng, dùng mục hay phân cấp để xác định liệu từ mức logic tới mức vật lý Cách tổ chức gọi hệ thống tập tin (file system) Chẳng hạn Windows sử dụng hệ thống tập tin FAT16, FAT32, WinNT sử dụng NTFS để tăng cường bảo mật hệ thống tập tin Hệ thống tập tin phần hệ điều hành Linux Cấu trúc hệ thống tập tin • • Một hệ thống tập tin thiết bị mà định dạng để lưu trữ tập tin thư mục Hệ thống tập tin Linux bao gồm: đĩa mềm, CD-ROM, partition đĩa cứng Những hệ thống tập tin thường tạo trình cài đặt hệ điều hành Nhưng bạn thay đổi cấu trúc hệ thống tập tin thêm thiết bị hay chỉnh sửa partition tồn Như vậy, việc biết hiểu cấu trúc hệ thống tập tin Linux thật quan trọng Cấu trúc hệ thống tập tin • • Linux hỗ trợ nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc Hệ thống tập tin Linux ext2 ext3 (hiện ext3) Hệ thống tập tin cho phép đặt tên tập tin tối đa 256 ký tự kích thước tối đa 4terabytes MS-DOS dùng để truy cập trực tiếp tập tin MS-DOS Bên cạnh đó, Linux hỗ trợ vfat cho phép đặt tên tập tin dài tập tin MS-DOS partition FAT32 Proc hệ thống tập tin ảo (/proc) nghĩa không dành dung lượng đĩa phân phối cho Ngoài có hệ thống tập tin khác iso9660, UMSDOS, Network File System (NFS) Các thành phần hệ thống tập tin: + Superblock + Inode + Storageblock Cấu trúc hệ thống tập tin • • • • • • • Super Block: cấu trúc tạo vị trí bắt đầu hệ thống tập tin Nó lưu trữ thông tin hệ thống tập tin như: Thông tin block-size, free block, thời gian gắn kết(mount) cuối tập tin Inode (256 byte): Lưu thông tin tập tin thư mục tạo hệ thống tập tin Nhưng chúng không lưu tên tập tin thư mục thực Mỗi tập tin tạo phân bổ inode lưu thông tin sau: + Loại tập tin quyền hạn truy cập tập tin + Người sở hữu tập tin + Kích thước tập tin số hard link đến tập tin + Ngày thời gian chỉnh sửa tập tin lần cuối + Vị trí lưu nội dung tập tin hệ thống tập tin Cấu trúc hệ thống tập tin • • • Storageblock: Là vùng lưu liệu thực tập tin thư mục Nó chia thành Data Block Dữ liệu lưu trữ vào đĩa data block Mỗi block thường chứa 1024 byte Ngay tập tin có ký tự phải cấp phát block để lưu Không có ký tự kết thúc tập tin + Data Block tập tin thông thường lưu inode tập tin nội dung tập tin + Data Block thư mục lưu danh sách entry bao gồm inode number, tên tập tin thư mục Loại tập tin • Trong linux tập tin dùng cho việc lưu trữ liệu Nó bao gồm thư mục thiết bị lưu trữ Một tập tin liệu, hay thư mục xem tập tin Khái niệm tập tin mở rộng dùng cho thiết bị máy in, đĩa cứng … nhớ coi tập tin, tập tin linux chia làm loại chính: – Tập tin chứa liệu bình thường – Thư mục – Tập tin thiết bị • • Tập tin liệu: Đây tập tin theo định nghĩa truyền thống, liệu lưu trữ thiết bị lưu trữ đĩa cứng, CD-ROM … Bạn đưa liệu vào tập tin đoạn source chương trình, tập tin văn hay tập tin thực thi dạng mã máy, lệnh Linux tất tập tin tạo người dùng Tập tin thư mục: Thư mục không chứa liệu, mà chứa thông tin tập tin thư mục Thư mục chứa hai trường tập tin tên tập tin inode number Loại tập tin • Tập tin thiết bị :Hệ thống Unix Linux xem thiết bị tập tin Ra vào liệu tập tin vào liệu cho thiết bị Ví dụ muốn chép liệu ổ đĩa A: chép vào tập tin /dev/fd0 thực việc in liệu vào máy in đưa vào tập tin tương ứng cho máy in Liên kết tập tin • • • • • Link (Liên kết) liên kết, hiểu theo cách đơn giản nhất, tạo tên tập tin thứ hai cho tập tin Ví dụ, bạn có tập tin /usr/lib/testfile muốn có tập tin giống thư mục /usr/tim, bạn không cần phải copy mà cần tạo liên kết với lệnh sau: #ln /usr/bill/testfile /usr/tim/testfile Cú pháp lệnh ln: $ln Lý việc tạo liên kết nhân tập tin lên nhiều lần Trong ví dụ trên, hai tập tin Do đó, có thay đổi tập tin ảnh hưởng đến tập tin lại • • • Lệnh find Cho phép tìm kiếm tập tin thỏa mãn điều kiện Cú pháp: – #find [đường-dẫn] [biểu-thức-tìm-kiếm] – đường-dẫn: đường dẫn thư mục tìm kiếm – biểu-thức-tìm-kiếm : tìm tập tin hợp với điều kiện tìm Tìm tập tin xác định : • • #find [thư-mục] –name [tên-tập-tin] –print • Có thể sử dụng man để có lựa chọn tìm kiếm đầy đủ Ngoài ra, bạn sử dụng kí hiệu sau: – “*” : viết tắt cho nhóm ký tự – “?” : viết tắt cho ký tự • Lệnh grep • Lệnh grep cho phép tìm kiếm chuỗi nội dung tập tin Cú pháp : • Ví dụ : grep “nva” /etc/passwd – #grep [biểu-thức-tìm-kiếm] [tên-tập-tin] – Tìm tập tin có tên [tên-tập-tin] liệu thỏa mãn [biểu-thức-tìm-kiếm] – Tìm kiếm tập tin /etc/passwd hiển thị dòng có xuất chuỗi “nvan” • • • • • • Lệnh touch Là lệnh hỗ trợ việc tạo thay đổi nội dung tập tin Cú pháp : touch file Ví dụ: #touch file1.txt file2.txt (tạo hai tập tin file1.txt file2.txt) • Lệnh dd Sao chép chuyển đổi file Ví dụ: dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 (if input file, of output file) Các tập tin chuẩn Linux • Khi khởi động chương trình Linux, giao tiếp với người dùng qua việc hiển thị thông tin hình Thông tin hiển thị hình liệu chương trình hay lỗi phát sinh có lỗi xảy Người dùng giao tiếp với chương trình qua kí tự gõ vào bàn phím Luồng liệu vào từ bàn phím gọi nhập chuẩn Luồng liệu hình gọi xuất chuẩn luồng liệu thông báo lỗi lỗi chuẩn • • Trong Linux, luồng giao tiếp chuẩn xem tập tin liệu đánh số theo thứ tự: Tập tin nhập (file input) chuẩn 0, tập tin xuất (file output) chuẩn tập tin lỗi chuẩn Các số gọi tập tin mô tả (file descriptor) Sử dụng chương trình cat để soạn thảo, gõ: $ cat > filename … • • Tất liệu đưa vào từ bàn phím xem tập tin nhập chuẩn Dùng lệnh ls bạn nhận liệu hình, tập tin xuất chuẩn chuẩn Một thông báo lỗi xuất hình gõ lệnh sai truy xuất vào tập tin hay thư mục quyền tập tin lỗi chuẩn Ví dụ bạn gõ lệnh listn xuất lỗi invalid command Chuyển hướng (redirection) • • Chuyển tiếp hình thức thay đổi luồng liệu nhập, xuất lỗi chuẩn Khi sử dụng chuyển tiếp, nhập chuẩn nhận liệu từ tập tin thay bàn phím, xuất lỗi chuẩn xuất tập tin hay máy in Có loại chuyển hướng: + Chuyển hướng nhập(Input redirection) + Chuyển hướng xuất(Output redirection) + chuyển hướng lỗi(Error redirection) Chuyển hướng nhập: • Theo qui ước lệnh lấy liệu từ thiết bị nhập chuẩn(bàn phím) Để lệnh lấy liệu từ tập tin dùng ký hiệu < : • • • • Cú pháp: $lệnh < tập_tin Dấu “” Cú pháp: • $lệnh > tập-tin Ví dụ: Liệt kê nội dung thư mục chuyển kết tập tin $ls –l > tm.txt Để chèn thêm liệu vào cuối tập tin tồn bạn dùng dấu “>>” thay cho dấu “>” Cú pháp: $lệnh >> tập-tin • Ví dụ: $cat a.txt >> sum.txt Đường ống (Pipe) • Pipe gọi truyền thẳng Nó cách truyền liệu sử dụng kết hợp chuyển tiếp Pipe sử dụng kết xuất chương trình làm liệu nhập cho chương trình khác Ví dụ: $ls –l | more • Kết lệnh ls không xuất hình mà chuyển cho lệnh more xử lý liệu đầu vào Lệnh tee • Hoạt động chuyển tiếp đường ống đặc điểm hệ điều hành UNIX Tuy nhiên bạn sử dụng lệnh Linux để làm việc Đó lệnh tee, giảm bớt kết gián tiếp chuỗi đường ống Ví dụ: $sort baocao | tee baocaostt | lp • Đầu tiên lệnh tee gửi nhập chuẩn đến xuất chuẩn nó, trường hợp gửi xuất sort đến nhập lp Thứ hai tee chép nhập chuẩn vào tập tin baocaostt Lưu trữ tập tin/thư mục Lệnh gzip/gunzip • gzip dùng để nén tập tin, gunzip dùng để giải nén tập tin nén Cú pháp gzip gunzip sau: • • • $gzip [tùy-chọn] [tên-tập-tin] $gunzip [tùy-chọn] [tên-tập-tin] gzip tạo tập tin nén với phần mở rộng gz • Các tùy chọn dùng cho gunzip gzip: Lệnh tar • • • Lệnh dùng để gom bung tập tin/thư mục Nó tạo tập tin có phần mở rộng tar Cú pháp: #tar [tùy-chọn] [tập-tin-đích] [tập-tin-nguồn/thư-mục-nguồn ] Trong đó: + –cvf : gom tập tin/ thư mục + –xvf : bung tập tin / thư mục + tập-tin-đích: tập tin tar tạo + tập-tin-nguồn/thư-mục-nguồn: tập tin thư mục cần gom • • • Ví dụ: #tar –cvf /home/backup.tar /etc/passwd /etc/group #tar –xvf /home/backup.tar VI Bảo mật hệ thống tập tin [...]... ls -i bigfile 62 53 bigfile $ ln -s bigfile anotherfile $ ls -i bigfile anotherfile 62 53 bigfile 835 8 anotherfile Symbolic Link: • • • • Như bạn thấy, nội dung inode number của các tập tin khác nhau Liệt kê một thư mục sẽ thấy symbolic link: lrwxrwxrwx 1 root root 6 Sep 16 :35 anotherfile -> bigfile -rw-rw-r 1 root root 2 Sep 17: 23 bigfile Lưu ý: khi xóa tập tin gốc, nội dung của tập tin hard link không... tin cấu hình /etc/fstab Tập tin /etc/fstab liệt kê các hệ thống tập tin cần được mount theo từng dòng, mỗi dòng một hệ thống tập tin Những trường trong mỗi dòng phân cách nhau bằng khoảng trống hoặc khoảng tab Mount một hệ thống tập tin khi khởi động Mount một hệ thống tập tin khi khởi động • Như vậy, khi muốn mount các hệ thống tập tin lúc khởi động, bạn nên sử dụng tập tin /etc/fstab thay vì dùng... shell tương tự tập tin bat trong DOS Còn tập tin binary chứa mã máy tương tự tập tin exe hoặc com trong Windows Trong Linux tên tập tin không có khái niệm mở rộng Người ta thường sử dụng phần mở rộng để nói lên tính chất, ý nghĩa của tập tin chứ không để xác định chương trình thực thi tập tin Ví dụ txt chỉ tập tin dạng text, conf chỉ tập tin cấu hình Tập tin muốn thực thi được thì phải gán quyền thực... tập tin test.txt trong thư mục /home/hv Linux dùng ký hiệu “.” chỉ thư mục hiện hành và ký hiệu “ ” chỉ thư mục cha của thư mục hiện hành Ví dụ thư mục hiện hành là /usr/bin, đường dẫn /local tương đương /usr/local Đường dẫn tương đối và tuyệt đối • • Chương trình thực thi trong Linux có 2 dạng chính là tập tin lệnh và tập tin binary Tập tin lệnh là tập tin lưu các lệnh của shell tương tự tập tin bat... cung cấp thêm thông tin về những gì mount định thực hiện + -w: mount hệ thống tập tin với quyền đọc và ghi + -r: mount hệ thống tập tin chỉ có quyền đọc mà thôi + -t loại: xác định lại hệ thống tập tin đang được mount Những loại hợp lệ là minux, ext2, ext3, msdos, hpfs, proc, nfs, umsdos, iso9660, vfat Mount hệ thống tập tin có tính tương tác + -a: mount tất cả những hệ thống tập tin được khai báo trong... ghi vào thư mục /home sẽ ghi vào partition thứ 3 Tương tự, dữ liệu của thư mục /usr/local ghi vô partition 4, dữ liệu của thư mục /usr không phải thư mục con /usr/local thì ghi vào partion 2 Linux sử dụng các tập tin chỉ đến các partition trên ổ đĩa vật lý Những tập tin này là những tập tin thiết bị, nằm trong thư mục /dev Tập các tập tin này có dạng đầu tin là ký tự xác định loại ổ đĩa như: đĩa mềm... Sau đây là ví dụ về tập tin /etc/fstab: Umount một hệ thống tập tin • Sau khi làm quen với việc gắn những hệ thống tập tin vào cây thư mục Linux Kế đến, bạn có thể tháo một hệ thống tập bằng lệnh umount Bạn cần umount một hệ thống tập tin vì nhiều lý do như: kiểm tra hay sửa chữa hệ thống tập tin với lệnh fsck; khi gặp vấn đề về mạng; umount đĩa mềm hay CD-ROM Lệnh umount có 3 dạng: + #umount thiết-bị... lệnh umount không umount những hệ thống tập tin đang sử dụng Umount một hệ thống tập tin • Ví dụ: #cd /mnt #umount /mnt • Lúc này máy sẽ báo lỗi là hệ thống tập tin đang bận(busy) Do đó, muốn umount /mnt bạn phải di chuyển đến một thư mục khác và một hệ thống tập tin khác Định dạng filesystem • Dùng lệnh mkfs để định dạng cho mọi hệ thống tập tin( ext2, ext3,…) Cú pháp lệnh: #mkfs –t ... kiểm tra xem có tập tin nào hỏng không Linux sẽ tự động kiểm tra hệ thống tập tin lúc khởi động nếu chúng có giá trị lớn hơn 0 và được xác định trong trường pass number của tập tin /etc/fstab Để thực hiện những công việc trên, người quản trị dùng lệnh fsck(file system check), Cú pháp như sau: #fsck [tùy-chọn] hệ-thống-tập -tin Bảng sau đây mô tả các tùy chọn: IV Các thao tác trên tập tin và thư mục Thao... kết trong cùng hệ thống tập tin với hai inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu) Nếu bạn muốn thấy điều này, dùng lệnh sau: $ ls -i testfile 142 53 testfile Sau đó tạo một liên kết có một tên khác và hiển thị thông tin của inode entry $ ln testfile test2 $ ls -i testfile test2 142 53 testfile 142 53 test2 Cả hai tập tin đều có inode number giống ... có dạng tập tin lệnh tập tin binary Tập tin lệnh tập tin lưu lệnh shell tương tự tập tin bat DOS Còn tập tin binary chứa mã máy tương tự tập tin exe com Windows Trong Linux tên tập tin khái niệm... tập tin + Người sở hữu tập tin + Kích thước tập tin số hard link đến tập tin + Ngày thời gian chỉnh sửa tập tin lần cuối + Vị trí lưu nội dung tập tin hệ thống tập tin Cấu trúc hệ thống tập tin. .. cuối tập tin Inode (256 byte): Lưu thông tin tập tin thư mục tạo hệ thống tập tin Nhưng chúng không lưu tên tập tin thư mục thực Mỗi tập tin tạo phân bổ inode lưu thông tin sau: + Loại tập tin quyền