• Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
AnonyViet
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
AnonyViet
No Result
View All Result

Cách dùng lệnh Find Tìm file và thư mục trên Linux

Elyx13 by Elyx13
16/11/2021
in Linux
Reading Time: 6 mins read
A A
0

Mục lục bài viết

  1. Cài đặt lệnh find
  2. Tìm file theo tên
  3. Tìm file theo ký tự đại diện
  4. Tìm file bằng Regular expressions
  5. Tìm file đã được sửa đổi trong tuần trước
  6. Tìm file đã được sửa đổi trong vòng vài ngày
  7. Giới hạn tìm kiếm theo loại tệp
  8. Điều chỉnh phạm vi

Bất kể mình quyết tâm sắp xếp dữ liệu như thế nào, nhưng mỗi lần tìm file thì lại không thấy đâu cả. Đôi khi là do mình không thể nhớ tên file. Nhưng nhớ tên file rồi mà không nhớ nơi lưu thì cũng vậy. Tuy nhiên, trong bài viết này, mình sẽ hướng dẫn các bạn tìm file hoặc thư mục trên Linux bằng lệnh find nhé.

Tìm file và thư mục trên Linux bằng lệnh find

Các bài viết liên quan

Cách sử dụng BusyBox trên Linux 13

Cách sử dụng BusyBox trên Linux

13/05/2022
Sự khác nhau giữa Red Hat Enterprise Linux và Ubuntu 14

Sự khác nhau giữa Red Hat Enterprise Linux và Ubuntu

12/05/2022
Sử dụng Netcat để truyền File trong Windows và Linux 15

Sử dụng Netcat để truyền File trong Windows và Linux

04/05/2022
Cách chia sẻ màn hình trên Linux KDE Plasma 16

Cách chia sẻ màn hình trên Linux KDE Plasma

09/04/2022

Cài đặt lệnh find

Lệnh find được xác định bởi POSIX, nó tạo ra tiêu chuẩn mở mà theo đó các hệ thống POSIX (bao gồm Linux, BSD và macOS) sẽ được tương thích. Nói một cách đơn giản, bạn sẽ cài đặt được lệnh này miễn là bạn đang chạy Linux, BSD hoặc macOS.

Tuy nhiên, không phải tất cả các lệnh find đều hoàn toàn giống nhau. Ví dụ: lệnh find GNU có các tính năng mà lệnh BSD hoặc Busybox hoặc Solaris find có thể không có hoặc có nhưng hoạt động theo cách khác. Bài viết này sử dụng GNU find từ gói findutils vì nó có sẵn và khá phổ biến. Hầu hết các lệnh được trình bày trong bài viết này đều hoạt động với các cách triển khai khác của find, nhưng nếu bạn thử lệnh find trên nền tảng không phải Linux và nhận được kết quả không mong muốn, hãy thử tải xuống và cài đặt phiên bản GNU.

Tìm file theo tên

Bạn có thể tìm file theo tên bằng cách cung cấp tên tệp đầy đủ hoặc các phần của tên tệp bằng cách sử dụng regular expressions. Lệnh find yêu cầu đường dẫn đến thư mục bạn muốn tìm kiếm, ngoài ra còn có các tùy chọn khác như -name cho tên tệp phân biệt chữ hoa chữ thường và sau đó là chuỗi tìm kiếm. Theo mặc định, lệnh find tìm kiếm tên tệp chính xác là chuỗi bạn nhập giữa dấu nháy kép trừ khi bạn sử dụng cú pháp egular expression.

Giả sử thư mục Documents của bạn chứa bốn tệp: Foo, foo, foobar.txt và foo.xml. Đây là cách tìm tệp có tên “foo”:

$ find ~ -name "foo"
/home/tux/Documents/examples/foo

Bạn có thể mở rộng tìm kiếm của mình bằng cách phân biệt chữ hoa chữ thường với tùy chọn -iname:

