No menu items!
No menu items!
More

    Lệnh find trên Linux

    Lệnh find là một trong những lệnh quan trọng trên Linux, cho phép bạn tìm kiếm và xử lý các file trong hệ thống file của Linux. Lệnh find được sử dụng để tìm kiếm các file theo một số tiêu chí nhất định như tên file, ngày thay đổi, kích thước và nhiều thuộc tính khác.

    Cú pháp của lệnh find như sau:

    find [đường dẫn...] [tham số] [tên file hoặc mẫu]

    Trong đó:

    • Đường dẫn: Đường dẫn đến thư mục bạn muốn tìm kiếm file trong đó. Nếu không được chỉ định, lệnh find sẽ tìm kiếm trong thư mục hiện tại và tất cả các thư mục con của nó.
    • Tham số: Chỉ định các tham số bổ sung cho lệnh find.
    • Tên file hoặc mẫu: Tìm kiếm file với tên cụ thể hoặc mẫu phù hợp với tên file.

    Một số ví dụ về cách sử dụng lệnh find:

    Phần 1. Tìm kiếm cơ bản

    1. Tìm kiếm file theo tên file đầy đủ

    root@terraform:~# find /home/learn-devops/note.sh
    /home/learn-devops/note.sh

    2. Tìm kiếm file theo tên không đầy đủ.

    root@terraform:~# find /home/learn-devops/.gitlab*
    /home/learn-devops/.gitlab-ci-gitlab-ok.yml
    /home/learn-devops/.gitlab-ci-jenkins.yml
    /home/learn-devops/.gitlab-ci-monitor-ok.yml

    3. Tìm kiếm file với phần mở rộng.

    root@terraform:~# find /home/learn-devops/ -name *.sh
    /home/learn-devops/infrastructure/terraform/scripts/sshconfig.sh
    /home/learn-devops/infrastructure/roles/k8s/k8s.sh
    /home/learn-devops/build.sh
    /home/learn-devops/packages/roles/gitlab.sh
    /home/learn-devops/packages/roles/docker.sh
    /home/learn-devops/packages/roles/nginx.sh
    /home/learn-devops/packages/roles/guacamole.sh
    /home/learn-devops/packages/roles/zabbix.sh
    /home/learn-devops/packages/roles/ansible.sh
    /home/learn-devops/packages/roles/jenkins.sh
    /home/learn-devops/packages/roles/terraform.sh

    4. Tìm kiếm file ẩn

    root@terraform:~# find /home/learn-devops/ -type f -name ".*"
    /home/learn-devops/.gitlab-ci-gitlab-ok.yml
    /home/learn-devops/sourceweb/hoanghd.fun/.DS_Store
    /home/learn-devops/sourceweb/demo.hoanghd.fun/assets/scss/bootstrap/js/tests/unit/.eslintrc.json
    /home/learn-devops/sourceweb/demo.hoanghd.fun/.gitignore
    /home/learn-devops/.gitlab-ci-jenkins.yml
    /home/learn-devops/.gitignore
    /home/learn-devops/.gitlab-ci-monitor-ok.yml

    5. Tìm kiếm file có owner là hoanghd

    root@terraform:~# find /home/learn-devops/ -user hoanghd
    /home/learn-devops/
    /home/learn-devops/infrastructure
    /home/learn-devops/infrastructure/terraform
    /home/learn-devops/infrastructure/terraform/variables.tf

    6. Tìm kiếm file có group là hoanghd

    root@terraform:~# find /home/learn-devops/ -group hoanghd
    /home/learn-devops/
    /home/learn-devops/infrastructure
    /home/learn-devops/infrastructure/terraform
    /home/learn-devops/infrastructure/terraform/variables.tf
    /home/learn-devops/infrastructure/terraform/scripts

    7. Tìm kiếm file được phân quyền 777

    find /home/learn-devops/ -type f -perm 777

    8. Tìm file chỉ có quyền read

    find /home/learn-devops/ -perm /u=r

    9. Tìm kiếm file rỗng

    find /home/learn-devops/ -type f -empty

    10. Tìm kiếm file được chỉnh sửa trong vòng 50 ngày

    find /home/learn-devops/ -mtime 50

    11. Tìm kiếm file được chỉnh sửa trong vòng 50 – 100 ngày

    find /home/learn-devops/ -mtime +50 –mtime -100

    12. Tìm kiếm file vừa được tạo ra trong vòng 1 giờ

    find /home/learn-devops/ -cmin -60

    13. Tìm kiếm file có dung lượng 50M

    find /home/learn-devops/ -size 50M

    14. Tìm kiếm file có dung lượng lớn hơn 50M nhỏ hơn 100M

    find /home/learn-devops/ -size +50M -size -100M

    15. Tìm thư mục có tên hoanghd

    find /home/learn-devops/ -type d -name hoanghd

    16. Tìm kiếm trên nhiều thư mục

    find /home/learn-devops/ /usr/local/bin /var -name hoanghd.txt -type f

    Phần 2. Tìm kiếm nâng cao, kết hợp với lệnh khác (rm, exec, cp, grep,..)

    1. Tìm và xoá file có dung lượng trên 100M
    find /home/learn-devops/ -size +100M -exec rm -rf {} \;

    18. Tìm và chmod 644 file có phần mở rộng là .html

    find /home/learn-devops/ -name "*.html" -type f -exec chmod 644 {} \;

    19. Tìm file có phần mở rộng là .mp3 và copy file đó đến thư mục

    find /home/learn-devops/ -type f -name "*.mp3" -exec cp {} /tmp/MusicFiles \;

    20. Tìm file có chứa nội dụng hoanghd

    find /home/learn-devops/ -type f -exec grep -l 'header-account-title' {} \;

    21. Tìm file theo tên hoặc phần mở rộng hoặc kích thước (-o = OR)

    find /home/learn-devops/ \( -name '*.txt' -o -name 'doc*' -o -size +5M \)

    Bài viết gần đây

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Đăng ký nhận thông tin bài viết qua email