Hệ thống file trong Linux
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.
57 trang |
Chia sẻ: lylyngoc | Lượt xem: 3260 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu 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
Các file đính kèm theo tài liệu này:
- chuong_03_hethongfile_5269.pdf