Với thiết bị đầu cuối: Ví dụ với lệnh Tìm

Dưới đây là một số ví dụ mà chúng ta có thể tận dụng khi sử dụng Tìm kiếm, một lệnh để tìm kiếm tệp hoặc thư mục.

Để nhận được sự trợ giúp của lệnh chạy:

man find

để thoát khỏi thủ công, chỉ cần bấm phím [NS] (có giá trị cho bất kỳ hướng dẫn sử dụng).

Trong các ví dụ sau, dấu chấm (.) Sau khi tìm thấy (find.) Có nghĩa là chúng ta đang tìm kiếm trong thư mục được chỉ ra bởi dấu nhắc. Nó có thể được thay thế cho bất kỳ đường dẫn hợp lệ nào như / home /.

Ejemplos:

Chỉ cần tìm kiếm các tệp có mẫu.
find . -type f -name "*.deb"

tìm và sao chép vào / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Tìm tệp Thumbs.db và xóa chúng.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Tạo một tệp văn bản thuần túy với các tệp md5 trong thư mục.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Xóa các thư mục .svn khó chịu.
find | grep "\.svn$" | xargs rm -fr

Thay thế một văn bản bằng một văn bản khác.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Tìm tệp được cập nhật đến một ngày trước.
find /var/log/[a-z]* \*.sql -mtime +1

Để tạo tệp md5sums của gói DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   đúng dijo

    xóa tất cả các tệp khác ngoài .txt (rõ ràng .txt có thể là bất kỳ thứ gì)
    tìm thấy. ! -name "* .txt" -exec rm {} \;

    tìm kiếm không có kết quả phù hợp phân biệt chữ hoa chữ thường:
    tìm thấy. -iname «* foobar *»

    Lưu ý: không thể chạy lệnh -exec với tham số -iname.

  2.   taregon dijo

    Tuyệt vời 😉 lệnh này nên bắt buộc phải biết, trước khi tôi sợ hãi bởi các tùy chọn tồn tại trong 'con người' để có thể thực hiện tìm kiếm, nhưng cho nó cơ hội, tôi có thể thấy nó mạnh mẽ như thế nào khi tìm kiếm những gì tôi đã quên trên ổ cứng của tôi 😐

  3.   Hugo dijo

    Find chắc chắn hữu ích, đặc biệt là để xử lý các tên tệp bao gồm dấu cách và các ký tự bất thường khác. Ví dụ, tôi nhớ một lần rằng không có cách nào để nén một tập hợp các thư mục, cho đến khi tôi sử dụng find với xargs (nhanh hơn nhiều so với -exec) và vấn đề đã được giải quyết.

    Một trong những cách sử dụng ưa thích khác của tôi đối với lệnh find là thay đổi quyền một cách đệ quy:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   điện tử222 dijo

    Thật thú vị ^ _ ^

    1.    KZKG ^ Gaara dijo

      Biểu tượng Chakra trông tuyệt làm sao hahahahahaha 😀

      1.    bao84 dijo

        Mageia mất tích 🙂

        1.    KZKG ^ Gaara dijo

          Đúng vậy 😀
          Ngay bây giờ tôi đang dựa trên điều này hehehehe. Cảm ơn 🙂

          1.    khu bảo tồn dijo

            Và một cho bản phân phối của tôi ...

  5.   Archero dijo

    Cảm ơn, các lệnh rất hữu ích, tôi nghi ngờ rằng tôi nhớ rằng trong Ubuntu tôi đã từng sử dụng lệnh định vị, nó có phải là một số bí danh của tìm hay ...

    1.    Hugo dijo

      Phủ định xác định vị trí, định vị y định vị là các lệnh tìm kiếm khác không giống như tìm, họ sử dụng cơ sở dữ liệu cần được cập nhật định kỳ bằng lệnh cập nhậtb.

      Cả hai loại lệnh đều có công dụng của chúng. Ví dụ tôi thường sử dụng cập nhậtb tiếp theo là định vịxác định vị trí khi tôi thực sự muốn tìm một thứ gì đó nhanh chóng trong thư mục có nhiều dữ liệu mà tôi biết không được cập nhật quá thường xuyên (ví dụ: một gói trong kho lưu trữ) và tìm khi tôi muốn làm điều gì đó phức tạp hơn như kết hợp các kết quả tìm kiếm với một lệnh khác hoặc khi tôi không muốn tạo cơ sở dữ liệu vì tôi biết rằng thư mục mà tôi sẽ tìm kiếm không chứa quá nhiều thông tin.

      1.    Archero dijo

        Cảm ơn Hugo rất nhiều, lời giải thích tuyệt vời, tôi chỉ có thể nói rằng thiết bị đầu cuối mạnh mẽ như thế nào trong gnu / linux!

  6.   sandra dijo

    Chào bạn, mình thấy đây là một chủ đề cũ, nhưng hy vọng bạn vẫn có thể giúp đỡ mình.

    Tôi đang học cách sử dụng regexp kể từ khi tôi xem một tài liệu và tôi đang tìm kiếm các từ lỗi hoặc lỗi và lỗi dẫn xuất của chúng hoặc lỗi hoặc lỗi, v.v. và regexp của tôi là:
    : / \ (. * \ (error | fail \). * \) /
    Khi thực thi nó, nó cho tôi biết rằng không có kết quả phù hợp nào 🙁 nhưng
    :/\(.*\(lỗi\).*\)/
    o
    : / \ (. * \ (Thất bại \). * \) /
    Nếu bạn thấy trùng khớp, bạn có thể cho tôi biết tôi sai như thế nào không?

    1.    KZKG ^ Gaara dijo

      Dòng đầy đủ mà bạn đang đặt là gì?

      Để kiểm tra và xem nếu tôi tìm thấy giải pháp.

      Mặt khác, nếu bạn muốn, bạn có thể kiểm tra ở đây: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   esthefani dijo

    Vui lòng giúp tôi, tôi muốn sao chép các tệp có đuôi * _ZFIR0069.TXT sang một đường dẫn khác và thêm ngày vào cuối, tôi đang thực hiện một lệnh:

    date = $ (ngày + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Nhưng kết quả là:

    {} _20160225% -> nhưng nó chỉ sao chép tất cả một tệp và nó được đổi tên theo cách đó

    Những gì tôi muốn là nó sao chép tất cả các tệp và có định dạng này * _ZFIR0069_ $ date .TXT

    Chúc mừng.

  8.   pepG dijo

    Sự khác biệt giữa find * -type d và find / home / pepe -type d là gì? Tôi muốn liệt kê các thư mục trong tài khoản của mình và tôi không hiểu tại sao cái đầu tiên làm đúng và cái thứ hai thì không. giúp đỡ

  9.   kaike dijo

    Làm cách nào tôi có thể tìm thấy các tệp kết thúc bằng số? Cảm ơn