Năm lệnh tìm kiếm tệp trên Linux

Giới thiệu

Có năm các lệnh tìm kiếm tập tin trên Linux: whereis, locate, which, type, và find. Mỗi người trong số họ có những đặc điểm riêng và được thiết kế cho các tình huống tìm kiếm cụ thể. Hướng dẫn này sẽ giới thiệu cho bạn từng lệnh và hiển thị các cách sử dụng ví dụ. Để đọc thêm về bất kỳ lệnh nào trong số này, tốt nhất là xem lại trang chủ phù hợp.

whereis

Các whereislệnh được sử dụng để tìm kiếm tập tin nhị phân, mã nguồn, và các trang hướng dẫn trực tuyến tại một số tiêu chuẩn cài đặt thư mục cho bất kỳ tên chương trình quy định.

Bởi vì whereiskhông tìm kiếm mọi vị trí trên hệ thống của bạn, bất kỳ tệp nào trong số các thư mục cụ thể này sẽ không được tìm thấy. Vì lý do tương tự, bạn sẽ nhận được kết quả tìm kiếm của mình một cách nhanh chóng, cho dù có tìm thấy hay không.

Ngoài ra, nó sẽ không tìm kiếm các lệnh được xây dựng trực tiếp vào shell.

Ví dụ: nếu bạn muốn tìm thông tin về lslệnh, hãy chạy lệnh sau trên thiết bị đầu cuối của bạn:

whereis ls

Bạn sẽ nhận được một số phản hồi như:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Kết quả /bin/lslà, nhị phân bạn muốn định vị, hai cái còn lại là các trang cho lschương trình, không lstìm thấy mã nguồn cho chương trình.

Sao chép /bin/lstệp vào thư mục chính của bạn và vào /usr/binthư mục, sau đó chạy lại whereislệnh:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Như bạn thấy, chỉ /bin/ls/usr/bin/lsđược tìm thấy trong kết quả tìm kiếm. Các lschương trình trong thư mục chính của bạn không được tìm thấy, bởi vì thư mục home của bạn không phải là một trong những tiêu chuẩn cài đặt thư mục.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Nếu bạn chạy lệnh sau:

whereis cd

Bạn sẽ thấy đầu ra tương tự như dòng dưới đây. Không có tệp nhị phân nào được phát hiện vì cdlà lệnh tích hợp của shell.

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

Các locatelệnh được sử dụng để tìm file theo tên với sự giúp đỡ của một cơ sở dữ liệu ( /var/lib/mlocate/mlocate.db). Cơ sở dữ liệu này về cơ bản là một ảnh chụp nhanh bố trí của hệ thống tập tin của bạn. Mọi hồ sơ trong cơ sở dữ liệu phù hợp với truy vấn của bạn sẽ được liệt kê trong kết quả tìm kiếm. Theo mặc định, locatelệnh sẽ sử dụng truy vấn của bạn để khớp với bất kỳ phần nào trong toàn bộ tên của mỗi bản ghi, bao gồm cả tên đường dẫn. Do đó, số lượng tệp phù hợp trong kết quả tìm kiếm có thể nhiều hơn bạn mong đợi.

Khi cơ sở dữ liệu trở nên lỗi thời, kết quả tìm kiếm của locatelệnh trở nên kém chính xác hơn. Bạn có thể nhận thấy các tệp không còn tồn tại hoặc bạn sẽ không thấy các kết quả khớp với các tệp mới được tạo. Theo mặc định, mlocate.dbcơ sở dữ liệu được tự động cập nhật mỗi ngày một lần. Bạn có thể sử dụng updatedblệnh để cập nhật thủ công.

Bởi vì tìm kiếm được thực hiện trên cơ sở dữ liệu thay vì hệ thống tập tin, tốc độ tìm kiếm rất nhanh.

Nếu bạn chạy lệnh sau:

locate ls

Bạn sẽ nhận được nhiều hồ sơ thay vì kết quả mong đợi của bạn.

