1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ thống File trong Linux

59 1,4K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống File Trong Linux
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Hệ Thống Máy Tính
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 362,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống File (File system)

Trang 1

Hệ Thống File (File System)

Trang 4

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

Trang 6

VFS (Virtual File System)

Trang 7

Hệ thống tệp - Cấu trúc nội tại

Trang 8

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

Trang 9

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

– 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

Trang 10

Thư mục - Cấu trúc

Trang 11

Thư mục – Lệnh cơ bản

• Tạo thư mục : mkdir <dir_name>

• 2 thư mục con mặc định : = cha, = chính mình

Trang 12

Thiết bị ngoại vi (device)

• Như một tệp (user view)

– Một 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ự

Trang 13

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) :

Trang 14

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ỳ

Trang 15

Ngoại vi giả (pseudo devices)

• Phần tử được quản lý như những ngoại vi (có driver) song không gắn với một phần

tử vật lý

• /dev/null: "thùng rác“

• /dev/tty: terminal gắn với các

Trang 17

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

Trang 18

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!

Trang 19

Lệnh tạo liên kết

• ln [tùy-chọn] <đích> [tên mới]

– -d, -F, directory: Tạo liên kết cứng đến thư mục

– -s, symbolic: tạo liên kết mềm

• #ln –s /usr/doc/g77/DOC g77manual.txt

Trang 20

– Với thư mục, quyền x

• Cho phép di vào, di ra thư mục

Trang 21

Kiểm soát truy nhập

• Căn cứ vào UID và GID của tệp và tiến

– UID đăng nhập (NSD) vs UID thực (tiến trình)

• super-user (root, UID=0) có tất cả các

Trang 22

Kiểm soát truy nhập

• Tạo mới một tệp, đổi tên (mv) và xóa tệp (rm)

– Kiểm soát qua quyền w của thư mục

• Xóa tệp phụ thuộc vào quyền của tiến

trình trên thư mục chứ không phải trên bản thân tệp

Trang 23

Kiểm soát truy nhập

Trang 24

Lệnh liên quan quyền truy nhập

Trang 25

-Lệnh liên quan … (tiếp)

• chown [tùy_chọn] [chủ] [.nhóm] <file …>

– Thay đổi quyền sở hữu của file, thư mục

Trang 26

Lệnh liên quan … (tiếp)

• chmod [tùy_chọn] <mod [,mod] …> <file,…>

• chmod [tùy_chọn] <mod_hệ_8> <file,…>

Trang 27

Lệnh liên quan … (tiếp)

• Các xác lập quyền tương đối

– Ví dụ:

• chmod g+w test

• chmod o-rx test

• Các xác lập quyền tuyệt đối

– Mỗi cụm 3 bít sẽ tương đương một số trong hệ số 8

 quyền truy cập = bộ 3 chữ số hệ số 8

Trang 28

Thao tác với thư mục

Trang 29

Thao tác với thư mục

• Lệnh đổi tên thư mục

– mv <tên_cũ> <tên_mới>

• Lệnh xác định thư mục hiện thời

– pwd

Trang 30

Thao tác 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

Trang 31

Thao tác với file

Trang 32

Thao tác với file

• -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

Trang 33

Thao tác với file

Trang 34

Thao tác với file

• Lệnh xác định kiểu file

• file [tùy_chọn] [-f file] [-m <file_ảnh> …]

<file> …

– [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

Trang 35

Thao tác với file

• Lệnh xem nội dung file

– cat [tùy_chọn] <tên_file>

Trang 36

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 tương tác

• -p: không cuộn màn hình thay vào đó là xóa màn hình cũ

• -s: xóa các dòng trống liền nhau, chỉ giữ lại một

• +/xâu_mẫu: chuỗi được tìm kiếm trước khi hiển thị

• +dòng_số: dòng bắt đầu hiện thị

Trang 37

Thao tác với file

• Lệnh đếm từ và dòng

wc [tùy_chọn] [file]…

– [tùy_chọn]

• -c, byte: đưa ra số ký tự trong file

• -l, liné: đưa ra số dòng trong file

• -L: đưa ra chiều dài của dòng dài nhất

• -w, words: đưa ra số từ trong file

Trang 38

Thao tác với file

• Lệnh loại bỏ những dòng không quan trọng

uniq [tùy_chọn] [input] [output]

– Loại bỏ các dòng trùng lặp kề nhau từ [input] (thiết bị vào chuẩn) và chỉ dữ lại một dòng duy nhất rồi đưa ra [output] (thiết bị ra chuẩn)

Trang 39

Thao tác với file

• Sắp xếp nội dung file

sort [tùy_chọn] [file] …

– Hiện thị nội dung [file] sau khi đã sắp xếp

– [tùy_chọn]

• +<số1> [-<số 2>]: xác định khóa sắp xếp trên các dòng từ vị trí <sô1> đến <số2>

• -b: bỏ qua các dấu cách đứng trước trong phạm vi sắp xếp.

• -d: xem như chỉ có các ký tự [a-zA-Z0-9] trong khóa sắp xếp

• -f: không phân biệt chữ hoa, chữ thường

Trang 40

Thao tác với file

• Thêm số thứ tự các dòng trong file

• -i, page-increment=số : đánh số thứ tự dòng theo cấp số cộng với công sai là <số>

• -n, number-format=khuôn : khuôn nhận các giá trị sau

– ln : căn trái, không có số 0 ở đầu – rn: căn phải, không có số 0 ở đầu – rz: căn phải, có số 0 ở đầu

Trang 41

Thao tác với file

• Lệnh xem qua nội dung file

head [tùy_chọn] [file] …

– Mặc định đưa ra màn hình 10 dòng đầu tiên của [file] Nếu không có [file] hoặc [file] bằng

“-”, thì đọc từ thiết bị vào chuẩn

– [tùy_chọn]

• -n, lines=n: hiện thị n dòng đầu tiên

• -q: không đưa ra tên file ở dòng đầu

Trang 42

Thao tác với file

• Xem qua nội dung file

tail [tùy_chọn] [file] …

– Ngầm định đưa ra 10 dòng cuối cùng của file Nếu không có [file] hoặc file bằng “-” thì đọc

từ thiết bị vào chuẩn

– [tùy_chọn]

• -f, follow[={name|descriptor}]: sau khi hiện nội dung file, sẽ hiện thị thông tin về file

• -n, lines=n: hiện thị n dòng cuối cùng

• -q: không đưa ra tên file ở đầu dòng

Trang 43

Thao tác với file

• Tìm sự khác nhau giữa hai file

diff [tùy_chọn] <file1> <file2>

– [tùy_chọn]

• -a: xem tất các file ở dạng văn bản và so sánh từng dòng

• -b: bỏ qua sự thay đổi về số lượng ký tự trống

• brief: chỉ thông báo khi có sự khác nhau

• -i: không phân biệt chữ hoa chữ thường

• -r: đệ quy trên thư mục

Trang 44

Biểu thức chính quy (Regular Expression)

Trang 45

Thao tác với file

• Lệnh tìm nội dung file

grep [tùy_chọn] <mẫu_lọc> [file]

– Hiện thị tất cả các dòng chứa <mẫu_lọc> trong <file> Nếu [file] rỗng hoặc bằng “-” thì đọc từ thiết bị vào chuẩn.

Trang 46

Thao tác với file

• Lệnh tìm nội dung file

grep [tùy_chọn] <mẫu_lọc> [file]

[egrep or fgrep]

– [tùy_chọn]

• -B n: đưa ra n dòng trước dòng chứa mẫu

• -C n: hiện thị n dòng nội dung

• -b: hiện thị địa chỉ tương đối các dòng được đưa ra

• -c: đếm số dòng tương ứng chứa mẫu trong file

• -f file: lấy mẫu từ file, mỗi dòng một mẫu.

• -H: đưa ra tên file trên mỗi dòng chứa mẫu

• -h: không hiện thị tên file

• -n: thêm số thứ tự của dòng chứa mẫu

• -r: đệ quy

Trang 47

Thao tác với file

• Ví dụ lệnh tìm nội dung file grep

• #grep -H thutest text

Trang 48

Thao tác với file

• Tìm các đặc tính của file

find [đường_dẫn] [biểu_thức]

– Tìm kiếm file trong [đường_dẫn]

– [biểu_thức]

• \( EXPR \); !EXPR hoặc –not EXPR; EXPR1 -a EXPR2

– [tùy_chọn]

• -depth: TÌm từ nội dung bên trong thư mục trước

• -amin n: file được truy nhập n phút trước

• -atime n: tìm file được truy nhập n*24 giờ trước.

• -cmin n: trạng thái file được thay đổi n phút trước đây

• -ctime n: trạng thái file được thay đổi n*24h trước đây

• -empty

Trang 49

Thao tác với file

• Tìm các đặc tính của file (tiếp)

– [tùy_chọn]

• -group nhóm: file thuộc quyền sở hữu của nhóm

• -links n: file có n liên kết

• -mmin n: dữ liệu file được thay đổi lần cuối vào n

phút trước đây

• -mtime n: dữ liệu được sử vào n*24h trước đây

• -name mẫu: tìm kiếm file có tên là mẫu.

• -uid n: chỉ số người sở hữu file là n

Trang 50

Thao tác với file

• Tìm các đặc tính của file (tiếp)

– [tùy_chọn]

• -type kiểu: file thuộc kiểu

– b: đặc biệt theo khối – c: đặc biệt theo ký tự – d: thư mục

– f: file bình thường – l: liên kết tượng trưng

• -print: in ra danh sách các file tìm thấy

• -exec <lệnh> {} \ ;

– Thực hiện <lệnh>

– {}: thay thế cho tên file tương ứng – Có dấu cách giữa ‘{}’ và ‘\’

Trang 51

Thao tác với file

• Ví dụ về lệnh file

# find -type f -exec grep -l -i mapping {} \ ;

Trang 52

Nén và sao lưu các file

• Sao lưu các file

tar [tùy_chọn] [<file>, …] [<thư_mục>, …]

– [tùy_chọn]

• -c: tạo file lưu trữ mới

• -x: tách các file ra khỏi file lưu trữ

• -C tên_thư_mục: thay đổi đến thư mục tên_thư_mục

• remove-files: xóa file gốc khi lưu trữ xong

• -v, verbose: hiện thị tiến độ lưu trữ

• -f file: xác định tên file lưu trữ là file.

– Ví dụ: tar –cf /dev/fd0H1450 /usr/src

Trang 53

Nén và sao lưu các file

• Nén dữ liệu

gzip [tùy_chọn] [-S suffix] [<file>]

gunzip [tùy_chọn] [-S suffix] [<file>]

zcat [tùy_chọn] [<file>]

– [tùy_chọn]

• -d: giải nén

• -f: ép buộc thực hiện nén hoặc giải nén

• -l: hiện thị các thông tin liên quan đến file được nén

• -r: nén thư mục

Trang 54

Nén và sao lưu các file

• Nén dữ liệu

compress [tùy_chọn] [<file>]

uncompress [tùy_chọn] [<file>]

• Tạo ra file nén với phần mở rộng Z

Trang 55

File containing Data of Fields

• Gồm nhiều dòng

– Trên mỗi dòng chứa các dữ liệu về trường

(Fields)

– Các trường được phân cách với nhau bởi một

ký hiệu phân cách trường (User-defined)

– Số trường trên các dòng phải bằng nhau

– Các trường trên dòng được đánh số thứ tự từ 0.

Trang 56

File containing Data of Fields

• #sort [tùy_chọn] <file>

• Sắp xếp nội dung file chứa dữ liệu trường

• [tùy_chọn]

– -n :sắp xêp tăng dần; -r : sắp xếp giảm dần

– -tx: x là ký tự phân cách trường (Default \t)

– +<Số_hiệu_1> -<Số_hiệu_2>: Khóa sắp xếp là từ trường <Số_hiệu_1> cho đến trường ở trước trường

<Số_hiệu_2> [ -k n,m instead for current]

• Có thể sắp xếp theo nhiều trường

• $ sort -t: -n +4 -5 carinfo

– Sắp xếp theo trường giá (trường thứ 4 trong carinfo)

Trang 57

File containing Data of Fields

• $tr set1 set2 < file

– Kí tự trong set1 trong tệp file được thay thế bởi kí tự tương ứng trong set2

• $ tr a-z A-Z <carinfo

• $cat f1 f2 f3 | tr set1 set2

Trang 58

File containing Data of Fields

• $cut [-dx] –f<danh_sách> <file>

• Lấy ra nội dung các trường trong <file>

Trang 59

THE END What’s on next time?

Ngày đăng: 09/05/2014, 08:45

TỪ KHÓA LIÊN QUAN

w