Cách tìm kiếm tập tin trên Linux từ dòng lệnh

Tác giả Network Engineer, T.Một 01, 2022, 10:32:33 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách tìm kiếm tập tin trên Linux từ dòng lệnh


Trong bất kỳ hệ thống máy tính nào, bạn có rất nhiều tập tin khác nhau. Một số trong số chúng là các tập tin hệ thống đã có ngay từ đầu, trong khi một số trong số chúng là các tập tin người dùng mà bạn tự tạo theo nhu cầu của mình. Tuy nhiên, khi có một lượng lớn tập tin và bạn chỉ muốn tìm kiếm một tập tin hoặc tập hợp tập tin cụ thể cho bất kỳ tác vụ cụ thể nào, thì quá trình tìm kiếm tập tin đó hoặc các tập tin theo cách thủ công có thể cực kỳ tẻ nhạt vì bạn phải thực hiện đến từng và mọi thư mục để tìm kiếm tập tin đó hoặc các tập tin mà bạn cần. Và thậm chí sau đó, không đảm bảo rằng bạn sẽ có thể tìm thấy tất cả các tập tin đó một cách hiệu quả.

Rất may, hệ điều hành Linux của chúng ta ngày nay đủ hiệu quả để chúng cung cấp cho chúng ta những cách khác nhau để chúng ta có thể tự động hóa tác vụ này và làm cho nó nhanh hơn. Giống như các hệ điều hành khác, Linux cũng cho phép chúng ta tìm kiếm các tập tin tự động thông qua các lệnh đầu cuối. Do đó, hôm nay, cuộc thảo luận của chúng ta sẽ xoay quanh việc khám phá các phương pháp khác nhau để tìm kiếm tập tin trên Linux từ dòng lệnh.

Các phương pháp giải thích bên dưới đã được thử nghiệm với Linux Mint 20. Có bốn cách khác nhau để tìm kiếm tập tin trên Linux từ dòng lệnh và chúng ta sẽ thảo luận từng cách một.

1. Phương pháp 1: Sử dụng lệnh "find"

Lệnh "find" với các tùy chọn khác nhau có thể được sử dụng để tìm kiếm các tập tin dựa trên tên, loại, ngày sửa đổi, kích thước, v.v. của chúng trên Linux thông qua dòng lệnh. Trong trường hợp này, mình muốn sử dụng lệnh "find" để lọc ra tất cả các tập tin văn bản có trong thư mục hiện tại của mình. Chúng ta sẽ phải tiến hành như sau để thực hiện việc này.

Trong cửa sổ dòng lệnh Terminal của bạn, bạn cần thực hiện lệnh sau:

Mã nguồn [Chọn]
$ find –type f –name '*.txt'
Ở đây, dấu hoa thị được sử dụng để chỉ ra rằng lệnh được đề cập ở trên sẽ trả về tất cả các tập tin văn bản có trong thư mục làm việc hiện tại của bạn.

Khi bạn nhấn phím Enter để thực hiện lệnh này, bạn sẽ có thể xem tất cả các tập tin có phần mở rộng .txt nằm trong thư mục hiện tại của bạn, như thể hiện trong hình ảnh bên dưới.


2. Phương pháp 2: Sử dụng lệnh "locate"

Lệnh "locate" hữu ích bất cứ khi nào bạn biết tên đầy đủ của tập tin cần tìm kiếm hoặc bạn biết một phần tên, tức là chỉ một phần cho tập tin đó. Về cơ bản, lệnh này sẽ tìm nạp tất cả các tập tin đó cho bạn có chứa tên đầy đủ hoặc một phần mà bạn đã chỉ định sau lệnh này. Ví dụ: Trong thư mục hiện tại của mình, mình sẽ lọc tất cả các tập tin có chứa chuỗi "sed" trong tên của chúng. Điều này có thể được thực hiện bằng cách làm theo các bước được đề cập bên dưới.

