Unix / Linux - Khái niệm cơ bản về hệ thống tệp
Hệ thống tệp là một tập hợp hợp lý của các tệp trên một phân vùng hoặc đĩa. Phân vùng là nơi chứa thông tin và có thể mở rộng toàn bộ ổ cứng nếu muốn.
Ổ cứng của bạn có thể có nhiều phân vùng khác nhau thường chỉ chứa một hệ thống tệp, chẳng hạn như một hệ thống tệp chứa /file system hoặc cái khác có chứa /home file system.
Một hệ thống tệp cho mỗi phân vùng cho phép duy trì và quản lý hợp lý các hệ thống tệp khác nhau.
Mọi thứ trong Unix được coi là một tệp, bao gồm các thiết bị vật lý như DVD-ROM, thiết bị USB và ổ đĩa mềm.
Cấu trúc thư mục
Unix sử dụng cấu trúc hệ thống tệp phân cấp, giống như một cây lộn ngược, với root (/) ở cơ sở của hệ thống tệp và tất cả các thư mục khác trải rộng từ đó.
Hệ thống tệp Unix là một tập hợp các tệp và thư mục có các thuộc tính sau:
Nó có một thư mục gốc (/) có chứa các tệp và thư mục khác.
Mỗi tệp hoặc thư mục được xác định duy nhất bằng tên của nó, thư mục mà nó nằm trong đó và một số nhận dạng duy nhất, thường được gọi là inode.
Theo quy ước, thư mục gốc có inode số lượng 2 và lost+found thư mục có một inode số lượng 3. Số Inode0 và 1không được sử dụng. Số inode của tệp có thể được nhìn thấy bằng cách chỉ định-i option đến ls command.
Nó là khép kín. Không có sự phụ thuộc nào giữa hệ thống tệp này và hệ thống tệp khác.
Các thư mục có các mục đích cụ thể và thường chứa các loại thông tin giống nhau để dễ dàng định vị tệp. Sau đây là các thư mục tồn tại trên các phiên bản chính của Unix:
Sr.No. | Thư mục & Mô tả |
---|---|
1 | / Đây là thư mục gốc chỉ chứa các thư mục cần thiết ở cấp cao nhất của cấu trúc tệp |
2 | /bin Đây là nơi chứa các tệp thực thi. Những tệp này có sẵn cho tất cả người dùng |
3 | /dev Đây là các trình điều khiển thiết bị |
4 | /etc Lệnh thư mục người giám sát, tệp cấu hình, tệp cấu hình đĩa, danh sách người dùng hợp lệ, nhóm, ethernet, máy chủ lưu trữ, nơi gửi tin nhắn quan trọng |
5 | /lib Chứa các tệp thư viện được chia sẻ và đôi khi các tệp khác liên quan đến hạt nhân |
6 | /boot Chứa các tệp để khởi động hệ thống |
7 | /home Chứa thư mục chính cho người dùng và các tài khoản khác |
số 8 | /mnt Được sử dụng để gắn kết các hệ thống tệp tạm thời khác, chẳng hạn như cdrom và floppy cho CD-ROM lái xe và floppy diskette drive, tương ứng |
9 | /proc Chứa tất cả các quy trình được đánh dấu là tệp bởi process number hoặc thông tin khác có ảnh hưởng đến hệ thống |
10 | /tmp Giữ các tệp tạm thời được sử dụng giữa các lần khởi động hệ thống |
11 | /usr Được sử dụng cho các mục đích linh tinh, và có thể được sử dụng bởi nhiều người dùng. Bao gồm các lệnh quản trị, tệp chia sẻ, tệp thư viện và các lệnh khác |
12 | /var Thường chứa các tệp có độ dài thay đổi như tệp nhật ký và tệp in và bất kỳ loại tệp nào khác có thể chứa lượng dữ liệu thay đổi |
13 | /sbin Chứa các tệp nhị phân (có thể thực thi), thường dành cho quản trị hệ thống. Ví dụ,fdisk và ifconfig hết sức |
14 | /kernel Chứa các tệp hạt nhân |
Điều hướng hệ thống tệp
Bây giờ bạn đã hiểu những điều cơ bản về hệ thống tệp, bạn có thể bắt đầu điều hướng đến các tệp bạn cần. Các lệnh sau được sử dụng để điều hướng hệ thống:
Sr.No. | Lệnh & Mô tả |
---|---|
1 | cat filename Hiển thị tên tệp |
2 | cd dirname Chuyển bạn đến thư mục đã xác định |
3 | cp file1 file2 Sao chép một tệp / thư mục vào vị trí được chỉ định |
4 | file filename Xác định loại tệp (nhị phân, văn bản, v.v.) |
5 | find filename dir Tìm một tệp / thư mục |
6 | head filename Hiển thị phần đầu của tệp |
7 | less filename Duyệt qua một tệp từ cuối hoặc đầu |
số 8 | ls dirname Hiển thị nội dung của thư mục được chỉ định |
9 | mkdir dirname Tạo thư mục được chỉ định |
10 | more filename Duyệt qua một tệp từ đầu đến cuối |
11 | mv file1 file2 Di chuyển vị trí hoặc đổi tên tệp / thư mục |
12 | pwd Hiển thị thư mục hiện tại mà người dùng đang ở |
13 | rm filename Xóa một tệp |
14 | rmdir dirname Xóa một thư mục |
15 | tail filename Hiển thị phần cuối của tệp |
16 | touch filename Tạo một tệp trống hoặc sửa đổi một tệp hiện có hoặc các thuộc tính của nó |
17 | whereis filename Hiển thị vị trí của tệp |
18 | which filename Hiển thị vị trí của một tệp nếu nó nằm trong PATH của bạn |
Bạn có thể sử dụng Manpage Help để kiểm tra cú pháp hoàn chỉnh cho từng lệnh được đề cập ở đây.
Lệnh df
Cách đầu tiên để quản lý không gian phân vùng của bạn là với df (disk free)chỉ huy. Lệnhdf -k (disk free) hiển thị disk space usage in kilobytes, như hình dưới đây -
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 10485760 7836644 2649116 75% /
/devices 0 0 0 0% /devices
$
Một số thư mục, chẳng hạn như /devices, hiển thị 0 trong các cột kbyte, đã sử dụng và lịch phát sóng cũng như 0% cho dung lượng. Đây là những hệ thống tệp đặc biệt (hoặc ảo), và mặc dù chúng nằm trên đĩa dưới / nhưng bản thân chúng không tiêu tốn dung lượng đĩa.
Các df -kđầu ra nói chung là giống nhau trên tất cả các hệ thống Unix. Đây là những gì nó thường bao gồm -
Sr.No. | Cột & Mô tả |
---|---|
1 | Filesystem Tên hệ thống tệp vật lý |
2 | kbytes Tổng số kilobyte dung lượng có sẵn trên phương tiện lưu trữ |
3 | used Tổng số kilobyte dung lượng được sử dụng (theo tệp) |
4 | avail Tổng số kilobyte có sẵn để sử dụng |
5 | capacity Phần trăm tổng dung lượng được tệp sử dụng |
6 | Mounted on Hệ thống tệp được gắn trên cái gì |
Bạn có thể dùng -h (human readable) option để hiển thị đầu ra ở định dạng hiển thị kích thước theo ký hiệu dễ hiểu hơn.
The du Command
Các du (disk usage) command cho phép bạn chỉ định các thư mục để hiển thị mức sử dụng không gian đĩa trên một thư mục cụ thể.
Lệnh này hữu ích nếu bạn muốn xác định dung lượng mà một thư mục cụ thể đang chiếm. Lệnh sau đây hiển thị số khối được sử dụng bởi mỗi thư mục. Một khối duy nhất có thể mất 512 Byte hoặc 1 Kilo Byte tùy thuộc vào hệ thống của bạn.
$du /etc
10 /etc/cron.d
126 /etc/default
6 /etc/dfs
...
$
Các -h tùy chọn giúp đầu ra dễ hiểu hơn -
$du -h /etc
5k /etc/cron.d
63k /etc/default
3k /etc/dfs
...
$
Gắn hệ thống tệp
Hệ thống tệp phải được gắn kết để hệ thống có thể sử dụng được. Để xem những gì hiện đang được gắn kết (có sẵn để sử dụng) trên hệ thống của bạn, hãy sử dụng lệnh sau:
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
Các /mntthư mục, theo quy ước Unix, là nơi chứa các ổ gắn kết tạm thời (chẳng hạn như ổ đĩa CDROM, ổ đĩa mạng từ xa và ổ đĩa mềm). Nếu bạn cần gắn kết một hệ thống tệp, bạn có thể sử dụng lệnh mount với cú pháp sau:
mount -t file_system_type device_to_mount directory_to_mount_to
Ví dụ: nếu bạn muốn gắn kết CD-ROM vào thư mục /mnt/cdrom, bạn có thể gõ -
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
Điều này giả định rằng thiết bị CD-ROM của bạn được gọi là /dev/cdrom và bạn muốn gắn nó vào /mnt/cdrom. Tham khảo trang mount man để biết thêm thông tin cụ thể hoặc loại mount-h tại dòng lệnh để biết thông tin trợ giúp.
Sau khi gắn kết, bạn có thể sử dụng lệnh cd để điều hướng hệ thống tệp mới có sẵn thông qua điểm gắn kết mà bạn vừa tạo.
Ngắt kết nối hệ thống tệp
Để ngắt kết nối (loại bỏ) hệ thống tệp khỏi hệ thống của bạn, hãy sử dụng umount bằng cách xác định điểm gắn kết hoặc thiết bị.
Ví dụ, to unmount cdrom, sử dụng lệnh sau:
$ umount /dev/cdrom
Các mount command cho phép bạn truy cập hệ thống tệp của mình, nhưng trên hầu hết các hệ thống Unix hiện đại, automount function làm cho quá trình này ẩn đối với người dùng và không cần can thiệp.
Hạn ngạch người dùng và nhóm
Hạn ngạch người dùng và nhóm cung cấp các cơ chế mà theo đó lượng dung lượng được sử dụng bởi một người dùng hoặc tất cả người dùng trong một nhóm cụ thể có thể được giới hạn ở một giá trị do quản trị viên xác định.
Hạn ngạch hoạt động xung quanh hai giới hạn cho phép người dùng thực hiện một số hành động nếu dung lượng hoặc số khối đĩa bắt đầu vượt quá giới hạn do quản trị viên xác định -
Soft Limit - Nếu người dùng vượt quá giới hạn đã xác định, sẽ có thời gian gia hạn cho phép người dùng giải phóng một số dung lượng.
Hard Limit - Khi đạt đến giới hạn cứng, bất kể thời gian gia hạn, không thể phân bổ thêm tệp hoặc khối nào.
Có một số lệnh để quản lý hạn ngạch -
Sr.No. | Lệnh & Mô tả |
---|---|
1 | quota Hiển thị mức sử dụng đĩa và giới hạn cho người dùng trong nhóm |
2 | edquota Đây là một trình biên tập hạn ngạch. Có thể chỉnh sửa hạn ngạch Người dùng hoặc Nhóm bằng lệnh này |
3 | quotacheck Quét hệ thống tệp để sử dụng đĩa, tạo, kiểm tra và sửa chữa các tệp hạn ngạch |
4 | setquota Đây là một trình soạn thảo hạn ngạch dòng lệnh |
5 | quotaon Điều này thông báo cho hệ thống rằng hạn ngạch đĩa phải được bật trên một hoặc nhiều hệ thống tệp |
6 | quotaoff Điều này thông báo cho hệ thống rằng hạn ngạch đĩa sẽ bị vô hiệu hóa cho một hoặc nhiều hệ thống tệp |
7 | repquota Điều này in ra một bản tóm tắt về việc sử dụng đĩa và hạn ngạch cho các hệ thống tệp được chỉ định |
Bạn có thể sử dụng Manpage Help để kiểm tra cú pháp hoàn chỉnh cho từng lệnh được đề cập ở đây.