Cách tìm tệp và thư mục trong Linux bằng dòng lệnh
Hầu hết mọi người sử dụng 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 in 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, bất kể bạn sử dụng trình quản lý máy tính để bàn nào.
Sử dụng lệnh Tìm
Lệnh Lệnh tìm kiếm của Nhật Bản 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 phù hợp với tiêu chí tìm kiếm được cung cấp. Bạn có thể tìm kiếm các 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.
Nhập 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.
tìm thấy .
Dấu chấm sau khi tìm thấy đỉnh chỉ ra thư mục hiện tại.
Để tìm các tệp khớp với một mẫu cụ thể, hãy sử dụng -Tên
tranh luận. Bạn có thể sử dụng siêu ký tự tên tệp (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 gửi 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 với bản pro pro trong thư mục Documents, chúng tôi sẽ sử dụng tài liệu cd /
lệnh để thay đổi thư mục Documents, sau đó gõ lệnh sau:
tìm thấy . -tên pro \ *
Tất cả các tệp trong thư mục hiện tại bắt đầu với từ pro 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
tùy chọn với lệnh find. Đây là phiên bản không nhạy cảm của -Tên
chỉ huy.
Nếu tìm thấy
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 đầ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 người đàn ông tìm
trong cửa sổ Terminal và nhấn Enter.
Sử dụng lệnh xác định vị trí
Lệnh định vị nhanh hơn lệnh find vì nó sử dụng cơ sở dữ liệu được xây dựng 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 cứ lúc nào để bạn có thể nhận được kết quả cập nhật từng phút. Để làm điều này, gõ lệnh sau tại dấu nhắc:
sudo updateb
Nhập mật khẩu của bạn khi được nhắc.
Dạng cơ bản của lệnh định vị tìm thấy tất cả các tệp trên hệ thống tệp, bắt đầu từ thư mục gốc, có chứa tất cả hoặc bất kỳ phần nào của tiêu chí tìm kiếm.
định vị mydata
Ví dụ: lệnh trên đã tìm thấy hai tệp có chứa mydata 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 -b
tùy chọn với lệnh định vị, như sau.
định vị -b '\ mydata'
Dấu gạch chéo ngược trong lệnh trên là một ký tự toàn cục, cung cấp cách mở rộng các ký tự đại diện trong một 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à một 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 ước tính. Các ký hiệu đại diện phổ biến nhất là dấu 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ự liền kề. Trong ví dụ trên, dấu gạch chéo ngược sẽ vô hiệu hóa thay thế ngầm của my myataata bằng cách * * mydata * để bạn kết thúc chỉ với kết quả có chứa mydata.
Lệnh mlocate là một triển khai định vị mới. Nó lập chỉ mục cho 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 liệu nội dung của thư mục có thay đổi mà không cần đọc lại nội dung hay không và giúp cập nhật cơ sở dữ liệu nhanh hơn và ít đòi hỏi hơn trên ổ cứng của bạn.
Khi bạn cài đặt mlocate, tập tin nhị phân / usr / bin / định vị sẽ thay đổi thành trỏ đến 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 nhập lệnh sau tại dấu nhắc.
sudo apt-get cài đặt mlocate
LƯU Ý: Chúng tôi sẽ chỉ cho bạn một lệnh sau trong bài viết này cho phép bạn xác định vị trí thực thi của 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 nhập lệnh sau tại dấu nhắc:
sudo /etc/cron.d Daily / mlocate
Lệnh mlocate sẽ không hoạt động cho đến khi cơ sở dữ liệu được tạo bằng tay hoặc khi tập lệnh được chạy từ cron.
Để biết thêm thông tin về lệnh định vị hoặc lệnh mlocate, hãy nhập người đàn ông xác định vị trí
hoặc là người đàn ông mlocate
trong cửa sổ Terminal và nhấn Enter. Màn hình trợ giúp giống nhau hiển thị cho cả hai lệnh.
Sử dụng lệnh nào
Lệnh mà mà Viking trả về đường dẫn tuyệt đối của tệp thực thi được gọi khi lệnh được ban hành. Điều này rất hữu ích trong việc tìm vị trí của một tệp thực thi để tạo lối tắt cho chương trình trên máy tính để bàn, trên bảng điều khiển hoặc vị trí khác trong trình quản lý máy tính để bàn. Ví dụ, gõ lệnh firefox nào
hiển thị kết quả hiển thị trong hình dưới đây.
Theo mặc định, lệnh nào chỉ hiển thị thực thi phù hợp đầu tiên. Để hiển thị tất cả các thực thi phù hợp, sử dụng -một
tùy chọn với lệnh:
mà -a firefox
Bạn có thể tìm kiếm nhiều tệp thực thi bằng cách sử dụng cùng một lúc, như thể hiện trong hình ảnh sau đây. Chỉ các đường dẫn đến thực thi được tìm thấy được hiển thị. Trong ví dụ dưới đây, chỉ có tệp thực thi ps ps được tìm thấy.
LƯU Ý: Lệnh nào chỉ tìm kiếm biến PATH của người dùng hiện tại. Nếu bạn tìm kiếm một tệp thực thi chỉ có sẵn cho người dùng root như một 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, hãy nhập man man mà mà (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 vị trí của tệp nhị phân, nguồn và trang man cho lệnh. Ví dụ: gõ đâu là firefox
tại dấu nhắc hiển thị kết quả như trong hình dưới đây.
Nếu bạn chỉ muốn đường dẫn đến tệp thực thi để hiển thị, chứ không phải đường dẫn đến trang nguồn và trang man (ual), hãy sử dụng -b
Tùy chọn. Ví dụ: lệnh trong đó -b firefox
sẽ chỉ hiển thị / usr / bin / firefox
như kết quả Điều này rất hữu ích vì rất có thể bạn sẽ tìm kiếm tệp thực thi của chương trình thường xuyên hơn bạn sẽ tìm kiếm các trang nguồn và trang 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 người đàn ông ( -m
).
Để biết thêm thông tin về lệnh whereis, gõ người đàn ông đâu
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í của các trang nhị phân, nguồn và man cho một lệnh, trong khi lệnh nào chỉ hiển thị cho bạn vị trí của nhị phân cho lệnh.
Lệnh whereis tìm kiếm thông qua một danh sách các thư mục cụ thể cho các tệp nhị phân, nguồn và man trong khi lệnh nào 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 PHIM của các trang man 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 nào chỉ hiển thị tệp thực thi đầu tiên mà nó tìm thấy. Bạn có thể thay đổi bằng cách sử dụng -một
tùy chọn, đã thảo luận trước đó, cho lệnh nào.
Vì lệnh whereis chỉ sử dụng các đường dẫn được mã hóa cứng vào lệnh, nên bạn không phải lúc nào cũng có thể 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 man cho lệnh whereis, bạn có thể muốn sử dụng lệnh nào với lệnh -một
tùy chọn để tìm tất cả các lần xuất hiện của lệnh trong toàn hệ thống.