Cách tìm tập tin trong Debian

Tác giả NetworkEngineer, T.Ba 31, 2022, 12:26:10 SÁNG

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

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

Cách tìm tập tin trong Debian


Việc tìm kiếm dữ liệu trong một hệ thống với hàng nghìn tập tin tin trở nên rất khó khăn đối với người quản trị, đặc biệt là đối với những người dùng hệ thống không quen thuộc với dòng lệnh. Mặc dù có thể tìm kiếm thông qua giao diện người dùng đồ họa, nhưng nó có một số hạn chế nhất định về tốc độ và chức năng. Dòng lệnh cung cấp tính linh hoạt để nhanh chóng tìm kiếm tập tin bằng các tiêu chí tìm kiếm khác nhau. Trong Linux, có một số lệnh bạn có thể sử dụng để tìm các tập tin và thư mục trên hệ thống của mình.

Trong bài viết này, chúng ta sẽ học cách sử dụng các lệnh khác nhau để tìm các tập tin và thư mục trong hệ thống Debian của bạn. Mình sẽ sử dụng các lệnh sau để tìm tập tin:

  • Lệnh Find
  • Lệnh Locate
  • Lệnh Grep

Lưu ý rằng mình đã sử dụng Debian 10 và Debian 11 để chạy các lệnh và thủ tục được đề cập trong bài viết này.

1. Sử dụng lệnh Find

Find là lệnh hiệu quả nhất để tìm kiếm tập tin trong hệ thống. Nó rất hữu ích ngay cả khi bạn không biết tên của tập tin bằng cách cho phép bạn tìm kiếm tập tin dựa trên các điều kiện khác nhau như ngày tạo tập tin, ngày sửa đổi, quyền, v.v.

Cú pháp sau có thể được sử dụng để tìm kiếm tập tin bằng lệnh Find như sau đây:

Mã nguồn [Chọn]
$ find /path/to/file/ -iname filename
Ví dụ: để tìm kiếm tập tin có tên "license.pdf" trong thư mục ~/Downloads, hãy sử dụng lệnh sau đây:

Mã nguồn [Chọn]
$ find ~/Downloads/ -iname license.pdf

Hãy nhớ rằng, nếu bạn không chỉ định thư mục, nó sẽ tìm kiếm các tập tin trong thư mục hiện tại của bạn.

1.1. Tìm kiếm tập tin bằng ký tự đại diện

Các ký tự đại diện cũng có thể được sử dụng để tìm các tập tin phù hợp với truy vấn.

Mã nguồn [Chọn]
$ find /path/to/file/ -iname filename\*
Ví dụ: để tìm kiếm tất cả các tập tin trong thư mục bắt đầu bằng từ "test", có thể sử dụng lệnh sau:

Mã nguồn [Chọn]
$ find ~/Downloads -iname test\*

1.2. Tìm kiếm các tập tin trống

Để tìm kiếm các tập tin trống trong một thư mục, hãy sử dụng cú pháp lệnh sau:

Mã nguồn [Chọn]
$ find /path/to/file/ -empty
Ví dụ: để tìm tất cả các tập tin trống trong thư mục ~/Downloads, lệnh sau sẽ được sử dụng:

Mã nguồn [Chọn]
$ find ~/Downloads/ -empty

1.3. Tìm kiếm tập tin dựa trên ngày và giờ

Bạn cũng có thể tìm kiếm các tập tin dựa trên thời điểm chúng được truy cập hoặc thay đổi. Bạn có thể tìm kiếm tập tin dựa trên các điều kiện sau:

  • mtime (Thời gian sửa đổi tính bằng ngày)
  • atime (Thời gian truy cập tính theo ngày)
  • ctime (Thay đổi thời gian theo ngày)

Để tìm các tập tin đã được sửa đổi cách đây chưa đầy 3 ngày, hãy sử dụng lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ find /path/to/file -mtime -3

Tương tự, để tìm các tập tin đã được sửa đổi hơn 3 ngày trước, hãy sử dụng +3.

Để tìm các tập tin đã được truy cập cách đây chưa đầy 3 ngày, hãy sử dụng lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ find /path/to/file -atime -3

Để tìm các tập tin đã được thay đổi cách đây chưa đầy 3 ngày, hãy sử dụng lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ find /path/to/file -ctime -3

1.4. Tìm kiếm dựa trên kích thước tập tin

Để tìm kiếm tập tin dựa trên kích thước, hãy sử dụng -size chuyển đổi theo sau là kích thước tập tin. Để tìm tập tin có kích thước 5kb, hãy sử dụng:


Để tìm tập tin có kích thước nhỏ hơn 5M, hãy sử dụng:

Mã nguồn [Chọn]
$ find /path/to/file -size -5M
Để tìm các tập tin có kích thước lớn hơn 5M, hãy sử dụng:

Mã nguồn [Chọn]
$ find /path/to/file -size +5M
1.5. Tìm kiếm dựa trên quyền đối với tập tin

Để tìm kiếm các tập tin với các quyền cụ thể, hãy sử dụng cú pháp sau:

Mã nguồn [Chọn]
$ find /path/to/file/ -type -perm mode
Nhập d hoặc f sau tham số kiểu để đề cập đến kiểu tập tin. (d cho thư mục và f cho tập tin). Thay thế chế độ bằng số (ví dụ: 777, 655 .. vv) hoặc các quyền tượng trưng (ví dụ: u = x, a = r + x).

Ví dụ: để tìm kiếm tập tin có quyền 655, hãy sử dụng lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ find /path/to/file -type f -perm 777

2. Sử dụng lệnh Locate

Một lệnh khác Locate cũng có thể được sử dụng để tìm kiếm các tập tin trong Linux. Nó không cung cấp nhiều tiêu chí tìm kiếm như lệnh Find, tuy nhiên, nó nhanh hơn và hiệu quả hơn nhiều so với lệnh Find. Nó duy trì cơ sở dữ liệu của riêng mình bằng cách lưu giữ hồ sơ các tập tin mới được thêm vào hệ thống của bạn. Vì vậy, bất cứ khi nào bạn tìm kiếm một tập tin, nó sẽ không tìm kiếm nó trong đĩa cứng của bạn. Thay vào đó, nó tìm kiếm tập tin trong cơ sở dữ liệu của chính nó.

2.1. Cài đặt Locate

Locate không được cài đặt sẵn trong các bản phân phối Linux. Bạn sẽ phải cài đặt nó theo cách thủ công. Chạy lệnh sau trong dòng lệnh của bạn để cài đặt tiện ích Locate.

Mã nguồn [Chọn]
$ sudo apt-get install locate

Sau khi cài đặt, bạn có thể bắt đầu sử dụng nó để tìm kiếm các tập tin trong hệ thống của mình.

Cú pháp sau có thể được sử dụng để tìm kiếm tập tin:

Mã nguồn [Chọn]
$ locate –i <path/to/file or filename>
-i được sử dụng để bỏ qua trường hợp của tên tập tin.

2.2. Tìm kiếm tập tin

Ví dụ: để tìm kiếm tên tập tin "license", hãy nhập lệnh sau vào Terminal:

Mã nguồn [Chọn]
$ locate –i license.pdf

2.3. Tìm kiếm nhiều tập tin

Nó cũng có thể được sử dụng để tìm kiếm nhiều tên tập tin cùng một lúc. Ví dụ: sử dụng lệnh sau trong Terminal để tìm kiếm đồng thời hai tập tin riêng biệt " license.pdf" và " testfile1":


2.4. Tìm kiếm bằng ký tự đại diện

Bạn cũng có thể tìm các tập tin phù hợp với truy vấn bằng cách sử dụng ký tự đại diện. Ví dụ: để tìm kiếm tất cả các tập tin kết thúc bằng ".ttf", hãy sử dụng lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ locate –i ~/Downloads/*.ttf

2.5. Cập nhật cơ sở dữ liệu Locate

Lệnh phụ Locate thuộc vào cơ sở dữ liệu riêng của nó để hoạt động. Vì vậy để hoạt động tốt, cơ sở dữ liệu cần được cập nhật thường xuyên. Để làm như vậy, hãy chạy lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ sudo updatedb
3. Sử dụng lệnh Grep

Lệnh Grep về cơ bản được sử dụng để in văn bản từ các tập tin phù hợp với một mẫu cụ thể. Tuy nhiên, bạn cũng có thể sử dụng nó để tìm các tập tin trong một thư mục. Ví dụ, mình đang tìm kiếm một tập tin nhưng mình không biết tên tập tin. Trong trường hợp đó, mình có thể tìm kiếm vị trí của nó bằng cách sử dụng từ khóa mà nó chứa.

Mã nguồn [Chọn]
$ grep OPTIONS PATTERN /path/to/file
Trong đó OPTIONS giữ một số tùy chọn kiểm soát tìm kiếm và PATTERN giữ từ khóa mình muốn tìm kiếm.

Trong ví dụ sau, mình sẽ sử dụng grep để tìm các tập tin có chứa từ khóa "account".

Mã nguồn [Chọn]
$ grep –r -i "account" ~/Downloads
Trong đó:

-i được sử dụng để bỏ qua trường hợp của các từ khóa được đề cập

-r được sử dụng để tìm kiếm một cách đệ quy trong thư mục được chỉ định


Trong bài viết này, mình đã thảo luận về một số cách dòng lệnh mà bạn tìm thấy tập tin trong hệ thống Debian sử dụng. Bạn có thể sử dụng GUI để tìm kiếm tập tin nhưng dòng lệnh mang lại hiệu quả hơn về tốc độ và chức năng.