Bạn cần thực hiện lệnh hiển thị bên dưới trong cửa sổ dòng lệnh Terminal của mình:

Mã nguồn [Chọn]
$ locate sed
Ở đây, "sed" có thể được thay thế bằng bất kỳ chuỗi nào khác có trong tên của tập tin mà bạn muốn tìm kiếm bằng lệnh "locate".

Khi lệnh này thực thi, bạn sẽ có thể thấy tất cả các tập tin có chứa chuỗi được chỉ định, tức là "sed" trong trường hợp này, tên của chúng được hiển thị trong hình ảnh sau:


3. Phương pháp 3: Sử dụng lệnh "whereis"

Lệnh này hơi nâng cao, theo nghĩa là điều này không chỉ trả về tên tập tin mà bạn đang tìm kiếm mà nó còn trả về đường dẫn hoàn chỉnh đến mã nhị phân và mã nguồn cùng với các trang man (trong trường hợp là lệnh) dưới dạng đầu ra của nó. Do đó bạn có thể định vị chính xác vị trí của tất cả các tập tin cần thiết của một gói hoặc một lệnh. Để chứng minh cách sử dụng lệnh "whereis" trong Linux Mint 20, mình chỉ cần cố gắng tìm kiếm các trang man, tập tin nhị phân và tập tin nguồn của lệnh "lsusb". Chúng ta có thể thực hiện việc này bằng cách thực hiện các bước sau.

Chúng ta phải thực hiện lệnh được nêu bên dưới trong cửa sổ dòng lệnh Terminal:

Mã nguồn [Chọn]
$ whereis lsusb
Ở đây, "lsusb" có thể được thay thế bằng bất kỳ lệnh hoặc gói nào khác có trang nhị phân, nguồn và trang mà bạn muốn tìm kiếm trong khi sử dụng lệnh "whereis".

Khi bạn chạy lệnh hiển thị ở trên trong cửa sổ dòng lệnh Terminal của mình, bạn sẽ có thể thấy đường dẫn đầy đủ đến tập tin nhị phân, tập tin nguồn và các trang người dùng của lệnh "lsusb" như được hiển thị trong hình ảnh sau:


4. Phương pháp 4: Sử dụng lệnh "which"

Lệnh "which" có thể được gọi là phiên bản nhỏ của lệnh "whereis" vì nó chỉ trả về đường dẫn đầy đủ của tập tin thực thi của một lệnh hoặc một gói. Bất cứ khi nào bạn chỉ quan tâm đến việc tìm kiếm tập tin nhị phân của một lệnh cụ thể hoặc một gói, bạn có thể sử dụng lệnh "which" một cách thuận tiện. Ví dụ: mình sẽ cố gắng tìm kiếm tập tin thực thi của lệnh "lsusb" trong khi sử dụng lệnh "which" như được giải thích bên dưới.

Bạn chỉ cần thực hiện lệnh sau trong cửa sổ dòng lệnh Terminal của mình:

Mã nguồn [Chọn]
$ which lsusb
Tại đây, bạn có thể thay thế "lsusb" bằng bất kỳ lệnh hoặc gói nào khác có tập tin thực thi mà bạn muốn tìm kiếm trong khi sử dụng lệnh "which".

Sau khi chạy lệnh được đề cập ở trên trong cửa sổ dòng lệnh Terminal của bạn, bạn sẽ ngay lập tức có thể thấy đường dẫn đến tập tin thực thi của lệnh "lsusb" trong cửa sổ dòng lệnh Terminal của bạn như được hiển thị trong hình ảnh bên dưới:


Bằng cách chọn bất kỳ phương pháp nào được thảo luận trong bài viết này, tùy theo nhu cầu của bạn, bạn có thể tìm kiếm các tập tin mong muốn của mình trên hệ điều hành Linux và do đó, bạn không gặp rắc rối khi tìm kiếm từng tập tin theo cách thủ công.