Làm thế nào để tìm tập tin và thư mục trong Linux bằng cách sử dụng dòng lệnh

Mục lục:

Làm thế nào để tìm tập tin và thư mục trong Linux bằng cách sử dụng dòng lệnh
Làm thế nào để tìm tập tin và thư mục trong Linux bằng cách sử dụng dòng lệnh

Video: Làm thế nào để tìm tập tin và thư mục trong Linux bằng cách sử dụng dòng lệnh

Video: Làm thế nào để tìm tập tin và thư mục trong Linux bằng cách sử dụng dòng lệnh
Video: Đồ ăn an toàn cho răng niềng?| Lạc Việt Intech Niềng Răng #shorts - YouTube 2024, Tháng tư
Anonim
Hầu hết mọi người sử dụng một trình quản lý tệp đồ họa để tìm các tệp trong Linux, chẳng hạn như Nautilus trong Gnome, Dolphin trong KDE và Thunar trong Xfce. Tuy nhiên, có một số cách để sử dụng dòng lệnh để tìm tệp trong Linux, cho dù bạn sử dụng trình quản lý máy tính để bàn nào.
Hầu hết mọi người sử dụng một trình quản lý tệp đồ họa để tìm các tệp trong Linux, chẳng hạn như Nautilus trong Gnome, Dolphin trong KDE và Thunar trong Xfce. Tuy nhiên, có một số cách để sử dụng dòng lệnh để tìm tệp trong Linux, cho dù bạn sử dụng trình quản lý máy tính để bàn nào.
Image
Image

Sử dụng lệnh Tìm

Lệnh "find" cho phép bạn tìm kiếm các tệp mà bạn biết tên tệp gần đúng. Dạng đơn giản nhất của lệnh tìm kiếm các tệp trong thư mục hiện tại và đệ quy thông qua các thư mục con của nó khớp với tiêu chí tìm kiếm được cung cấp. Bạn có thể tìm kiếm tệp theo tên, chủ sở hữu, nhóm, loại, quyền, ngày và các tiêu chí khác.

Gõ lệnh sau tại dấu nhắc liệt kê tất cả các tệp được tìm thấy trong thư mục hiện tại.

find.

Dấu chấm sau "tìm" cho biết thư mục hiện tại.

Để tìm tệp khớp với mẫu cụ thể, hãy sử dụng
Để tìm tệp khớp với mẫu cụ thể, hãy sử dụng

-name

tranh luận. Bạn có thể sử dụng metacharacters tên tập tin (chẳng hạn như

*

), nhưng bạn nên đặt một ký tự thoát (

) trước mỗi người trong số họ hoặc kèm theo chúng trong dấu ngoặc kép.

Ví dụ: nếu chúng tôi muốn tìm tất cả các tệp bắt đầu bằng "chuyên nghiệp" trong thư mục Tài liệu, chúng tôi sẽ sử dụng

cd Documents/

lệnh để thay đổi thư mục Documents, sau đó gõ lệnh sau:

find. -name pro*

Tất cả các tệp trong thư mục hiện tại bắt đầu bằng “pro” được liệt kê.

LƯU Ý: Lệnh find mặc định là phân biệt chữ hoa chữ thường. Nếu bạn muốn tìm kiếm một từ hoặc cụm từ không phân biệt chữ hoa chữ thường, hãy sử dụng

-iname

với lệnh find. Đó là phiên bản không phân biệt chữ hoa chữ thường của

-name

chỉ huy.

Nếu
Nếu

find

không tìm thấy bất kỳ tệp nào phù hợp với tiêu chí của bạn, nó không tạo ra kết quả đầu ra.

Lệnh find có rất nhiều tùy chọn có sẵn để tinh chỉnh tìm kiếm. Để biết thêm thông tin về lệnh find, hãy chạy

man find

trong cửa sổ Terminal và nhấn Enter.

Sử dụng lệnh Định vị

Lệnh xác định vị trí nhanh hơn lệnh find vì nó sử dụng cơ sở dữ liệu đã được tạo trước đó, trong khi lệnh find tìm kiếm trong hệ thống thực, thông qua tất cả các thư mục và tệp thực tế. Lệnh xác định vị trí trả về một danh sách tất cả các tên đường dẫn chứa nhóm ký tự được chỉ định.

Cơ sở dữ liệu được cập nhật định kỳ từ cron, nhưng bạn cũng có thể tự cập nhật nó bất kỳ lúc nào để có thể nhận được kết quả cập nhật từng phút. Để thực hiện việc này, gõ lệnh sau tại dấu nhắc:

sudo updatedb

Nhập mật khẩu của bạn khi được nhắc.

locate mydata

