Hệ thống File (File system)
Hệ Thống File (File System) Hệ thống tệp (File System) • Cấu trúc cây duy nhất: – Một gốc duy nhất: (/) – Các nút (node): thư mục hoặc file – Các lá: file • Xác định một phần tử: – Tuyệt đối: đường dẫn đầy đủ bắt đầu từ gốc (/) Vd: /home/k49/prog.c – Tương đối Một số thư mục đặc biệt • Thư mục gốc /root – Thư mục riêng của siêu người dùng root. – Lưu trữ các file tạm thời, nhân Linux và các file nhị phân quan trọng • Thư mục /bin: chứa các file khả thi • Thư mục /dev: chứa các trình điều khiển thiết bị • Thư mục /etc: chứa các file cấu hình hệ thống Một số thư mục …(tiếp) • Thư mục /lib • Thư mục /lost+found: chứa các file được khôi phục khi có lỗi • Thư mục /mnt: chứa các kết nối tới đĩa cứng, đĩa mềm • Thư mục /tmp • Thư mục /boot VFS (Virtual File System) Hệ thống tệp - Cấu trúc nội tại Hệ thống tệp - Cấu trúc nội tại • Mọi file trong Linux bao gồm – Các khối dữ liệu chứa nội dung file – Một Inode (Index Node) • Được nhân hệ thống cấp phát khi file được tạo mới • Chứa thông tin về địa chỉ các khối chứa dữ liệu file – Có một hoặc nhiều tên • Tên file và chỉ số Inode là hai trường của một phần tử của thư mục Hệ thống tệp - Cấu trúc nội tại • Type: Xác định kiểu file – File thông thường – Thư mục – Kí tự/Khối – 0 - not used • Perms: Xác định quyền truy nhập cho – Người sở hữu – Nhóm sở hữu – The other remain. • Links:Số lượng liên kết với Inode • Size: Kích thước file (byte) • Timestamps – Thời điểm file được tạo – Thời điểm file được sửa đổi – Thời điểm truy nhập • Bảng địa chỉ (13 phần tử) Thư mục - Cấu trúc [...]... dòng trong file – wc [tùy_chọn] [file] … – [tùy_chọn] • -c, bytes, chars: đưa ra số ký tự trong file • -l: đưa ra số dòng • -w: đưa ra số từ Thao tác với file • Lệnh xác định kiểu file • file [tùy_chọn] [-f file] [-m …] … – [tùy_chọn] • -b: chỉ đưa ra kiểu file mà không kèm tên file • -z: xem kiểu file nén – Kết quả • text • executable • data Thao tác với file • Lệnh xem nội dung file. .. /home/tem/haidt – cat > Thao tác với file • Lệnh sao chép file – cp [tùy_chọn] … – cp [tùy_chọn] –target-directory= … – [tùy_chọn] • • • • • -d: duy trì các liên kết -l, link: chỉ tạo liên kết -p: duy trì thuộc tính của file nguồn -R: sao chép đệ quy -s: chỉ tạo liên kết mềm Thao tác với file • Lệnh xóa file • rm [tùy_chọn] … – [tùy_chọn] •... lá trong cây FS (trong danh mục /dev) – Cùng thuộc tính (chủ nhân, quyền,…) • Hai loại ngoại vi : – Block – ký tự Ngoại vi block • Một số đặc trưng: – Đơn vị chuyển dữ liệu cố định: block (512B, 1KB, 4KB ) – Truy nhập thẳng (block n˚i) – Hệ thống ghi nhớ mọi trao đổi trong bộ nhớ – Có thể tạo lập hệ thống file • Truy nhập dữ liệu qua 2 bước : – Ví dụ : đọc (read) : • chuyển dữ liệu vào bộ nhớ hệ thống. .. với thư mục • Lệnh xem thông tin về thư mục, file – ls [tùy_chọn] [file] … • [tùy_chọn] – – – – -a: liệt kê tất cả các file, bao gồm file ẩn -l: đưa ra thông tin đầy đủ về file và thư mục -s: đưa ra kích thước file -R: liệt kê lần lượt các thư mục và nội dung của thư mục • Mỗi dòng kết quả của lệnh ls có dạng như sau Thao tác với file • Lệnh tạo file – touch – Sử dụng cách đổi hướng đầu ra của... [chủ] [.nhóm] – Thay đổi quyền sở hữu của file, thư mục – [tùy_chọn] • -R, recursive: thực hiện đệ quy • chgrp [tùy_chọn] [nhóm| reference=nhómR] – Thay đổi nhóm sở hữu của file, thư mục – [tùy_chọn] • -R, recursive: thực hiện đệ quy Lệnh liên quan … (tiếp) • chmod [tùy_chọn] • chmod [tùy_chọn] • chmod [tùy_chọn] reference=NhomR –... inode) trong một thư mục • Cho phép tạo một link mới từ link cũ • Hai loại liên kết được tạo – Hard Link – Soft Link Liên kết – Hard Link • Là một tên mới cho một file đang tồn tại • Không có sự phân biệt giữa file gốc và file liên kết • Cùng chia sẻ một Inode • Không thể tạo liên kết cứng tới thư mục • Không thể link giữa hai hệ thống file khác nhau Liên kết – Soft Link • Con trỏ chỉ dẫn tới một file. .. khác nhau Liên kết – Soft Link • Con trỏ chỉ dẫn tới một file hoặc thư mục • Các thao tác (mở, đọc, ghi) – Được thực hiện trên file liên kết – Tự động tham chiếu và thực hiện trên file đích – “Xóa”: chỉ xóa trên file liên kết • Cho phép thiết lập liên kết giữa các hệ thống file • Xoá source => truy cập link -Not OK! Lệnh tạo liên kết • ln [tùy-chọn] [tên mới] – -d, -F, directory: Tạo liên kết... Lệnh xem nội dung file – cat [tùy_chọn] – [tùy_chọn] • -b: hiện thị thêm số thự tự dòng ( bỏ qua dòng trống) • -n: hiện thị thêm số thự tự dòng (cả dòng trống) • -s: chỉ hiện thị một dòng trống Thao tác với file • Xem nội dung file với lệnh more more [-dlfpcsu] [-số] [+/xâu_mẫu] [+dòng_số] [file ] – [tùy_chọn] • • • • • • -số: số dòng nội dung file được hiện thị -d: hiện thị các thông báo... hệ thống (cache buffers) • chép dữ liệu vào không gian Ngoại vi ký tự • Tất cả ngoại vi không phải loại block : – – – – – Trao đổi thông tin khuôn dạng bất kỳ Truy nhập tuần tự Hệ thống không ghi lại trao đổi Không thể tạo hệ thống tệp Ví dụ : terminals, máy in, bàn phím, chuột, • Hai kiểu đọc: – Kiểu dòng (line): • Các ký tự (dòng) được chuyển sau một ký tự quy định (New Line) – Kiểu thô (raw): •... với UID (real) của chủ nhân chương trình • Bit SGID (s) – Chạy chương trình với GID của group của chủ nhân chương trình • Sticky bit (t) – Giữ lại ảnh trong RAM sau khi kết thúc – For directory • Only the owner of the file in that directory can delete a file Lệnh liên quan quyền truy nhập • Lệnh umask – Xác định những quyền bị dỡ bỏ khi tạo tệp hoặc thư mục – Ví dụ: • umask 022 tức