GIÁO TRÌNH HỆ ĐIỀU HÀNH UNIX - LINUX - Trang 79

7
8

Trong trường hợp đơn giản, lệnh

diff sẽ so sánh nội dung của hai file. Nếu file1 là

một thư mục còn file2 là một file bình thường, diff sẽ so sánh file có tên trùng với
file2 trong thư mục file1 với file2.

Nếu cả file1 và file2 đều là thư mục, diff sẽ thực hiện sự so sánh lần lượt các file

trong cả hai thư mục theo thứ tự từ a-z (sự so sánh này sẽ không đệ qui nếu tuỳ chọn

-r

hoặc

--recursive không được đưa ra). Tất nhiên so sánh giữa hai thư mục không thể chính

xác như khi so sánh hai file.

Các tuỳ chọn:

-a: xem tất cả các file ở dạng văn bản và so sánh theo từng dòng.
-b: bỏ qua sự thay đổi về số lượng của ký tự trống.
-B: bỏ qua mọi sự thay đổi mà chỉ chèn hoặc xoá các dòng trống.
--brief: chỉ thông báo khi có sự khác nhau mà không đưa ra chi tiết nội dung khác nhau.
-d: tìm ra sự khác biệt nhỏ (tuỳ chọn này có thể làm chậm tốc độ làm việc của lệnh diff).
--exclude-from=file: khi so sánh thư mục, bỏ qua các file và các thư mục con có tên phù hợp

với mẫu có trong file.

-i: so sánh không biệt chữ hoa chữ thường.
-r: thực hiện so sánh đệ qui trên thư mục.
-s: thông báo khi hai file là giống nhau.
-y: hiển thị hai file cạnh nhau để dễ phân biệt sự khác nhau.

3.4.5 Các lnh tìm file

* Tìm theo ni dung file bng lnh grep

Lệnh

grep cũng như lệnh ls là hai lệnh rất quan trọng trong Linux. Lệnh này có hai tác

dụng cơ bản như sau:

tác dụng thứ nhất là lọc đầu ra của một lệnh khác với cú pháp là
<lnh> | grep <mu lc>

tác dụng thứ hai, và cũng là tác dụng cơ bản được giới thiệu trong phần này,

là tìm dòng chứa mẫu đã định trong file được chỉ ra.

Cú pháp lệnh

grep:

grep [tùy-chn] <mu-lc> [file]

Lệnh

grep hiển thị tất cả các dòng có chứa mu-lc trong file được chỉ ra (hoặc từ

thiết bị vào chuẩn nếu không có file hoặc file có dạng là dấu "-")
Các tùy chọn:

-G, --basic-regexp : xem mẫu lọc như một biểu thức thông thường. Điều này là ngầm định.
-E, --extended-regexp : xem mẫu lọc như một biểu thức mở rộng.
-F, --fixed-strings : xem mẫu như một danh sách các xâu cố định, được phân ra bởi các dòng

mới. Ngoài lệnh grep còn có hai lệnh là egrep và fgrep. egrep tương tự như lệnh grep -E, fgrep
tương tự với lệnh grep -F .

Lệnh

grep còn có các tùy chọn sau:

-A NUM, --after-context=NUM : đưa ra NUM dòng nội dung tiếp theo sau dòng có chứa

mẫu.