$ find ~ -iname "foo"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo

Tìm file theo ký tự đại diện

Bạn có thể sử dụng các ký tự đại diện shell cơ bản để mở rộng tìm kiếm của mình. Ví dụ: dấu hoa thị (*) đại diện cho bất kỳ số hoặc ký tự nào:

$ find ~ -iname "foo*"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

Dấu chấm hỏi (?) đại diện cho một ký tự:

$ find ~ -iname "foo*.???"
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

Đây không phải là cú pháp của regular expression, vì vậy dấu chấm (.) đại diện cho một dấu chấm theo nghĩa đen.

Tìm file bằng Regular expressions

Bạn cũng có thể sử dụng regular expression. Như với -iname và -name, là tùy chọn phân biệt chữ hoa chữ thường và không phân biệt chữ hoa chữ thường. Tuy nhiên, không giống như các tùy chọn -name và -iname, tùy chọn -regex và -iregex được áp dụng cho toàn bộ đường dẫn, không chỉ tên tệp. Điều đó có nghĩa là nếu bạn tìm kiếm foo, bạn sẽ không nhận được kết quả nào vì foo không khớp với /home/tux/Documents/foo. Thay vào đó, bạn phải tìm kiếm toàn bộ đường dẫn hoặc sử dụng ký tự đại diện:

$ find ~ -iregex ".*foo"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo

Tìm file đã được sửa đổi trong tuần trước

Để tìm file bạn đã sửa đổi lần cuối vào tuần trước, hãy sử dụng tùy chọn -mtime cùng với số ngày (âm) trong quá khứ:

$ find ~ -mtime -7
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

Tìm file đã được sửa đổi trong vòng vài ngày

Bạn có thể kết hợp các tùy chọn -mtime để tìm tệp trong một phạm vi ngày. Đối với tùy chọn -mtime đầu tiên, hãy cung cấp số ngày gần đây nhất mà bạn có thể đã sửa đổi tệp và đối với tùy chọn thứ hai, cung cấp số ngày lớn nhất. Ví dụ: lệnh dưới tìm kiếm các tệp có số lần sửa đổi nhiều hơn một ngày trong quá khứ, nhưng không quá bảy:

$ find ~ -mtime +1 -mtime -7

Giới hạn tìm kiếm theo loại tệp

Bạn có thể tối ưu hóa kết quả tìm kiếm bằng cách chỉ định loại tệp bạn đang tìm kiếm. Bạn không nên sử dụng tùy chọn này nếu bạn không chắc mình đang tìm gì, nhưng nếu bạn biết mình đang tìm kiếm một tệp chứ không phải một thư mục hoặc một thư mục nhưng không phải một tệp, thì đây có thể là một lựa chọn tuyệt vời. Tùy chọn là -type và các đối số của nó là ký tự đại diện cho một vài loại dữ liệu khác nhau. Phổ biến nhất là:

  • d – thư mục
  • f – file
  • l – liên kết tượng trưng
  • s – socket
  • p – named pipe (used for FIFO)
  • b – khối đặc biệt (thường là ký hiệu ổ cứng)

Dưới đây là một số ví dụ:

$ find ~ -type d -name "Doc*"
/home/tux/Documents
$ find ~ -type f -name "Doc*"
/home/tux/Downloads/10th-Doctor.gif
$ find /dev -type b -name "sda*"
/dev/sda
/dev/sda1

Điều chỉnh phạm vi

Lệnh find là lệnh đệ quy theo mặc định, có nghĩa là nó tìm kiếm kết quả trong các thư mục con. Điều này có thể mất thời gian cho một hệ thống tệp lớn, nhưng bạn có thể sử dụng tùy chọn -maxdepth để kiểm soát mức độ sâu của đệ quy.

$ find /usr -iname "*xml" | wc -l
15588
$ find /usr -maxdepth 2 -iname "*xml" | wc -l
15

Bạn có thể luân phiên đặt độ sâu đệ quy tối thiểu với -mindepth:

$ find /usr -mindepth 8 -iname "*xml" | wc -l
9255

Ngoài ra, bạn cũng có thể xem thêm 10 lệnh Linux nguy hiểm tuyệt đối không nên thử tại đây.

Tags: lệnh linuxlinuxTìm filetìm tệp
Previous Post

Hướng dẫn đổi Hình nền – Background khi học Online

Next Post

5 điều bạn cần làm sau khi cài đặt Android 12

Elyx13

Elyx13

Có người không dám bước vì sợ gãy chân, nhưng sợ gãy chân mà không dám bước đi thì khác nào chân đã gãy.

Related Posts

Cách sử dụng BusyBox trên Linux 17
Linux

Cách sử dụng BusyBox trên Linux

13/05/2022
Sự khác nhau giữa Red Hat Enterprise Linux và Ubuntu 18
Linux

Sự khác nhau giữa Red Hat Enterprise Linux và Ubuntu

12/05/2022
Sử dụng Netcat để truyền File trong Windows và Linux 19
Linux

Sử dụng Netcat để truyền File trong Windows và Linux

04/05/2022
Cách chia sẻ màn hình trên Linux KDE Plasma 20
Linux

Cách chia sẻ màn hình trên Linux KDE Plasma

09/04/2022
Cách đặt Vim làm editor mặc định trên Linux 21
Linux

Cách đặt Vim làm editor mặc định trên Linux

08/04/2022
Cách chạy chương trình Java trong Ubuntu 22
Linux

Cách chạy chương trình Java trong Ubuntu

31/03/2022
Next Post
5 điều bạn cần làm sau khi cài đặt Android 12 23

5 điều bạn cần làm sau khi cài đặt Android 12

guest
guest

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

0 Comments
Inline Feedbacks
View all comments

Liên hệ Quảng Cáo

Lien he AnonyViet

Đối tác —

Fshare

Các bài mới

5 Website giúp bạn tìm chủ tài khoản Email là ai 24

5 Website giúp bạn tìm chủ tài khoản Email là ai

24/05/2022
godeal24

Giá bản quyền Windows 10 chỉ 5.71$, miễn phí nâng cấp lên Windows 11

23/05/2022
Cách thiết lập Shadowsocks với Outline để tạo Proxy cho riêng bạn 25

Cách thiết lập Shadowsocks với Outline để tạo Proxy cho riêng bạn

23/05/2022
coupon dmca

Cách bảo vệ bản quyền Website với DMCA – Coupon nâng cấp Pro giảm 50%

23/05/2022
hosting azdigi

Đánh giá gói Turbo Business Hosting của AZDIGI

22/05/2022

Ads

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Liên hệ

Email: anonyviet.com[@]gmail.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

 

Bản quyền: DMCA.com Protection Status

Bài viết mới

  • 5 Website giúp bạn tìm chủ tài khoản Email là ai
  • Giá bản quyền Windows 10 chỉ 5.71$, miễn phí nâng cấp lên Windows 11
  • Cách thiết lập Shadowsocks với Outline để tạo Proxy cho riêng bạn
  • Cách bảo vệ bản quyền Website với DMCA – Coupon nâng cấp Pro giảm 50%
  • Đánh giá gói Turbo Business Hosting của AZDIGI
  • 5 vụ lừa đảo nguy hiểm nhất trên không gian mạng

©2022 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ. Google iwin888 Bing tải game iwin Github tải iwin apk Github tải win456 Youtube ku fun wikipedia 88vin reddit twin 567LIVE MMLive SP666 92lottery sun86 stackoverflow

No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC

©2022 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ. Google iwin888 Bing tải game iwin Github tải iwin apk Github tải win456 Youtube ku fun wikipedia 88vin reddit twin 567LIVE MMLive SP666 92lottery sun86 stackoverflow

wpDiscuz
pixel