Để làm cho kết quả tìm kiếm chính xác hơn, bạn có thể sử dụng -bcờ để giới hạn phạm vi tìm kiếm, sử dụng truy vấn của bạn để chỉ khớp với tên cơ sở của mỗi bản ghi:

locate -b "\ls"

Lần này, bạn sẽ nhận được vị trí của từng tệp được gọi chính xác lstrên hệ thống tệp của bạn:

/bin/ls

which

Các whichlệnh sẽ tìm kiếm lệnh bạn chỉ định trong giá trị của biến môi trường PATHvà trả lại kết quả đầu tiên theo mặc định. Nếu bạn đang truy vấn một bí danh, whichlệnh sẽ xác định lệnh thực tế cho bí danh trước khi thực hiện tìm kiếm của bạn.

Các whichlệnh cũng rất nhanh vì đơn giản của nó.

Cách sử dụng whichlệnh rất đơn giản:

which your_command

Nếu bạn muốn hiển thị tất cả các lệnh khớp thay vì lệnh đầu tiên, hãy sử dụng -acờ:

which -a your_command

Dưới đây là một ví dụ để tìm kiếm một lệnh đã được đặt bí danh:

which ll

Kết quả tìm kiếm sẽ là:

alias ll='ls -l --color=auto'
    /bin/ls

type

Theo mặc định, typelệnh sẽ cho biết cách một tên lệnh sẽ được diễn giải. Các kết quả có thể bao gồm bí danh, từ khóa, hàm, hàm dựng hoặc tệp. Giống như whereislệnh, typelệnh sẽ chỉ tìm kiếm trong một số thư mục cài đặt tiêu chuẩn để trả lời truy vấn của bạn.

Một số ví dụ để gõ các lệnh khác nhau:

Một lệnh dựng sẵn shell:

type cd

cd is a shell builtin

Một tệp nhị phân trên hệ thống tệp:

type sudo

sudo is /usr/bin/sudo

Bí danh:

type ls

ls is aliased to `ls --color=auto'

find

Trong số năm lệnh tìm kiếm tệp được giới thiệu trong hướng dẫn này, findlệnh này là lệnh mạnh nhất. Nó cũng là một trong những chậm nhất. Không giống như bốn lệnh khác, findlệnh thực sự sẽ tìm kiếm tệp của bạn trên toàn bộ hệ thống tệp, một nút i bằng một nút i. Với findlệnh, bạn có thể sử dụng các tiêu chí truy vấn tinh vi để tìm mọi tệp bạn cần, thậm chí thực hiện thêm các hành động trên các tệp được tìm thấy.

Tiêu chí tìm kiếm cho findlệnh quá phức tạp để giải thích trong một bài viết ngắn như vậy, đây là một vài ví dụ thay thế.

Định dạng cơ bản của findlệnh:

find [path] [option] [action]

Để tìm tất cả các tệp trong thư mục làm việc và tất cả các thư mục con của nó:

find

Để tìm một tệp được gọi aaatrong thư mục chính của bạn và tất cả các thư mục con của nó:

find ~ -name 'aaa'

Để tìm tất cả các tệp trong hệ thống tệp đã được sửa đổi trong 24 giờ qua:

find / -mtime 0

Để tìm tất cả các tệp trong thư mục web và tất cả các thư mục con thuộc về người dùng nginx:

find /usr/share/nginx/html/ -user nginx

Để tìm tất cả các tệp trong thư mục làm việc có quyền 0744:

find -perm -0744

Để tìm một tệp có tên aaatrong thư mục làm việc và liệt kê thông tin chi tiết của nó:

find -name 'aaa' -exec ls -l {} \;


ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

AI trong lĩnh vực chăm sóc sức khỏe đã có những bước tiến nhảy vọt so với những thập kỷ trước. Vì vậy, tương lai của AI trong Chăm sóc sức khỏe vẫn đang phát triển từng ngày.