Ví dụ, lệnh trên tìm thấy hai tệp chứa “mydata” và một tệp chứa “dữ liệu”.

Nếu bạn muốn tìm tất cả các tệp hoặc thư mục chứa chính xác và chỉ tiêu chí tìm kiếm của bạn, hãy sử dụng
Nếu bạn muốn tìm tất cả các tệp hoặc thư mục chứa chính xác và chỉ tiêu chí tìm kiếm của bạn, hãy sử dụng

-b

với lệnh xác định vị trí, như sau.

locate -b ‘mydata’

Dấu gạch chéo ngược trong lệnh trên là một ký tự globbing, cung cấp cách mở rộng các ký tự đại diện trong tên tệp không cụ thể thành một tập hợp các tên tệp cụ thể. Ký tự đại diện là biểu tượng có thể được thay thế bằng một hoặc nhiều ký tự khi biểu thức được đánh giá. Các ký tự đại diện phổ biến nhất là dấu chấm hỏi (

), viết tắt của một ký tự đơn và dấu hoa thị (

*

), viết tắt của một chuỗi ký tự tiếp giáp. Trong ví dụ trên, dấu gạch chéo ngược vô hiệu hóa thay thế ngầm của "mydata" bằng "* mydata *" để bạn chỉ có kết quả chứa "mydata".

Lệnh mlocate là một cài đặt mới định vị. Nó chỉ mục toàn bộ hệ thống tệp, nhưng kết quả tìm kiếm chỉ bao gồm các tệp mà người dùng hiện tại có quyền truy cập. Khi bạn cập nhật cơ sở dữ liệu mlocate, nó sẽ giữ thông tin dấu thời gian trong cơ sở dữ liệu. Điều này cho phép mlocate để biết nếu nội dung của một thư mục thay đổi mà không đọc nội dung một lần nữa và làm cho bản cập nhật cơ sở dữ liệu nhanh hơn và ít đòi hỏi trên ổ cứng của bạn.
Lệnh mlocate là một cài đặt mới định vị. Nó chỉ mục toàn bộ hệ thống tệp, nhưng kết quả tìm kiếm chỉ bao gồm các tệp mà người dùng hiện tại có quyền truy cập. Khi bạn cập nhật cơ sở dữ liệu mlocate, nó sẽ giữ thông tin dấu thời gian trong cơ sở dữ liệu. Điều này cho phép mlocate để biết nếu nội dung của một thư mục thay đổi mà không đọc nội dung một lần nữa và làm cho bản cập nhật cơ sở dữ liệu nhanh hơn và ít đòi hỏi trên ổ cứng của bạn.

Khi bạn cài đặt mlocate, tệp nhị phân / usr / bin / locate sẽ thay đổi thành điểm mlocate. Để cài đặt mlocate, nếu nó chưa được bao gồm trong bản phân phối Linux của bạn, hãy gõ lệnh sau tại dấu nhắc.

sudo apt-get install mlocate

LƯU Ý: Chúng tôi sẽ cho bạn thấy một lệnh sau này trong bài viết này cho phép bạn xác định nơi thực thi cho một lệnh, nếu nó tồn tại.

Lệnh mlocate không sử dụng cùng một tệp cơ sở dữ liệu như lệnh định vị tiêu chuẩn. Do đó, bạn có thể muốn tạo cơ sở dữ liệu theo cách thủ công bằng cách gõ lệnh sau tại dấu nhắc:
Lệnh mlocate không sử dụng cùng một tệp cơ sở dữ liệu như lệnh định vị tiêu chuẩn. Do đó, bạn có thể muốn tạo cơ sở dữ liệu theo cách thủ công bằng cách gõ lệnh sau tại dấu nhắc:

sudo /etc/cron.daily/mlocate

Lệnh mlocate sẽ không hoạt động cho đến khi cơ sở dữ liệu được tạo theo cách thủ công hoặc khi tập lệnh được chạy từ cron.

Để biết thêm thông tin về lệnh xác định vị trí hoặc lệnh mlocate, hãy nhập
Để biết thêm thông tin về lệnh xác định vị trí hoặc lệnh mlocate, hãy nhập

man locate

hoặc là

man mlocate

trong cửa sổ Terminal và nhấn Enter. Màn hình trợ giúp tương tự hiển thị cho cả hai lệnh.

Sử dụng lệnh nào

Lệnh "which" trả về đường dẫn tuyệt đối của tệp thực thi được gọi khi lệnh được phát hành. Điều này rất hữu ích trong việc tìm vị trí của tệp thực thi để tạo lối tắt cho chương trình trên màn hình, trên bảng điều khiển hoặc vị trí khác trong trình quản lý màn hình. Ví dụ, gõ lệnh

