Chắc chắn trong một số trường hợp, bạn đã xác minh rằng bạn có một loại tệp vô dụng trong một số thư mục, chiếm ít dung lượng nhưng đơn giản là bạn không muốn nó trên máy tính của mình. Ví dụ: trong macOS, một số tệp được tạo .DS_Store lưu thông tin về biểu tượng của một thư mục, kích thước và vị trí của nó và trong Windows có desktop.ini tương đương. Chúng tôi phải làm gì nếu chúng tôi có một thư mục chứa đầy các thư mục con và chúng tôi muốn xóa các tệp này hoặc các loại tệp khác? Những gì chúng ta phải làm là xóa đệ quy Mỗi và tất cả một trong số họ.
Đây là điều chúng tôi có thể làm với tất cả các loại tệp. Ví dụ, nếu chúng ta có một ổ cứng chứa đầy nhạc, chúng ta có một trình phát đã tải các bản cover và chúng ta không muốn lưu chúng, chúng ta có thể sử dụng lệnh tương tự mà chúng tôi sẽ trình bày chi tiết bên dưới để xóa chúng. Tất nhiên, có tính đến việc chúng tôi sẽ xóa đệ quy các tệp thư mục và thư mục con của chúng bằng thiết bị đầu cuối và những tệp này sẽ bị mất vĩnh viễn, không có hại gì khi phải cẩn thận và / hoặc thực hiện kiểm tra trước khi xóa mọi thứ chúng tôi muốn xóa.
Xóa đệ quy các tệp cùng loại khỏi thiết bị đầu cuối
Các lệnh cho tệp macOS .DS_Store ví dụ sẽ như sau:
cd ruta/a/directorio find . -name '*.DS_Store' -type f -delete
Trong số các lệnh trước, lệnh đầu tiên sẽ đặt chúng ta vào thư mục mà chúng ta muốn bắt đầu, tức là lệnh chứa tất cả các tệp .DS_Store mà chúng ta muốn xóa. Cái thứ hai là cái sẽ xóa tất cả các tệp .DS_Store khỏi thư mục đầu tiên và các thư mục con của nó hoặc các thư mục. Nếu những gì chúng tôi muốn là xóa ảnh khỏi các thư mục nhạc đã đề cập trước đó, chúng tôi phải đặt loại phần mở rộng giữa dấu ngoặc kép, chẳng hạn như '* .jpg'.
Thành thật mà nói, đây là điều tôi sẽ làm vào ngày tôi ngừng sử dụng Cantata làm trình phát nhạc mặc định. Cantata tạo và ẩn các tệp thông tin trùng tên với các bài hát có dấu chấm và dấu thấp phía trước (ví dụ: ._Song). Khi tôi cần, lệnh tôi sẽ phải sử dụng sẽ là tìm thấy. -name '._ *' -type f -delete.
Hướng dẫn nhỏ này có giúp bạn xóa đệ quy các tệp khỏi thiết bị đầu cuối không?
Cảm ơn, nhưng có một lỗi trong mã của bạn. Bạn cần sử dụng biểu thức chính quy '*', nghĩa là '* .DS_STORE'. Tôi khuyên bạn nên sửa nó. Đối với những người có ít kiến thức về bash, mã bạn đưa ra sẽ không phù hợp với họ. Lời chào hỏi!