Bài thực hành số 5
QUẢN LÝ VÀO/RA – TẬP TIN – ĐỔI HƯỚNG
1 Nội dung thực hành
③ Tập tin: Các khái niệm cơ bản về tập tin của Unix, tổ chức của các tập tin trên đĩa, các thao tác với tập tin.
③ Vào ra: Các luồng dữ liệu vào/ra chuẩn và các thao tác đổi hướng chúng. Chuyển dữ liệu giữa các tiến trình.
2 Tổ chức tập tin
2.1 Các kiểu tập tin
Unix có 3 kiểu tập tin:
③ Tập tin bình thường: là một tập hợp thông tin (ASCII, text hoặc binary) ③ Tập tin thư mục (tập tin danh mục- directory file): chứa danh sách các tên có thể truy nhập tới. Ví dụ như: các tập tin bình thường, các tập tin đặc biệt hoặc các thư mục con.
③ Tập tin đặc biệt: là các tập tin liên quan đến các thiết bị ngoại vi cứng hoặc cơ chế truyền tin. Ví dụ như:
o Bàn phím là một tập tin đầu vào (input file)
o Màn hình là một tập tin đầu ra (output file)
o Máy in là một tập tin đầu ra
2.2 Tổ chức tập tin
Các tập tin của Unix được tổ chức theo dạng cây. Thư mục gốc (root) của cây được biểu diễn bằng ký tự /. Các tập tin và các ổ đĩa khác chỉ là nhánh của Root. Cấu trúc cây cơ sở của hệ Unix được bố trí như sau:
/
+----+-----+----+----+-----+----+-----+-----+----+----+----+ bin boot dev etc home lib mnt proc sbin tmp usr var | | +---+---+ +---+---+ abc user1 xyz bin lib sbin |
+-----+
notes labs
Ths. Phan Thượng Cang - Ths. Bùi Quốc Thái Trang 43
Tài Liệu Thực Hành Hệ Điều Hành – Bộ môn HTMT&TT
Trong đó:
1. / – Là thư mục gốc (root) chứa tất cả các thư mục khác
2. /bin – chứa các tập tin nhị phân (chương trình) cần cho việc khỡi động hệ thống hoặc làm việc trong chế độ người dùng đơn để duy trì hệ thống 3. /boot – chứa các kernel image và các tập tin cấu hình khi khỡi động (boot configuration files)
4. /dev – chứa các tập tin đặc biệt được sử dụng để tương tác với các thiết bị phần cứng
5. /etc – chứa các tập tin cấu hình hệ thống
6. /home – chứa các thư mục home người dùng
7. /lib – chứa các module thư viện được dùng bởi các câu lệnh
8. /mnt – chứa các thư mục trỏ đến các thiết bị lưu trữ (mount point for other storage devices)
9. /proc – một hệ thống tập tin giả lập cho việc chuyển đổi dữ liệu giữa các tiến trình
10./sbin – chứa các câu lệnh cần thiết cho việc quản trị hệ thống
11./tmp – chứa các tập tin tạm thời (temporary files)
12./usr – chứa các tập tin chương trình, các thư viện, các tài liệu, … được dùng bởi những người dùng (normal users)
13./var – chứa các tập tin dữ liệu thường xuyên thay đổi như: các tập tin log hệ thống, mail và các tập tin ghi nhận in ấn…
3 Đường dẫn (path)
3.1 Đường dẫn tuyệt đối
Một đường dẫn tuyệt đối sẽ chỉ ra vị trí chính xác của một tập tin hay thư mục được bắt đầu từ thư mục gốc (root).
✁Ví dụ:
/
+-----+-----+------+-----+
bin etc home usr var
|
+---------+
abc user1
|
+------+
notes labs
Đường dẫn tuyệt đối của thư mục notes là /home/user1/notes. Một đường dẫn tuyệt đối luôn bắt đầu với /
Ths. Phan Thượng Cang - Ths. Bùi Quốc Thái Trang 44
Tài Liệu Thực Hành Hệ Điều Hành – Bộ môn HTMT&TT
3.2 Đường dẫn tương đối
Một đường dẫn tương đối sẽ chỉ ra vị trí của một tập tin hay thư mục mà đường dẫn được xác định bắt đầu từ thư mục hiện hành
✁Ví dụ :
Nếu như thư mục đang làm việc là /home thì đường dẫn tương đối đến thư mục notes sẽ là : user1/notes
Một số ký hiệu đặc biệt có thể được sử dụng trong các đường dẫn tương đối: . Thư mục hiện hành
.. Thư mục cha
~ thư mục home của người dùng hiện đang login
✁Ví dụ:
Nếu thư mục đang làm việc là /home/user1, thì ký hiệu .. là một đường dẫn tương đối đến /home
4 Di chuyển giữa các thư mục
Để di chuyển giữa các thư muc trong cây của Unix, ta dùng 2 lệnh sau đây: ③ cd : chuyển đến thư mục cần đến (việc tương tác đến một vài thư mục có thể bị khóa tùy thuộc vào quyền người dùng)
③ pwd : hiển thị tên thư mục đang làm việc
Tại thời điểm bắt đầu phiên làm việc, ta ở trong thư mục home. Muốn xem tên thư mục này, ta dùng lệnh pwd.
✁Ví dụ:
user1 có thư mục home là /home/user1
$pwd
/home/user1
Để di chuyển giữa các thư mục ta dùng lệnh cd với tên thư mục cần chuyển đến ✁Ví dụ:
$cd /usr/bin
$pwd
/usr/bin
$cd ..
$pwd
/usr
Để về thư mục home của người dùng khi ta đang ở bất kỳ đâu, dùng câu lệnh: ✁Ví dụ:
$cd
$pwd
/home/user1
Ths. Phan Thượng Cang - Ths. Bùi Quốc Thái Trang 45
Tài Liệu Thực Hành Hệ Điều Hành – Bộ môn HTMT&TT
5 Các thao tác cơ sở với thư mục
5.1 Xem nội dung thư mục
- Xem nội dung thư mục hiện đang làm việc:
$ls
- Xem nội dung thư mục khác, ví dụ thư mục /bin:
$ls /bin
- Xem thêm thông tin của các tập tin trong thư mục
$ls -l
Hoặc:
$ll
Không có sự hạn chế dùng ký tự nào khi đặt tên tập tin, tuy nhiên ta cần chú ý: + Không dùng các ký tự đặc biệt (trừ dấu chấm ‘.’ hoặc dấu gạch dưới ‘_’) vì phần lớn các ký tự đó được dùng trong cú pháp của lệnh shell
+ Tập tin có tên bắt đầu bằng dấu chấm ‘.’ Là tập tin ẩn (hidden) + Phân biệt ký tự hoa và thường
Đặt tên tập tin bằng cách dùng các metacharacter (? và “)
+ Ký tự ‘ “ ‘ thay thế 1 chuỗi ký tự
+ Ký tự ‘?’ thay thế 1 ký tự
✁Ví dụ:
$ll /bin/c”
$ll /bin/c?
5.2 Các trường cho một mục từ của thư mục:
Khi xem một thư mục trong Unix, chúng ta có thể đọc được những thông tin như:
o Quyền người dùng (Permissions) :
Người dùng hay người quản trị cần phải cấp quyền cho những người dùng khác để cho phép họ có thể tương tác đến các tập tin hay thư mục. Mỗi tập tin hay thư mục có các quyền đọc, viết, hoặc thực thi (read, write and execute permisssions) còn tùy thuộc trên từng người dùng hay nhóm người dùng. Mặc định người dùng đã tạo ra tập tin hay thư mục (còn được gọi là owner) sẽ có tất cả các quyền trên nó.
o Liên kết (Link) :
Người dùng có thể tạo ra các liên kết (link) đến các tập tin hiện có. Hệ thống tập tin sẽ theo dõi các liên kết này
o Owner và nhóm (Owner and group) :
Unix là một hệ điều hành đa người dùng. Đối với mỗi tập tin hay thư mục, hệ thống tập tin sẽ theo dõi người dùng đã tạo ra nó (owner) và nhóm người dùng o Kích thước (Size)
Được tính theo byte
o Thời gian (Date)
Ths. Phan Thượng Cang - Ths. Bùi Quốc Thái Trang 46
Tài Liệu Thực Hành Hệ Điều Hành – Bộ môn HTMT&TT
✁Ví dụ: Một mục từ của thư mục:
$ls –l test
-rwxrw-r-- 1 xyz staff 12 Mar 7 12:35 test
o Đây là một tập tin bình thường
o rwx : quyền của owner (xyz): read, write, execute
o rw : quyền của nhóm owner: read, write, not execute
o r-- : quyền cho nhóm người dùng khác: read, not write, not execute o 1 : Số liên kết đến tập tin
o 12 : Kích thước tập tin (bytes)
o Mar 7 12:35 : Thời gian tập tin được sửa đổi sau cùng
o test : Tên của tập tin
5.3 Các câu lệnh khác có liên quan:
Các câu lệnh tập tin và thư mục, sinh viên cần tham khảo ở phần thực hành số 2