Hệ điều hành Linux - Hệ thống file trong Linux

Phần 1:  Cấu trúc phân cấp của Linux filesystem  Các lệnh quản trị file thông dụng  Phần 2:  Phân vùng đĩa cứng trong Linux  Các loại Linux filesystem  Mount và unmount

pdf57 trang | Chia sẻ: lvbuiluyen | Lượt xem: 3931 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Hệ điều hành Linux - Hệ thống file trong Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 Chương 3 Hệ thống file trong Linux NỘi dung  Phần 1:  Cấu trúc phân cấp của Linux filesystem  Các lệnh quản trị file thông dụng  Phần 2:  Phân vùng đĩa cứng trong Linux  Các loại Linux filesystem  Mount và unmount 2 Hệ thống file trong Linux (phần 1)  Cấu trúc phân cấp của Linux filesystem  Các lệnh quản trị file thông dụng 3 Cấu trúc Linux filesystem  Cấu trúc cây phân cấp :  Thư mục gốc , ký hiệu / , là thư mục cấp cao nhất  Không có khái niệm ổ đĩa như Windows  Cách bố trí các thư mục tuân theo FHS (Filesystem Hierarchy Standard) 4 5 Cấu trúc Linux filesystem / home etc local bin bin boot dev lib root … usr root directory Sub directories 6 Cấu trúc Linux filesystem The Windows filesystem structure The Linux filesystem structure Cấu trúc Linux filesystem  Các thư mục theo FHS /bin : chứa các tập tin lệnh chủ yếu. /boot : chứa các tập tin tĩnh của bộ nạp khởi động. /dev : chứa các tập tin thiết bị. /etc : chứa các file cấu hình hệ thống /lib : chứa các mô đun nhân và các thư viện được chia sẻ chủ yếu. /media : Điểm lắp đặt cho các phương tiện tháo lắp vật lý. /mnt : Điểm lắp đặt để lắp đặt một hệ thống tập tin tạm thời. /opt : Các gói phần mềm ứng dụng bổ sung. /proc : thư mục giả giúp truy suất thông tin trạng thái của hệ thống 7 Cấu trúc Linux filesystem /sbin : chứa các tập tin lệnh hệ thống /srv : Dữ liệu cho các dịch vụ được hệ thống này cung cấp. /tmp : nơi lưu các tập tin tạm thời. /usr : Hệ thống phân cấp thứ cấp. /var : Lưu dữ liệu biến đổi , các log file, hàng đợi in /lib : Chứa các thư viện chia sẻ cốt yếu /home : Thư mục cá nhân (home) của người dùng thông thường /root : Thư mục cá nhân của tài khoản root 8 9 Các lệnh quản trị file thông dụng  Một số khái niệm :  Đường dẫn (path)  Đường dẫn tuyệt đối (absolute path)  Thư mục hiện hành (current directory) và đường dẫn tương đối (relative path)  Ký hiệu  Dấu chấm (.) : Thư mục hiện hành  Hai dấu chấm (..) : Thư mục cha của thư mục hiện hành  Dấu ngã (~) : Thư mục home của user hiện hành 10 Các lệnh quản trị file thông dụng / home etc bin boot dev lib root … usr u1 u2 u3 hoso Vd.txt Vd1.txt Đường dẫn tuyệt đối /home/u1/hoso Các đường dẫn tương đối hoso u1/hoso home/u1/hoso Nếu thư mục hiện hành là /home/u1 /home / 11 Các lệnh quản trị file thông dụng  Xem và thay đổi thư mục hiện hành  Lệnh pwd (Present Working Directory) pwd  Lệnh cd (change directory) cd /tmp cd / cd .. cd ~ 12 Các lệnh quản trị file thông dụng  Xem nội dung thư mục  Lệnh ls : ls [options] [file] ls / ls /bin ls /etc ls /home ls /home/u1 ls /home/u1/Vd.txt ls ls –l / ls –R /home ls -a Các options: -l -R -a ( và nhiều option khác => tham khảo man ls ) Các lệnh quản trị file thông dụng  Xem nội dung thư mục (tt) Option –l : cho phép liệt kê thông tin đầy đủ về các file và subdir trong một thư mục, gồm 8 mục  File type  List of permissions (mode of the file)  Hard link count  Owner  Group owner  File size  Most recent modification time  Filename 13 Các lệnh quản trị file thông dụng  Xem nội dung thư mục (tt)  Normal file -  Directory d  Link file l  Block device file b  Character device file c  Named pipe p  Socket s 14 File types ? 15 Các lệnh quản trị file thông dụng  Xem nội dung text file  Các lệnh cat, more, less, head, tail // hiển thị (hoặc concatenates ) nội dung text file ra màn hình cat /etc/passwd cat -n /etc/passwd cat file1 file2 // với các file dài, hiển thị và dừng từng trang màn hình. Sử dụng spacebar, page up, page down, và arrow keys khi xem more /etc/init.d/cron less /etc/init.d/cron // hiển thị 10 dòng đầu file , hoặc 10 dòng cuối của file head /etc/init.d/cron tail /var/log/syslog tail –f /var/log/syslog Các lệnh quản trị file thông dụng  Xem nội dung text file (tt) Các lệnh more, less được sử dụng để phân trang kết xuất của lệnh khác ls -l | more 16 17 Các lệnh quản trị file thông dụng  Tạo thư mục  lệnh mkdir : mkdir ~/myDir mkdir -p /home/u1/aa/bb  Tạo file  Dùng trình soạn thảo văn bản vi filename  Dùng lệnh touch touch filename  Dùng lệnh cat cat > filename 18 Các lệnh quản trị file thông dụng  Sao chép / di chuyển /đổi tên file, folder  Lệnh cp cp /home/u1/Vd.txt /tmp cp –r /home/u1/myDir /home/u1/backup  Lệnh mv mv ~/Vd.txt ~/myDir mv ~/myfile.txt ~/mynewfile.txt Các lệnh quản trị file thông dụng  Xóa file/folder  Lệnh rm rm filename rm -r dirname rm -i filename  Lệnh rmdir rmdir emptydirname 19 (*)chi tiết cú pháp xem man page 20 Các lệnh quản trị file thông dụng  Sử dụng các ký tự thay thế (wildcard ) trong các lệnh thao tác với file/folder  Cho phép thao tác với nhiều file/folder  Có thể dùng trong các lệnh : cp, mv, rm, rmdir , ls, …  Bao gồm : * , ? , [ab] , [a-z] , [!ab] 21 Các lệnh quản trị file thông dụng  Tạo các link file  Bao gồm Hard link and Symbolic link (soft link)  Hard link : một tên khác tham chiếu tới cùng data của file gốc  Symbolic link : một con trỏ hay shortcut của file/folder gốc . File/folder gốc có thể thuộc một partition khác  Lệnh tạo link file ln sourcefile hardlink ln -s sourcefile softlink (*)chi tiết cú pháp xem man page 22 Các lệnh quản trị file thông dụng  Tìm kiếm chuỗi text trong một hay nhiều file  Lệnh grep : grep search_text files grep “help” *.txt grep -e “help” -e “support” *.txt grep –l “help” *.txt grep –r “help” *.txt (*)các option khác xem man page 23 Các lệnh quản trị file thông dụng  Tìm kiếm file  Lệnh locate  Locate thực hiện tìm kiếm trên một index database tất cả các file trong hệ thống .  Index database mặc định là : /var/lib/mlocate/mlocate.db  Để cập nhật index database , dùng lệnh updatedb  Cho phép tìm theo tên file locate vd locate -b „\vd‟ locate -w ~/vd (*)các option khác xem man page 24 Các lệnh quản trị file thông dụng  Tìm kiếm file  Lệnh find  Thực hiện tìm kiếm các file theo yêu cầu từ thư mục chỉ định  Tìm trực tiếp trong hệ thống file , nên tốc độ chậm hơn locate  Có khả năng tìm theo tên, kích thước, loại file, chủ nhân, theo thời gian… find -criteria find / -name “*.log” find / -user “root” find / -size “+100” (*)chi tiết cú pháp xem man find find / -name “*.log” find /etc -name “*.log” find /mnt -name “*.log” find / -user “root” find / -size “+100” 25 Các lệnh quản trị file thông dụng Các criteria dùng trong lệnh find 26 Các lệnh quản trị file thông dụng Các criteria dùng trong lệnh find 27 28 Các lệnh quản trị file thông dụng  Nén và giải nén một/nhiều file Sử dụng một trong các tiện ích thông dụng sau: gzip /tmp/file.txt gzip -d /tmp/file.txt.gz gzip mydir/* gzip –d mydir/* Nén Giải nén Phần mở rộng gzip filenames gzip -d filenames gunzip filenames .gz hoặc .z bzip2 filenames bzip2 -d filenames bunzip2 filenames .bz2 hoặc .bz Các lệnh quản trị file thông dụng  Tiện ích lưu trữ tar  Sao lưu files/thư mục thành một file  Sao lưu và nén (dùng gzip hoặc bzip2) 29 Sao lưu Phục hồi tar -cvf file.tar file1 file2 tar -cvf file.tar mydir tar -xvf file.tar Sao lưu và nén Phục hồi và giải nén tar -czvf file.tar.gz file1 file2 tar -cjvf file.tar.bz2 file1 file2 tar -czvf file.tar.gz mydir tar -czvf file.tar.gz mydir tar -xzvf file.tar.gz tar -xjvf file.tar.bz2 Hệ thống file trong Linux (phần 2)  Phân vùng đĩa cứng trong Linux  Các loại Linux filesystem  Mount và unmount 30 Nội dung  Phân vùng đĩa cứng trong Linux  swap partitions, data partitions (primary partitions, extended partitions)  Các loại Linux filesystem  ext2, ext3, ext4, ...  Cấu trúc chung  Hỗ trợ các filesystem của OS khác  Mount và unmount  Tự động mount và file /etc/fstab  Lệnh mount và umount 31 Phân vùng đĩa cứng trong Linux  Hai dạng partition :  Data partition  Root partition là một data partition chứa toàn bộ dữ liệu cần thiết cho khởi động và chạy hệ thống  Swap partition  Mở rộng bộ nhớ vật lý - bộ nhớ ảo  Một đĩa cứng cần phân vùng tối thiểu gồm một root partition và một swap partition  Kích thước của swap partition nên bằng hoặc lớn gấp 2 lần RAM 32 Phân vùng đĩa cứng trong Linux  Bộ cài đặt của các bản phân phối thường đưa ra phương án tối ưu cho việc tạo các partition phù hợp với mục tiêu cài đặt máy workstation hay server nói chung.  Máy workstation : gồm một root partition, một swap partition  Máy server : có thể gồm các partition cho / /boot /usr /etc /srv /home /opt và swap 33 Phân vùng đĩa cứng trong Linux  Có thể thiết lập phân vùng đĩa cứng theo ý muốn trong quá trình cài đặt bằng  Dùng GUI tool  Dùng lệnh fdisk 34 Các loại Linux filesystem  Ban đầu Linux sử dụng Minix filesystem do Linux được phát triển trên nền Minix OS  Hai hạn chế của Minix filesystem  Kích thước filesystem tối đa 64MB  Các thư mục có số mục cố định, độ dài tên file tối đa 14 ký tự => có nhu cầu tạo ra các filesystem mới cho Linux từ cộng đồng những người phát triển.  Một Virtual File System (VFS) layer được phát triển để dễ dàng gắn thêm các filesystem mới vào Linux kernel  Chris Provenzano, Linus Torvalds  VFS được dùng như cầu nối với các filesystem của các hệ điều hành khác như Windows, Mac OS, Unix… Task 1 Task 2 Task n … user space kernel space VIRTUAL FILE SYSTEM minix ext2 msdos proc device driver for hard disk device driver for floppy disk Buffer Cache software hardware Hard Disk Floppy Disk Linux Kernel Các loại Linux filesystem  Các Linux filesystem : ext (1992), ext2 (1993), ext3 (2001), ReiserFS (2001), ext4 (2006), … 37 Các loại Linux filesystem  Cấu trúc chung :  Superblock  Directory block  Inode  Data block  Indirect block 38 39 Các loại Linux filesystem Các loại Linux filesystem  Inode là một cấu trúc chứa các mô tả về file  Type  Access rights  Owners  Timestamps  Size  Pointers to data blocks  15 pointers  Mỗi file có một tên và một chỉ số inode  Được lưu trong thư mục chứa file  Dùng lệnh stat để xem chỉ số inode 40 Các loại Linux filesystem  Một ví dụ 41 Directory block Inode table Data block Data block Các loại Linux filesystem  Tạo một filesystem (định dạng partition)  Dùng GUI tool  Dùng tiện ích : mkfs Vd: tạo ext3 filesystem trên partition thứ 2 của ổ đĩa SCSI thứ nhất mkfs -t ext3 /dev/sda2 Các tiện ích khác như: mkreiserfs, mkswap, mk2fs, mkfs.msdos, mkfs.vfat 42 Mount và unmount  Mount một filesystem là tạo ra khả năng truy suất filesystem qua một thư mục hiện có  Thư mục được gọi là mount point , là một thư mục bất kỳ thuộc một filesystem đã được mount trước đó  Thường sử dụng /media hay /mnt làm mount point cho các thiết bị di động (theo FHS) 43 Mount và unmount 44 Hính 1 : Ba filesystem riêng biệt . Hình 2 : sau khi được mount , với mount point là /home và /usr Mount và unmount  Khi khởi động , hệ thống thực hiện mount các thiết bị lưu trữ theo các thông số trong file /etc/fstab  Root partition luôn luôn được mount với thư mục / 45 filesystem mount_point type options dump check Mount và unmount  Thao tác ngược lại với mount là unmount  Không còn gắn kết giữa filesystem và thư mục mountpoint  Thực hiện tự động khi shutdown/reboot 46 Mount và unmount  Sử dụng lệnh mount để tạo khả năng truy suất dữ liệu trong các thiết bị lưu trữ di động.  Yêu cầu quyền root Cú pháp: mount –t fstype device mountpoint Ví dụ : mount –t iso9660 /dev/sr0 /media/cdrom Hoặc mount /dev/sr0 /media/cdrom 47 Mount và unmount  Sử dụng lệnh umount trước khi tháo rời thiết bị ra khỏi hệ thống  Lệnh umount nhận một trong hai tham số mountpoint hoặc device umount /media/cdrom hoặc umount /dev/sr0 48 Mount và unmount  Cấu hình để hệ thống tự động mount với thiết bị cdrom : Thêm dòng sau vào file /etc/fstab /dev/sr0 /media/cdrom iso9660 auto,user,sync 0 0  Xem thông tin về các filesystem đang mount với hệ thống , sử dụng một trong các lệnh: mount df fdisk -l 49 Các device file  Trong hệ thống Unix/Linux, các thiết bị được truy suất thông qua các device file  Thư mục /dev quản lý tất cả các device file  Bao gồm character device file, và block device file  Mỗi device file bao gồm 2 chỉ số : Major number (trỏ tới loại driver tương ứng với thiết bị trong Linux kernel) và Minor number (xác định thiết bị cụ thể) 50 Các device file 51 Thiết bị Device files Terminals /dev/tty1 , /dev/tty2 , … IDE Hard disk partittions /dev/hda1, /dev/hda2 /dev/hdb1, /dev/hdb2 SCSI Hard disk partitions /dev/sda1, /dev/sda2 /dev/sdb1, /dev/sdb2 SCSI cdroms /dev/sr0 /dev/sr1 Floppy disk /dev/fd0 Printer /dev/lp0 Một số tiện ích  Xem dung lượng đĩa còn trống (disk free space) df -h  Xem kích thước một thư mục (directory usage) du -s  Xem tổng số inodes và free inodes trên ext2 và ext3 filesystem dumpe2fs -h 52 53 Một số tiện ích  Kiểm tra lỗi trên filesystem và sửa chữa (filesystem check) fsck // kiểm tra ext2 và ext3 filesystems e2fsck // kiểm tra reiserfs filesystems reiserfsck 54 Thực hành sử dụng các lệnh fdisk, mkfs, mount, umount  Yêu cầu:  Phân vùng và tạo 2 filesystem ext4 và fat32 trên một đĩa usb với dung lượng tùy ý ( dùng lệnh fdisk và mkfs)  Sau đó mount 2 filesystem với thư mục /media/linuxdata và /media/winsdata  Ghi dữ liệu (files và folders) vào 2 filesystem này  Tháo rời USB và di chuyển sang máy khác. Đọc các dữ liệu trong USB từ máy thứ hai. Thực hành  Vd1, mô hình phân vùng đĩa cứng đơn giản 55 Thực hành  Vd2, mô hình phân vùng đĩa cứng dual-boot 56 Câu hỏi 57