710 likes | 940 Views
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX. 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin. 5.1.Giới thiệu. /root. Chứa kernel. /bin. /dev. /etc. /usr. /var. các lệnh. thiết bị. khởi động và cấu hình các file. /lib. /man.
E N D
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin
/root Chứa kernel /bin /dev /etc /usr /var các lệnh thiết bị khởi động và cấu hình các file /lib /man /local 5.1.1 Hệ thống file (Filesystem) Hầu hết các hệ thống file đều là phân chương đĩa
Các kiểu File Thường(Regular Files) Thư mục (Directory) UNIX domain sockets File thiết bị Character Đường ống (FIFO) File thiết bị Block Các liên kết biểu tượng(Symbolic)
Kiểu của tệp • Có 3 loại tệp chính trong một cây thư mục của Unix: • Tệp thư mục là một thư mục trong đường dẫn phân loại (vd., /usr, /home,…) • Tệp thông thường là một tệp chứa dữ liệu hoặc tệp chương trình (vd., /bin/passwd, /etc/passwd, …) • Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị ngoại vi hoặc các tệp tự sinh bởi HĐH (vd., /dev/hda1, /dev/cdrom, /dev/lp0, …)
Tệp thông thường Unix không áp đặt cấu trúc về nội dung Bag of bytes Tệp văn bản, dữ liệu, chương trình chạy, các thư viện dùng chung – được lưu như các tệp truy nhập ngẫu nhiên và tuần tự
Tệp đặc biệt- Tệp thiết bị Các tệp thiết bị cho phép các chương trình Unix có thể truyền thông với phần cứng và các thiết bị ngoại vi hệ thống Các tệp thiết bị kỹ tự cho phép các thiết bị liên quan làm việc với các bộ đêm vào ra của chúng Bao gồm các thiết bị
Các liên kết biểu tượng Một liên kết biểu tượng hay liên kết “mềm” trỏ đến một tệp nhờ tên Các liên kết biểu tượng khác với các tệp mà chúng trỏ đến Liên kết cứng là một tham chiếu trực tiếp Liên kết biểu tượng là một tham chiếu nhờ tên
Domain Sockets Sockets là các kết nối giữa các tiến trình cho phép chúng truyền thông trong suốt với nhau Chuẩn POSIX tham chiếu đến domain socket như các “domain socket cục bộ” do chúng định vị trên các host riêng rẽ
Các thư mục Thư mục chứa các tham chiếu đến các tệp khác Các thư mục chứa tên các tệp nhưng không chứa nội dung các tệp Một tệp có thể kết nối với hai hay nhiều các thư mục như các liên kết “cứng” sử dụng các tham chiếu trực tiếp
5.1.2 Thư mục Cấu trúc hệ thống tệp (Tương tự folders trong Windows ) • Biểu diễn bởi một cây phân cấp thư mục và các tệp dữ liệu • Một thư mục dùng để tạo nhóm một tập các tệp dữ liệu • Một thư mục có thể chứa các thư mục con • Thư mục gốc root (/) là điểm vào đầu tiên cho cả cây thư mục
Đường dẫn (Path): là phần báo đường đi đến thư mục con cần tìm tệp. Thí dụ: /home/tuananh/anhvan/baitap1 đường dẫn tên tệp Dấu / để ngăn giữa 2 tầng thư mục
Đường dẫn tuyệt đối bắt đầu ở / • /home/tuananh/anhvan/baitap1 • Đường dẫn tương đối bắt đầu ở thư mục hiện thời • anhvan/baitap1 • (nếu ta đang ở /home/tuananh/) • Thư mục chủ ( home directory) là thư mục ở đó các tệp cá nhân của người dùng định vị và người dùng bắt đầu từ đó khi đăng nhập. • Ví dụ: /home/tuananh
Các thư mục thông dụng • / (thư mục gốc) • /bin : thư mục tệp chương trình cơ bản • /boot : thư mục chứa hạt nhân của HĐH • /etc : thư mục các tệp cấu hình • /dev : thư mục các tệp thiết bị • /home : thư mục chứa dữ liệu NSD • /lib : thư viện hệ thống • /usr : thư mục ứng dụng • /var : thư mục dữ liệu hệ thống, thường được cập nhật
Tệp UNIX so với tệp Windows • Giống nhau • độ dài tối đa cho tên tệp là 255 • Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhập nhằng trong câu lệnh sử dụng sau này) • Tính đặc thù của Unix • Quản lý dưới một khung nhìn của tệp cho cả thư mục và các loại tài nguyên hệ thống (ngoại vi, bảng phân chương đĩa) • Không có khái niệm phần mở rộng của tên tệp (kí tự '.' trong tên tệp được đối xử như mọi kí tự khác • Không dùng ổ đĩa logic trong cây thư mục • '/' được dùng thay cho '\' trong đường dẫn thư mục
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin
5.2 MỘT SỐ LÊNH TRÊN HỆ THỐNG TẬP TIN 5.2.1 Quản lý thư mục 5.2.2 Quản lý tập tin
5.1 Quản lý thư mục • pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tại • cd: thay đổi vị trí thư mục hiện tại • $ cd /home/tuananh • $ cd tuananh • ls: liệt kê các tệp trong một thư mục • $ ls • $ ls /home/tuananh • $ ls –la tuananh • tuỳ chọn -a cho phép hiển thị cả các tệp ẩn • tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền, liên kết, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi) • mkdir: tạo một thư mục rỗng • rmdir: xoá một thư mục rỗng
Tên đặc biệt • « . » : thư mục hiện tại • « .. » : thư mục cha • « ~ » : thư mục cá nhân • « .xxx » : tệp ẩn (ví dụ, /home/tuananh/.bashrc )
Ví dụ $ cd ~ $ pwd /home/tuananh $ ls -la -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 .bashrc -rw-r--r-- 1 tuananh user1 4025 Feb 10 19:12 linux.ppt drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 linux $ mkdir vanban $ cd vanban $ pwd /home/tuananh/vanban $ cd .. ? $ pwd ? $ rmdir vanban ?
Các siêu kí tự • * dùng để thay thế cho một chuỗi kí tự bất kì bao gồm cả xâu rỗng • ? thay thế cho một kí tự bất kì • [ ] được thay thế bởi một kí tự trong một tập kí tự cho trước • [! ] được thay thế bởi một kí tự không có trong một tập kí tự cho trước
Ví dụ $ ls -l *.[c,h] -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.c -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.h $ ls -l *prog drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 c_prog drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 java_prog $ ls -l .* -rw-r--r-- 1 tuananh user1 451 Feb 7 07:30 .bashrc -rw-r--r-- 1 tuananh user1 225 Feb 7 07:30 .bash_profile -rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout
5.2.2 Quản lý tập tin • $cp file1 […] dir • sao chép một hoặc nhiều tệp vào một thư mục • $mv file1 […] dir • di chuyển một hoặc nhiều tệp đến một thư mục • $rm file1 […] • xoá một hoặc nhiều tệp • tuỳ chọn -R (recursive) • cho phép sao chép/di chuyển/xoá toàn bộ thư mục bao gồm cả các thư mục con
Ví dụ $ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 vanban $cp test.txt vanban $ls -l vanban -rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt $rm –R vanban $ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt $rm test.txt $ ls -l $
Khái niệm inode • Một inode được tạo ra cho mỗi điểm vào trên hệ thống tệp • Nội dung của tệp được lưu trong các khối dữ liệu • một tệp rỗng = một inode không có khối dữ liệu • Một thư mục là một tệp với nội dung là một bảng liên kết • một liên kết gắn một tên tệp với một inode của hệ thống tệp
Liên kết vật lý (1) • Một liên kết vật lý là một quan hệ giữa tên tệp trong thư mục với một inode • Có thể có nhiều liên kết vật lý đến cùng một inode • Lệnh ln cho phép tạo một liên kết vật lý đến một inode (tệp) đã tồn tại • tệp mới chia sẻ cùng inode và khối dữ liệu của tệp ban đầu $ln fbis lien
Liên kết vật lý (2) • Số liên kết vật lý đến một inode có thể được xem bằng lệnh ls –l $ ls -l -rw-rw-r-- 1 tuananh user1 0 Nov 12 15:19 file drwxr-xr-x 2 tuananh user1 4096 Dec 14 17:50 dir • Tại sao với một thư mục luôn có ít nhất 2 liên kết vật lý? • Xoá một tệp (lệnh rm) đồng nghĩa với xoá một liên kết • Nếu là liên kết vật lí cuối cùng trỏ đến inode được xoá thì các khối liên quan đến inode cũng được xoá theo
Liên kết biểu tượng • ln -s R2/nouveau R3/lien_symbolique • khi tạo liên kết biểu tượng (tuỳ chọn –s) một inode mới được tạo ra • inode này chứa tên (dạng tuyệt đối hay tương đối) của phần tử được trỏ tới
Liên kết biểu tượng với Liên kết vật lý • Liên kết biểu tượng cho phép tránh được các hạn chế về mặt dung lượng của thiết bị lưu trữ • Một liên kết vật lý luôn luôn chiếm một số lượng inode nhất định • Chúng ta có thể phân biệt rõ một file được tạo ra và file gốc trong một liên kết biểu tượng • Điều gì sẽ xảy ra khi một người xóa đi file gốc ?
Ví dụ $ ls -l -rw-r--r-- 1 tuananh user1 8 Feb 10 1:12 test.txt $ ln test.txt link1 $ ln -s test.txt link2 $ ls -l link* -rw-r--r-- 2 tuananh user1 16 Feb 10 1:12 link1 lrw-r--r-- 1 tuananh user1 16 Feb 10 1:13 link2->test.txt
Các kiểu tệp • Các ký hiệu dưới đây được sử dụng để biểu diễn các kiểu tệp • - : tệp thông thường • d : thư mục • b : tệp đặc biệt (block) • c : tệp đặc biệt (ký tự) • l : link • m : phần bộ nhớ trong dùng chung • p : đường ống • In néi dung tÖp trªn m¸y in lpr
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin
5.3 Trình soạn thảo vi 5.3.1 Giới thiệu - Hệ xử lý và soạn thảo văn bản - Các hệ soạn thảo văn bản trong UNIX 5.3.2 Các chế độ làm việc - Mở một tệp văn bản - Lưu một tệp văn bản - Các lệnh soạn thảo
Các hệ soạn thảo trong UNIX Soạn thảo dòng: ex , ed, sed Soạn thảo màn hình: vi, emacs
Hệ soạn thảo Vi • Một hệ soạn thảo màn hình có sẵn trên hầu hết các hệ UNIX . • Khi gọi, nó sao chép nội dung tệp vào không gian bộ nhớ được gọi là bộ đệm làm việc (work buffer). • Mọi thao tác được áp dụng cho bộ đệm làm việc . • Nếu tệp không tồn tại, một bộ đệm rỗng được hình thành . • Khi ra khỏi vi, bộ đệm làm việc sẽ bị xóa. • Tại thời gian ra, ta có thể làm 2 việc : • Ra không lưu – nội dung gốc không thay đổi. • Lưu tệp – Nội dung gốc sẽ được thay đổi bởi phiên bản mới của bộ đệm làm việc.
Các bộ đệm Vi • Bộ đệm làm việc • Đây là bộ đệm ở đó vi thực hiện mọi thao tác soạn thảo • Vi tạo ra bản sao các tệp của ta trong bộ đệm làm việc. • Tạo ra mọi thay đổi đói với phiên bản được sao chép. • Thay thế bản gốc bằng bản soạn thảo khi lưu (:w) • Bộ đệm dùng chung • Lưu các văn bản bị xóa hay sao chép gần nhất • Được dùng bởi lệnh ‘undo’ đề khôi phục lại văn bản • Các bộ đệm tên • 26 bộ đệm được đặt tên, mỗi tên bởi một chữ cái alphabet • Được dùng để nạp các khối văn bản khác nhau để gọi sau này
Bộ soạn thảo văn bản vi của UNIX Chế độ lệnh Esc Chế độ đưa vào Insert (i, I) Append (a, A), Open (o, O) Change (c), Replace (r, R) : Return Chế độ dòng cuối
Các tên tệp • Khi đặt tên một tệp, cần tránh các ký tự sau: :
Bộ soạn thảo vi • vi là “visual editor”. • vi vào chế độ lệnh(command mode) khi khởi động. • Sau khi đưa vào các lệnh chèn (i,I,a,A,o,O,R) ta có thể đưa vào chế độ vào văn bản(text-entry mode).
Mở một tệp văn bản • Khi gọi vi đồng thời mở tệp vi <đường dẫn/tên tệp>
các lệnh của hệ soạn thảo vi • chuyển con trỏ • xóa, thay thế, dán • tìm kiếm, tìm kiếm/thay thế • lưu/tải xuống, soạn thảo các tệp khác, kết thúc
Ctrl-B ~ ~ ~ ~ ~ ~ ~ ~ Ctrl-U Ctrl-D h j k l Ctrl-F Các lệnh soạn thảo vi Đi tiếp một từ: w quay lui một từ: b đén cuối từ: e đến đầu dòng: ^,0 đến cuối dòng: $ đến đầu tệp: gg,:1<Enter>,1G đến cuối tệp: G đến dòng thứ nn: :nn<Enter>, nnG • Chuyển con trỏ
Các lệnh soạn thảo vi • d xóa văn bản x xóa một ký tự dw,db,d$,d0, xóa các ký tự đặt ở con trỏ dh,dj,dk,dl phạm vi di chuyển dd xóa một dòng :<range>d<Enter> xóa các dòng trong <range> ví dụ 1,5 .,$ D giống d$ • r thay thế văn bản • r,R, cw,cc
Các lệnh vi • c sao chép và dán văn bản yw,yb,y$,y0, sao chép các ký tự đặt ở con trỏ yh,yj,yk,yl trong phạm vi di chuyển yy sao chép một dòng :<range>y<Enter> sao chép các dòng trong <range> p,:pu<Enter>,P dán nội dung trong bộ đệm vào sau(p) hay trước(P) vị trí hiện thời . :nnpu<Enter> dán vào sau dòng nn
Các lệnh vi • Tìm kiếm, tìm kiếm/thay thế văn bản /text<Enter> tìm kiếm tiếp từ vị trí hiện thời ?text<Enter> tìm kiếm quay lui từ vị trí hiện thời n lặp lại tìm kiếm N lặp lại tìm kiếm theo hướng ngược lại /<Enter>, ?<Enter> lặp lại tìm kiếm xuôi hay ngược :<range>s/sss/ttt/<Enter>thay sss bởi ttt tại vị trí gặp đầu tiên của dòng :<range>s/sss/ttt/g<Enter> thay mọi sự xuất hiện sss bằng ttt trên mỗi dòng
Các lệnh vi • lưu / tải xuống :w <name> <Enter> lưu tệp với tên <name> :w<Enter> lưu tệp với tên hiện thời :<range> w <name> <Enter> lưu dòng trong <range> với tên <name> :r <name> <Enter> nối thêm vào nội dung của tệp tên <name>tại vị trí hiện thời :e <name> <Enter> soạn thảo tệp khác với tên <name> :n <Enter> soạn file kế tiêp
các lệnh soạn thảo vi • các lệnh khác :!<command><Enter> thực hiện lệnh <command> :r!<command><Enter> thực hiện lệnh <command> và đọc thông tin ra vào bộ đệm tại vị trí hiện thời :q!<Enter> ra khỏi vi
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin
5.4 QUYỀN TRÊN HỆ THỐNG TỆP 5.4.1 Các loại quyền 5.4.2 Các lệnh về quyền
5.4.1 CÁC LOẠI QUYỀN • Các kiểu tài khỏan người sử dụng • Các loại quyền