3 cách tìm tệp trong Linux

Mục lục:

3 cách tìm tệp trong Linux
3 cách tìm tệp trong Linux

Video: 3 cách tìm tệp trong Linux

Video: 3 cách tìm tệp trong Linux
Video: Hướng Dẫn Hạn Chế Click Ảo Quảng Cáo Google Ads Chặn Đối Tượng Truy Cập Website Dưới 3s, 5s và 10s. 2024, Có thể
Anonim

Việc tìm kiếm một tệp trong hệ thống Linux có thể khó khăn nếu bạn không biết cách. Cách tốt nhất để tìm tệp là sử dụng một số lệnh đầu cuối khác nhau. Thành thạo các lệnh này có thể giúp bạn kiểm soát hoàn toàn các tệp của mình và chúng mạnh hơn nhiều so với các chức năng tìm kiếm đơn giản trên các hệ điều hành khác.

Các bước

Phương pháp 1/3: Sử dụng "định vị"

690519 10 1
690519 10 1

Bước 1. Cài đặt

định vị chức năng.

Lệnh định vị thường hoạt động nhanh hơn nhiều so với lệnh find, vì nó hoạt động trên cơ sở dữ liệu cấu trúc tệp của bạn. Không phải tất cả các bản phân phối Linux đều được cài đặt chức năng định vị, vì vậy hãy nhập các lệnh sau để cài đặt nó:

  • Nhập sudo apt-get update và nhấn ↵ Enter.
  • Bạn có thể cài đặt nó trong Debian và Ubuntu như sau: Nhập sudo apt-get install mlocate và nhấn ↵ Enter. Nếu định vị đã được cài đặt, bạn sẽ thấy thông báo mlocate đã là phiên bản mới nhất.
  • Trong Arch Linux, sử dụng trình quản lý gói pacman: pacman -S mlocate
  • Đối với Gentoo, sử dụng float: nổi lên mlocate
690519 11 1
690519 11 1

Bước 2. Cập nhật của bạn

định vị cơ sở dữ liệu.

Lệnh định vị sẽ không thể tìm thấy bất cứ thứ gì cho đến khi cơ sở dữ liệu của nó đã được xây dựng và cập nhật. Điều này diễn ra tự động hàng ngày, nhưng bạn cũng có thể cập nhật nó theo cách thủ công. Bạn sẽ cần phải làm điều này nếu bạn muốn bắt đầu sử dụng định vị ngay lập tức.

Nhập sudo updatedb và nhấn ↵ Enter

690519 12 1
690519 12 1

Bước 3. Sử dụng

định vị để thực hiện các tìm kiếm đơn giản.

Lệnh định vị rất nhanh, nhưng nó không có nhiều tùy chọn như lệnh tìm kiếm. Bạn có thể thực hiện tìm kiếm tệp cơ bản theo cách tương tự như lệnh find.

định vị -i "*.jpg"

  • Lệnh này sẽ tìm kiếm các tệp có đuôi-j.webp" />
  • Giống như lệnh find, -i bỏ qua trường hợp truy vấn của bạn.
690519 13 1
690519 13 1

Bước 4. Giới hạn kết quả tìm kiếm của bạn

Nếu tìm kiếm của bạn trả lại quá nhiều kết quả để xử lý, bạn có thể cắt bớt chúng bằng cách sử dụng tùy chọn -n, theo sau là số lượng kết quả bạn muốn hiển thị.

xác định vị trí -n 20 -i "*.jpg"

  • Chỉ 20 kết quả đầu tiên phù hợp với truy vấn sẽ được hiển thị.
  • Bạn cũng có thể sử dụng dấu | để gửi kết quả đến ít hơn để dễ dàng cuộn.

Phương pháp 2/3: Sử dụng "find"

690519 1 1
690519 1 1

Bước 1. Tìm kiếm một tệp theo tên tệp của nó

Đây là cách tìm kiếm cơ bản nhất mà bạn có thể thực hiện bằng lệnh find. Lệnh dưới đây sẽ tìm kiếm truy vấn trong thư mục hiện tại và bất kỳ thư mục con nào.

tìm -iname "tên tệp"

Việc sử dụng -iname thay vì -name sẽ bỏ qua trường hợp truy vấn của bạn. Lệnh -name có phân biệt chữ hoa chữ thường

690519 2 1
690519 2 1

Bước 2. Đặt tìm kiếm bắt đầu trong thư mục gốc

Nếu bạn muốn tìm kiếm toàn bộ hệ thống của mình, bạn có thể thêm / modifier vào truy vấn. Điều này sẽ cho biết tìm kiếm tất cả các thư mục bắt đầu từ thư mục gốc.

find / -iname "tên tệp"

  • Bạn có thể bắt đầu tìm kiếm trong một thư mục cụ thể bằng cách thay thế / bằng một đường dẫn thư mục, chẳng hạn như / home / pat.
  • Bạn có thể sử dụng a. thay vì / để buộc chỉ thực hiện tìm kiếm trên thư mục hiện tại và các thư mục con.
690519 3 1
690519 3 1

Bước 3. Sử dụng ký tự đại diện

* để tìm kiếm bất kỳ thứ gì phù hợp với phần của truy vấn.

Ký tự đại diện * có thể hữu ích để tìm thứ gì đó nếu bạn không biết tên đầy đủ hoặc nếu bạn muốn tìm mọi thứ bằng một phần mở rộng cụ thể.

find / home / pat -iname "*.conf"

  • Thao tác này sẽ trả về tất cả các tệp.conf trong thư mục người dùng của Pat (và các thư mục con).
  • Bạn cũng có thể sử dụng nó để tìm mọi thứ khớp với một phần của tên tệp. Ví dụ: nếu bạn có nhiều tài liệu liên quan đến wikiHow, bạn có thể tìm thấy tất cả bằng cách gõ "* wiki *".
690519 4 1
690519 4 1

Bước 4. Làm cho kết quả tìm kiếm của bạn dễ quản lý hơn

Nếu bạn nhận được nhiều kết quả tìm kiếm, có thể rất khó để sàng lọc chúng. Sử dụng | ký tự và gửi kết quả tìm kiếm đến chương trình lọc "ít hơn". Điều này có thể cho phép bạn cuộn qua và lọc kết quả dễ dàng hơn nhiều.

tìm / home / pat -iname "*.conf" | ít hơn

690519 5 1
690519 5 1

Bước 5. Tìm các loại kết quả cụ thể

Bạn có thể sử dụng công cụ sửa đổi để chỉ trả về các loại kết quả cụ thể. Bạn có thể tìm kiếm các tệp thông thường (f), thư mục (d), liên kết tượng trưng (l), thiết bị ký tự (c) và thiết bị khối (b) bằng cách sử dụng công cụ sửa đổi bên phải.

find / -type f -iname "tên tệp"

690519 6 1
690519 6 1

Bước 6. Lọc kết quả tìm kiếm của bạn theo kích thước

Nếu bạn có nhiều tệp có tên tương tự, nhưng biết kích thước bạn đang tìm kiếm, bạn có thể lọc kết quả của chúng tôi theo kích thước.

find / -size + 50M -iname "tên tệp"

  • Điều này sẽ trả về kết quả có kích thước 50 megabyte hoặc lớn hơn. Bạn có thể sử dụng + hoặc - để tìm kiếm kích thước lớn hơn hoặc nhỏ hơn. Bỏ qua dấu + hoặc - sẽ tìm kiếm các tệp chính xác với kích thước được chỉ định.
  • Bạn có thể lọc theo byte (c), kilobyte (k), megabyte (M), gigabyte (G) hoặc khối 512 byte (b). Lưu ý rằng cờ kích thước phân biệt chữ hoa chữ thường.
690519 7 1
690519 7 1

Bước 7. Sử dụng toán tử boolean để kết hợp các bộ lọc tìm kiếm

Bạn có thể sử dụng toán tử -and, -or và -not để kết hợp các loại tìm kiếm khác nhau thành một.

find / travelphotos -type f -size + 200k -not -iname "* 2015 *"

Lệnh sẽ tìm các tệp trong thư mục "travelphotos" có kích thước lớn hơn 200 kilobyte nhưng không có "2015" ở bất kỳ đâu trong tên tệp

690519 8 1
690519 8 1

Bước 8. Tìm kiếm tệp theo chủ sở hữu hoặc quyền

Nếu bạn đang cố gắng tìm một tệp cụ thể do người dùng sở hữu hoặc các tệp có quyền nhất định, bạn có thể thu hẹp tìm kiếm.

tìm /-người dùng pat -iname "tên tệp" tìm / -nhóm người dùng -iname "tên tệp" tìm / -perm 777 -iname "tên tệp"

Các ví dụ trên sẽ tìm kiếm người dùng, nhóm hoặc quyền được chỉ định cho truy vấn. Bạn cũng có thể bỏ qua truy vấn tên tệp để trả về tất cả các tệp phù hợp với loại đó. Ví dụ: find / -perm 777 sẽ trả về tất cả các tệp có quyền 777 (không hạn chế)

690519 9 1
690519 9 1

Bước 9. Kết hợp các lệnh để thực hiện các hành động khi tìm thấy tệp

Bạn có thể kết hợp lệnh find với các lệnh khác để có thể thực thi chúng trên các tệp được trả về bởi truy vấn. Tách lệnh find và lệnh thứ hai bằng cờ -exec, sau đó kết thúc dòng bằng {};

tìm thấy. -type f -perm 777 -exec chmod 755 {};

Thao tác này sẽ tìm kiếm trong thư mục hiện tại (và tất cả các thư mục con) để tìm các tệp có 777 quyền. Sau đó, nó sẽ sử dụng lệnh chmod để thay đổi quyền thành 755

Phương pháp 3/3: Tìm kiếm văn bản trong tệp

690519 14 1
690519 14 1

Bước 1. Sử dụng

grep lệnh để tìm kiếm chuỗi văn bản trong tệp.

Nếu bạn đang tìm kiếm một tệp có chứa một cụm từ hoặc chuỗi ký tự nhất định, bạn có thể sử dụng lệnh grep. Một lệnh grep cơ bản được định dạng như sau:

grep -r -i "truy vấn tìm kiếm" / đường dẫn / đến / thư mục /

  • -R đặt tìm kiếm thành "đệ quy", vì vậy nó sẽ tìm kiếm thư mục hiện tại và tất cả các thư mục con cho bất kỳ tệp nào có chứa chuỗi truy vấn.
  • -I chỉ ra rằng truy vấn không phân biệt chữ hoa chữ thường. Nếu bạn muốn buộc tìm kiếm chú ý đến chữ hoa, hãy bỏ qua toán tử -i.
690519 15 1
690519 15 1

Bước 2. Cắt bỏ phần văn bản thừa

Khi bạn thực hiện tìm kiếm grep như trên, bạn sẽ thấy tên tệp cùng với văn bản có truy vấn phù hợp được đánh dấu. Bạn có thể ẩn văn bản phù hợp và chỉ hiển thị tên tệp và đường dẫn bằng cách bao gồm các nội dung sau:

grep -r -i "truy vấn tìm kiếm" / đường dẫn / đến / thư mục / | cut -d: -f1

690519 16 1
690519 16 1

Bước 3. Ẩn thông báo lỗi

Lệnh grep sẽ trả về lỗi khi nó cố gắng truy cập các thư mục mà không có quyền chính xác hoặc chạy vào các thư mục trống. Bạn có thể gửi thông báo lỗi tới / dev / null, thông báo này sẽ ẩn chúng khỏi đầu ra.

grep -r -i "truy vấn tìm kiếm" / path / to / directory / 2> / dev / null

Đề xuất: