84
Làm quen với hệ thống tập tin ext3fs
(và chuyện gì xảy ra nếu tốc độ đường truyền thấp). Có thể làm số khối lượng
công việc, nếu dùng một danh sách những thư mục, mà tập tin có thể nằm trong,
để thay thế cho thư mục gốc. Ví dụ:
[user]$ find /usr/bin /sbin /bin /usr/local/bin -name cp
Phần đầu của tiêu_chí_tìm_kiếm xác định xem chương trình find phải
tìm cái gì. Phần đầu này là tham số bắt đầu bằng “–”, “(”, “)”, “,” hoặc “!”. Tất cả
các tham số đứng trước tiêu_chí_tìm_kiếm được coi là tên thư mục cần “lục
soát”. Nếu không chỉ ra một thư mục nào, thì tìm kiếm sẽ bắt đầu từ thư mục
hiện thời và đi sâu vào trong các thư mục con.
Người dùng thường thực hiện tìm kiếm theo tên tập tin như ở ví dụ trên, ở
đây tiêu_chí_tìm_kiếm có dạng “–name tên_tập_tin”. Ở chỗ tùy chọn -name
có thể sử dụng tùy chọn -path, khi đó câu lệnh sẽ tìm kiếm sự tương ứng của
tên tập tin đầy đủ bao gồm cả đường dẫn chỉ ra. Ví dụ, câu lệnh:
[user]$ find . -path ’./l*es’
sẽ tìm thấy trong thư mục hiện thời thư mục con l4u/images. Trong ví dụ
này, ở chỗ tên của tập tin hoặc thư mục chúng ta sử dụng một “mẫu tên”.
Và bởi vì mẫu tên tập tin không chỉ sử dụng cho câu lệnh find mà còn sử
dụng cùng với nhiều câu lệnh khác (bao gồm cả những câu lệnh đã nói đến:
chmod, chown, chgrp, cp, rm, cat, mv
), nên chúng ta cần chú ý và dành
thời gian để nghiên cứu các quy định sử dụng và viết “mẫu tên”.
Trong đa số trường hợp mẫu tên tập tin được tạo ra nhờ các ký tự đặc biệt “*”
và “?”. Ký tự “*” sử dụng để thay thế cho bất kỳ dòng ký tự nào. Trong Linux:
“*” tương ứng với tất cả các tập tin trừ những tập tin ẩn.
“.*” tương ứng với tất cả những tập tin ẩn (trong đó có thư mục hiện thời “.”
và thư mục mẹ “..”).
“*.*” chỉ tương ứng với những tập tin và thư mục có dấu chấm (.) ở giữa tên
hoặc ở cuối cùng.
“a*p” tương ứng với anhchup và anhchep.
“*a*” tương ứng với May và march.
Ký tự “?” chỉ thay thế một ký tự bất kỳ, vì thế taptin?.txt sẽ tương ứng với
các tên sau (taptin1.txt, taptin2.txt, taptin9.txt.
Ngoài “*” và “?” trong Linux còn sử dụng các dấu ngoặc vuông ([]) để tạo “mẫu
tên”. Trong hai dấu ngoặc này đặt danh sách các ký tự (có thể ở dạng khoảng
có thể gặp. Ví dụ [xyz]* tương ứng với tất cả những tên tập tin bắt đầu bằng a,
b, c. Còn *[G-K4-7] tương ứng với những tập tin có tên kết thúc bằng G, H, I,
J, K, 4, 5, 6, 7. Hãy chú ý là không có khoảng trắng trong cả hai ví dụ kể trên.
Tất nhiên ở đây chỉ đưa ra những thông tin thật ngắn gọn về “mẫu tên” tập
tin và các ký tự thay thế. Bạn đọc có thể tìm thấy thông tin chi tiết hơn về “mẫu
12
interval