4 Làm quen với hệ thống tập tin ext3fs
4.4.1 Các tập tin thiết bị
Như đã nói, đối với Linux thì tất cả các thiết bị kết nối vào máy tính (ổ cứng, ổ tháo rời, terminal, máy in, máy scan, môđem, bàn phím, chuột, v.v. . . ) đều là các tập tin. Ví dụ, nếu cần đưa ra màn hình terminal thứ nhất thông tin nào đó, thì hệ thống thực hiện thao tác ghi vào tập tin/dev/tty1.
Có hai dạng thiết bị: ký tự (hay còn gọi là các thiết bị trao đổi theo byte) và
4.4 Dạng tập tin 71
thông tin vào các thiết bị. Các thiết bị ký tự trao đổi thông tin theo từng ký tự (theo từng byte) trong chế độ chuỗi các byte. Ví dụ thiết bị dạng này là terminal. Còn thông tin được đọc và ghi vào các thiết bị khối theo các khối. Ví dụ các ổ cứng. Không thể đọc từ đĩa cứng và ghi lên đó từng byte, trao đổi thông tin với đĩa chỉ có thể theo từng khối.
Trao đổi dữ liệu với các thiết bị trên Linux do các driver thiết bị đảm nhiệm. Những driver này hoặc nằm trong nhân hoặc nằm riêng ở dạng môđun và có thể gắn vào nhân sau. Để trao đổi với các phần khác của hệ điều hành mỗi driver tạo ra một giao diện liên lạc có vẻ ngoài giống như tập tin. Phần lớn những tập tin như vậy đã được tạo sẵn từ trước và nằm trong thư mục dev. Nếu nhìn vào thư mục/dev(tức là chuyển vào thư mục đó bằng lệnhcdrồi chạy ls), thì bạn sẽ thấy một lượng khổng lồ những tập tin thiết bị. Bảng4.2cho biết những tập tin thường dùng nhất.
Bảng 4.2: Những tập tin thiết bị chính
Tập tin Ý nghĩa
/dev/console Console hệ thống tức là màn hình và bàn phím kết nối tới máy tính. /dev/hd Các ỗ cứng với giao diện IDE. Thiết bị/dev/hda1tương ứng với phân
vùng đầu tiên của đĩa cứng đầu tiên, đĩa/dev/hda, tức là đĩa Primary Master.
/dev/sd Ổ cứng với giao diện SCSI.
/dev/fd Các tập tin ổ đĩa mềm. Ổ đầu tiên là /dev/fd0, ổ thứ hai là /dev/fd1.
/dev/tty Các tập tin hỗ trợ terminal của người dùng. Tên gọi vẫn được lưu kể từ khi kết nối teletype vào các hệ thống UNIX làm terminal. Trên Linux những tập tin này hỗ trợ các terminal ảo (hãy nhớ lại chương trước). /dev/pty Các tập tin hỗ trợ terminal giả. Sử dụng cho các kết nối từ xa qua telnet.
/dev/ttS Tập tin hỗ trợ làm việc với các cổng kết tiếp nhau (các cổng COM). /dev/ttS0tương ứng với COM1 trong DOS,/dev/ttS1tương ứng với COM2.
/dev/cua Các tập tin cho môđem.
/dev/null Thiết bị này có thể gọi là “lỗ đen”. Tất cả những gì ghi vào/dev/null sẽ mất vĩnh viễn. Những người viết script thường chuyển những thông báo không cần thiết vào thiết bị này. Nếu sử dụng /dev/null làm thiết bị nhập vào, thì sẽ thu được một chuỗi các số 0, tức là trong trường hợp này tập tin có cỡ bằng 0.
Mỗi dạng thiết bị có thể có một vài tập tin thiết bị. Vì thế các tập tin thiết bị thường có hai số: lớn (major) và nhỏ (minor). Số lớn của thiết bị cho nhân biết là tập tin này thuộc về driver nào, còn số nhỏ cho biết cần phải làm việc với thiết bị cụ thể nào của dạng này. Đối với các tập tin thiết bị, câu lệnhls -lcho biết số lớn và số nhỏ đã nói thay vì kích thước của tập tin.