which firefox

hiển thị kết quả được hiển thị trong hình bên dưới.

Theo mặc định, lệnh nào chỉ hiển thị tệp thực thi khớp đầu tiên. Để hiển thị tất cả các tệp thi hành phù hợp, hãy sử dụng
Theo mặc định, lệnh nào chỉ hiển thị tệp thực thi khớp đầu tiên. Để hiển thị tất cả các tệp thi hành phù hợp, hãy sử dụng

-a

tùy chọn với lệnh:

which -a firefox

Bạn có thể tìm kiếm nhiều tập tin thực thi cùng một lúc, như được hiển thị trong hình dưới đây. Chỉ các đường dẫn đến các tệp thi hành được tìm thấy được hiển thị.Trong ví dụ dưới đây, chỉ tìm thấy tập tin thực thi ‚Äúps‚Äù.

LƯU Ý: Lệnh nào chỉ tìm kiếm biến người dùng hiện tại của biến PATH. Nếu bạn tìm kiếm tệp thực thi chỉ khả dụng cho người dùng root là người dùng bình thường, sẽ không có kết quả nào hiển thị.
LƯU Ý: Lệnh nào chỉ tìm kiếm biến người dùng hiện tại của biến PATH. Nếu bạn tìm kiếm tệp thực thi chỉ khả dụng cho người dùng root là người dùng bình thường, sẽ không có kết quả nào hiển thị.

Để biết thêm thông tin về lệnh nào, gõ ‚Äúman which‚Äù (không có dấu ngoặc kép) tại dấu nhắc lệnh trong cửa sổ Terminal và nhấn Enter.

Sử dụng lệnh Whereis

Lệnh whereis được sử dụng để tìm ra nơi các tệp nhị phân, nguồn và trang người dùng cho một lệnh được đặt. Ví dụ: nhập

whereis firefox

tại dấu nhắc hiển thị kết quả như được hiển thị trong hình dưới đây.

Nếu bạn chỉ muốn đường dẫn đến tệp thực thi được hiển thị và không phải đường dẫn đến trang nguồn và trang người dùng, hãy sử dụng
Nếu bạn chỉ muốn đường dẫn đến tệp thực thi được hiển thị và không phải đường dẫn đến trang nguồn và trang người dùng, hãy sử dụng

-b

Tùy chọn. Ví dụ, lệnh

whereis -b firefox

sẽ chỉ hiển thị

/usr/bin/firefox

là kết quả. Điều này rất tiện lợi vì bạn rất có thể sẽ tìm kiếm một tệp thực thi chương trình thường xuyên hơn là bạn sẽ tìm kiếm các trang nguồn và người cho chương trình đó. Bạn cũng có thể tìm kiếm chỉ các tệp nguồn (

-s

) hoặc chỉ cho các trang của người đàn ông (

-m

).

Để biết thêm thông tin về lệnh whereis, hãy nhập

man whereis

trong cửa sổ Terminal và nhấn Enter.

Hiểu sự khác biệt giữa lệnh Whereis và lệnh nào

Lệnh whereis hiển thị cho bạn vị trí cho các trang nhị phân, nguồn và người dùng cho một lệnh, trong khi lệnh đó chỉ cho bạn thấy vị trí của nhị phân cho lệnh.

Lệnh whereis tìm kiếm thông qua danh sách các thư mục cụ thể cho các tệp nhị phân, nguồn và tệp người dùng trong khi lệnh đó tìm kiếm các thư mục được liệt kê trong biến môi trường PATH của người dùng hiện tại. Đối với lệnh whereis, danh sách các thư mục cụ thể có thể được tìm thấy trong phần FILES của các trang hướng dẫn sử dụng cho lệnh.

Khi nói đến kết quả được hiển thị theo mặc định, lệnh whereis hiển thị mọi thứ nó tìm thấy trong khi lệnh đó chỉ hiển thị tệp thực thi đầu tiên mà nó tìm thấy. Bạn có thể thay đổi điều đó bằng cách sử dụng

-a

tùy chọn, được thảo luận trước đó, cho lệnh nào.

Bởi vì lệnh whereis chỉ sử dụng các đường dẫn được mã hóa cứng vào lệnh, bạn có thể không phải lúc nào cũng tìm thấy những gì bạn đang tìm kiếm. Nếu bạn đang tìm kiếm một chương trình mà bạn nghĩ có thể được cài đặt trong một thư mục không được liệt kê trong các trang hướng dẫn cho lệnh whereis, bạn có thể muốn sử dụng lệnh đó với lệnh

-a

tùy chọn để tìm tất cả các lần xuất hiện của lệnh trong toàn bộ hệ thống.

Đề xuất: