3 cách tìm tệp trên Linux

Mục lục:

3 cách tìm tệp trên Linux
3 cách tìm tệp trên Linux

Video: 3 cách tìm tệp trên Linux

Video: 3 cách tìm tệp trên Linux
Video: Hướng Dẫn Cách Nhận Biết iPhone Bị Theo Dõi Các Bạn PHẢI BIẾT | Bệnh Viện Điện Thoại 24h 2024, Tháng mười một
Anonim

Việc tìm kiếm các tệp trên 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 trên Linux là sử dụng một vài lệnh đầu cuối. Thành thạo một số lệnh này có thể cho phép bạn kiểm soát hoàn toàn các tệp và chúng hữu ích hơn các chức năng tìm kiếm đơn giản của các hệ điều hành khác.

Bươc chân

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

690519 1
690519 1

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

Loại tìm kiếm này là cơ bản nhất và bạn có thể thực hiện việc này bằng lệnh find. Lệnh dưới đây sẽ thực hiện tìm kiếm dựa trên từ được nhập trong thư mục bạn đang ở cũng như các thư mục con bên trong nó.

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

Nếu bạn sử dụng -iname thay vì -name, sự khác biệt giữa từ khóa viết hoa và viết thường sẽ không có tác dụng. Lệnh -name coi chữ hoa và chữ thường là các ký tự khác nhau

690519 2
690519 2

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

Nếu bạn muốn thực hiện tìm kiếm trên toàn hệ thống, bạn có thể thêm / modifier vào từ khóa. Công cụ sửa đổi cho lệnh find để tìm kiếm kỹ lưỡng, 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ế / modifier bằng đường dẫn thư mục, ví dụ / home / pat.
  • Bạn có thể dùng. khác với / để các tìm kiếm chỉ được thực hiện trong thư mục bạn đang ở và cả các thư mục con bên trong nó.
690519 3
690519 3

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

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

Ký tự đại diện * có thể được sử dụng để tìm các tệp có tên đầy đủ mà bạn không biết hoặc nếu bạn muốn tìm tất cả các tệp có phần mở rộng cụ thể.

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

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

Bước 4. Quản lý kết quả tìm kiếm dễ dàng hơn

Nếu kết quả tìm kiếm quá nhiều, bạn sẽ khó tìm được tập tin ưng ý. Sử dụng ký tự | và gửi kết quả tìm kiếm trở lại chương trình lọc "ít hơn". Bằng cách đó, bạn có thể cuộn qua và lọc kết quả tìm kiếm dễ dàng hơn.

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

690519 5
690519 5

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

Bạn có thể sử dụng công cụ sửa đổi để chỉ trả lại một số loại kết quả nhất định. 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ác bổ ngữ thích hợp.

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

690519 6
690519 6

Bước 6. Lọc kết quả tìm kiếm 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 của tệp bạn muốn, bạn có thể lọc tìm kiếm theo kích thước.

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

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

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 tìm kiếm khác nhau.

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

Lệnh trên sẽ tìm kiếm các tệp trong thư mục "travelphotos" có kích thước trên 200 kilobyte, nhưng không có từ "2015" trong tên của chúng

690519 8
690519 8

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

Nếu bạn đang cố gắng tìm một tệp cụ thể thuộc về một người dùng cụ thể hoặc đang tìm kiếm một tệp có cá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ẽ thực hiện tìm kiếm người dùng, nhóm hoặc quyền cụ thể trong một từ khóa. Bạn cũng có thể bỏ qua 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 có hạn chế)

690519 9
690519 9

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

Bạn có thể kết hợp lệnh find với các lệnh khác để có thể xử lý các tệp được trả về theo từ khóa với lệnh đó. Tách lệnh tìm 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 {};

Lệnh trên sẽ tìm kiếm thư mục bạn đang ở (và tất cả các thư mục con trong đó) để tìm các tệp có quyền 777. Sau đó, lệnh chmod sẽ thay đổi quyền thành 755

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

690519 10
690519 10

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

định vị chức năng. Lệnh định vị thường nhanh hơn lệnh tìm kiếm, do việc sử dụng cơ sở dữ liệu của hệ thống tệp của bạn. Không phải tất cả các loại Linux đều được trang bị chức năng định vị, vì vậy hãy nhập lệnh sau để cài đặt nó:

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

Bước 2. Cập nhật

định vị cơ sở dữ liệu Bạn. Lệnh định vị sẽ không thể tìm thấy bất kỳ thứ gì cho đến khi nó được tạo và cập nhật. Quá trình này thường được thực hiện 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 cần làm điều này nếu bạn muốn sử dụng chức năng định vị càng sớm càng tốt.

Nhập sudo updatedb, sau đó nhấn Enter

690519 12
690519 12

Bước 3. Sử dụng

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

Chức năng định vị hoạt động nhanh chóng, nhưng không có nhiều tùy chọn như lệnh tì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 trên sẽ tìm kiếm các tệp có đuôi-j.webp" />
  • Giống như lệnh find, bổ ngữ -i cũng làm cho các chữ cái viết hoa và viết thường trong các từ khóa được coi là giống nhau.
690519 13
690519 13

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

Nếu tìm kiếm của bạn trả về quá nhiều kết quả khiến bạn khó sử dụng chúng, bạn có thể giảm các kết quả đó bằng công cụ sửa đổi -n, theo sau là số lượng kết quả bạn muốn trả về.

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

  • Chỉ 20 kết quả tìm kiếm sẽ được hiển thị.
  • Bạn cũng có thể sử dụng | để gửi kết quả tìm kiếm đến chương trình ít bộ lọc hơn để cuộn kết quả dễ dàng hơn.

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

690519 14
690519 14

Bước 1. Sử dụng lệnh

grep để tì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ự cụ thể, bạn có thể sử dụng lệnh grep. Lệnh grep cơ bản có định dạng sau:

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

  • Sửa đổi -r làm cho tìm kiếm "đệ quy", vì vậy tìm kiếm sẽ được thực hiện trong thư mục và tất cả các thư mục con bên trong nó để tìm các tệp chứa văn bản với từ khóa tìm kiếm.
  • Bổ ngữ -i chỉ ra rằng từ khóa tìm kiếm không phân biệt chữ hoa và chữ thường. Nếu bạn muốn buộc tìm kiếm để phân biệt giữa chữ hoa và chữ thường, hãy bỏ qua bổ ngữ -i.
690519 15
690519 15

Bước 2. Loại bỏ phần văn bản thừa

Khi thực hiện tìm kiếm grep như trên, bạn sẽ thấy tên tệp với các chữ cái 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 và đường dẫn thư mục tệp bằng cách thêm:

grep -r -i "từ khóa tìm kiếm" / path / to / directory / | cut -d: -f1

690519 16
690519 16

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

Lệnh grep sẽ trả về lỗi khi cố gắng truy cập một thư mục mà không có quyền thích hợp hoặc khi nhập một thư mục trống. Bạn có thể gửi thông báo lỗi tới / dev / null để chúng không xuất hiện.

grep -r -i "từ khóa tìm kiếm" / path / to / directory / 2> / dev / null

Đề xuất: