Hướng dẫn xóa tất cả file trong thư mục linux ngoại trừ các file được chỉ định

Chào mọi người, lâu lắm rồi hôm nay mới viết blog, chủ nhật rảnh rỗi không có việc gì làm ngồi viết vài dòng blog cho vui :D.

Hôm nay mình muốn hướng dẫn các  bạn cách xóa tất file trong một thư mục nhưng loại trừ ra các file các bạn chỉ định.

Bài viết này mình tham khảo nguồn từ: https://www.ostechnix.com/remove-files-folder-except-one-specific-file-linux/
Nếu các bạn muốn đọc tiếng Anh thì vào luôn trang này xem, có rất nhiều bài viết hay, còn nếu ngại đọc tiếng Anh thì có thể đọc bài viết của mình. (Mình đã xin phép admin trang này rồi nên các bạn yên tâm ^^).

Bài này thì không phải mình dịch lại giống hệt mà mình sẽ hướng dẫn và giải thích theo các hiểu của mình.

Rồi, chúng ta bắt đầu nhé.

Thông thường khi bạn muốn xóa các tất cả file trong một thư mục trên linux thì chỉ cần: rm -r  <đường dẫn thư mục>, hoặc trên giao diện(Chẳng hạn của Nautilus) bạn Ctrl + A xong giữ Ctrl và click chuột trái vào các file muốn giữ lại rồi delete, với thư mục chứa ít file thì ok nhưng nếu nhiều file liệu có ổn không?

Bây giờ ta cùng xem ví dụ dưới đây:
Giả sử ta có thư mục test có 10 file như sau:







Giờ nếu bạn muốn xóa tất cả ngoại trừ file có tên file10.txt thì bạn gõ lệnh như sau trên terminal:
- Đầu tiên: cd test/ để di chuyển vào thư mục test
- Sau đó: rm -f !(file10.txt) hoặc  rm !(file10.txt) để xóa tất cả các file trong thư mục test và để lại file10.txt
Ngoài ra các bạn cũng có thể sử dụng lệnh find để làm việc như trên: find . ! -name file10.txt -delete lệnh này sẽ tìm và xóa tất cả các file ngoại trừ file10.txt 

Thông thường trong một thư mục chúng ta không chỉ chứa mỗi một định dạng file như thế mà chúng ta chứa nhiều file với nhiều định dạng khác nhau, ta cùng nhau xem ví dụ dưới đây:

Giả sử bây giờ thư mục test có các file như sau:
Bây giờ bạn chỉ muốn giữ lại các file có phần mở rộng là *.doc thì bạn sử dụng lệnh như sau: rm !(*.doc), lúc này thư mục test sẽ chỉ còn lại các file có phần mở rộng là *.doc mà thôi, tương tự các bạn làm với các file có phần mở rộng khác.

Giờ bạn lại muốn giữ lại các file có phần mở rộng là *.doc và *.mp3 thì việc này cũng rất đơn giản, bạn chỉ việc chạy lệnh y hệt như trên nhưng phần mở rộng ta sẽ thêm vào và phân cách nhau bởi dấu "|" (Tạm gọi là dấu gạch đứng): rm !(*.doc | *.mp3).

Rất đơn giản và nhanh gọn đúng không các bạn, hy vọng bài viết giúp ích cho các bạn, cám ơn các bạn đã đọc bài viết này.
Xin chào và hẹn gặp lại trong các bài viết sau.

SHARE

Xuho

  • Image
  • Image
  • Image
  • Image
  • Image

0 comments:

Post a Comment