Hướng dẫn lệnh test Linux cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Khi bạn làm việc với dòng lệnh Linux, đôi khi bạn muốn kiểm tra một số thứ nhất định, chẳng hạn như giá trị số nguyên hoặc tệp có thuộc loại nào đó hay không. Có một tiện ích dòng lệnh test command tích hợp mà bạn có thể sử dụng để thực hiện hầu hết các phép so sánh và kiểm tra này.

Trong hướng dẫn này, chúng tôi sẽ giải thích những điều cơ bản về công cụ này với một số ví dụ dễ hiểu. Nhưng trước khi làm điều đó, chúng tôi xin đề cập rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên Ubuntu 22.04 LTS.

Lệnh kiểm tra Linux​

Như đã đề cập ở trên, lệnh kiểm tra được sử dụng để thực hiện kiểm tra và so sánh. Đây là cú pháp của nó:
Mã:
test EXPRESSION
Và đây là những gì trang hướng dẫn nói về tiện ích này:
Mã:
test - kiểm tra các loại tệp và so sánh các giá trị
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách thức hoạt động của công cụ này.

Lưu ý: Hãy nhớ rằng một số tùy chọn dòng lệnh mà test cung cấp hữu ích nhất khi sử dụng trong các tập lệnh shell.

Câu hỏi 1. Làm thế nào để so sánh hai chuỗi?​

Đơn giản, bạn chỉ cần sử dụng dấu bằng (=) giữa chúng. Ví dụ:
Mã:
test howto = forge
Một cách tốt hơn là viết một cái gì đó như thế này:
Mã:
test howto = forge && echo "same"
Vì vậy, nếu các chuỗi giống nhau, từ "same" sẽ được in ra ở đầu ra, nếu không thì không in gì cả.



Tương tự, bạn có thể sử dụng mẫu sau nếu muốn kiểm tra bất đẳng thức.
Mã:
STRING1 != STRING2

Câu hỏi 2. Làm thế nào để so sánh các số nguyên bằng cách sử dụng test?​

Điều này cũng rất đơn giản - chỉ cần so sánh chúng bằng cách sử dụng '-eq'. Ví dụ:
Mã:
test 5 -eq 7 && echo "same"
Đây là ảnh chụp màn hình cho thấy tùy chọn dòng lệnh này hoạt động như thế nào:



Tương tự, bạn có thể sử dụng '-ge' để kiểm tra lớn hơn hoặc bằng, '-gt' để kiểm tra lớn hơn, '-le' để kiểm tra nhỏ hơn hoặc bằng, '-lt' để kiểm tra nhỏ hơn và '-ne' để kiểm tra không bằng.

Câu hỏi 3. Làm thế nào để kiểm tra/so sánh các tệp bằng cách sử dụng test?​

Để kiểm tra tệp nào trong hai tệp mới hơn, hãy sử dụng '-nt'. Ví dụ:
Mã:
test file1 -nt file2
Đây là cách tôi đã thử nghiệm trên hệ thống của mình:



Các so sánh tệp khác mà bạn có thể thực hiện bao gồm tệp nào cũ hơn (-ot) và liệu hai tệp có cùng số thiết bị và inode hay không (-ef).

Để kiểm tra xem một tệp nhất định có phải là thư mục hay không, hãy sử dụng tùy chọn -d theo cách sau:

test -d [filename]

Ví dụ:

test -d new_dir

Sau đây là một số tùy chọn kiểm tra loại tệp khác mà lệnh 'test' cung cấp:




Câu hỏi 4. Lệnh test xử lý liên kết tượng trưng như thế nào?​

Lệnh test hủy tham chiếu liên kết tượng trưng, mặc dù có một vài ngoại lệ. Sau đây là nội dung trang hướng dẫn về điều này:
Mã:
Ngoại trừ -h và -L, tất cả các bài kiểm tra liên quan đến FILE đều hủy tham chiếu liên kết tượng trưng.
Trong trường hợp bạn chưa biết, cả -h và -L đều kiểm tra xem tệp có tồn tại và là liên kết tượng trưng hay không - do đó, việc loại trừ chúng là hợp lý, phải không?

Kết luận​

Lệnh test cung cấp nhiều tùy chọn, nhưng nói chung, bạn có thể nhóm chúng thành 3-4 loại. Chúng tôi đã cung cấp ví dụ về từng loại. Vì vậy, hãy thử những điều này và khi bạn hoàn tất, hãy truy cập trang hướng dẫn của tiện ích để biết thêm thông tin.
 
Back
Bên trên