Lệnh truncate trong Linux: Cách để xóa hoặc cắt bớt nội dung tệp
Dọn dẹp hệ thống các tập tin, dữ liệu vô dụng và dọn dẹp đĩa lưu trữ của hệ điều hành là một trong những công việc hàng ngày của chúng ta. Có thể bạn đã xảy ra trường hợp không cần dữ liệu tệp, và mặt khác việc tạo một tệp mới với các quyền và quyền sở hữu chính xác là một công việc tốn thời gian. Bạn sẽ làm gì trong tình huống này? Xóa file và thư mục chứa nhiều dữ liệu và tạo file mới? Không, đây không phải là ý tưởng hay khi bạn có thời gian hạn chế. Ngoài ra, trong một số trường hợp, việc xóa file còn gây ra lỗi và sự cố trong hoạt động của chương trình. Giải pháp cho vấn đề này là sử dụng lệnh truncate để tăng tốc tác vụ cho người dùng Linux. Lệnh truncate mở rộng hoặc giảm kích thước tệp trong Linux để người dùng có thể xóa hoặc cắt bớt nội dung của tệp mà không cần phải đặt quyền sở hữu. Theo dõi bài viết này để biết cách xóa hoặc cắt bớt nội dung tệp bằng lệnh truncate trong Linux.
Cài đặt công cụ dòng lệnh truncate trong Linux
Công cụ truncate có sẵn theo mặc định trong hầu hết các bản phân phối Linux. Để đảm bảo rằng bản phân phối Linux bạn đang sử dụng hỗ trợ truncate , hãy kiểm tra phiên bản cắt ngắn bằng cách chạy lệnh sau:
truncate --version
Nếu đầu ra không cung cấp thông tin về phiên bản của công cụ truncate, có thể kết luận rằng hệ điều hành của bạn không hỗ trợ công cụ này trong Linux. Vì vậy hãy cài đặt gói Coreutils để tận dụng tính năng này:
sudo apt-get install coreutils
Lệnh truncate để cắt ngắn tệp trong Linux
Linux phổ biến và nó không chỗ cho những lo lắng của người dùng khi đã có sự hỗ trợ của các công cụ đa dạng. Những tính năng này khuyến khích người dùng mua VPS Linux vì người dùng có thể quản lý máy chủ của họ một cách tối ưu bằng nhiều lệnh Linux khác nhau. Dưới đây là hướng dẫn cắt ngắn tệp bằng lệnh truncate trong Linux.
Công cụ dòng lệnh truncate được sử dụng để thay đổi kích thước của tệp, cho phép người dùng giảm hoặc mở rộng nội dung của tệp đến một kích thước được chỉ định, hoặc xóa hoàn toàn nội dung của tệp bằng cách giữ quyền đối với tệp. Bạn phải có quyền write để cắt bớt tập tin. Cú pháp chung để cắt bớt tệp bằng lệnh truncate như sau:
truncate -s 0 filename
Giải thích:
- -s 0: Chỉ định kích thước mới cho file. Trong trường hợp này, tùy chọn -0 đặt kích thước tệp thành 0 để xóa tất cả nội dung.
- Filename: Tên file bạn muốn cắt bớt.
Hãy cẩn thận khi sử dụng lệnh truncate vì không có giải pháp nào có thể khôi phục thông tin đã xóa nếu bạn xóa nội dung của tệp. Do đó, trước khi sử dụng lệnh truncate bạn nên tạo bản sao lưu dữ liệu của mình. Đồng thời việc cắt bớt tệp là không thể đảo ngược trừ khi bạn có bản sao lưu nội dung gốc của tệp.
Để kiểm tra kích thước và đặt quyền của tệp, hãy sử dụng lệnh sau:
ls –lh filename
Lệnh truncate trong linux hỗ trợ nhiều tùy chọn khác nhau để thay đổi kích thước tệp mà chúng tôi sẽ hướng dẫn như sau:
Xóa tất cả nội dung của tệp bằng lệnh truncate trong Linux
Bằng cách đặt kích thước tệp mong muốn thành (0), tất cả nội dung của tệp sẽ bị xóa:
truncate -s 0 filename
Chạy lệnh sau để xóa dung lượng ổ đĩa chứa nội dung của tệp nhật ký:
Sudo truncate -s 0 /var/log/**/*.log
Thu nhỏ kích thước tệp bằng lệnh truncate
Để giảm kích thước tệp xuống kích thước mong muốn, hãy sử dụng tùy chọn “–” cùng với lệnh truncate. Kết quả là nội dung bổ sung của tập tin sẽ bị xóa. Ví dụ: nếu bạn muốn giảm kích thước tệp xuống 200K byte, hãy sử dụng lệnh sau:
truncate -s -200K example.txt
Lệnh truncate làm giảm kích thước của tệp và không hỗ trợ cắt bớt dựa trên các ký tự hoặc mẫu cụ thể.
Mở rộng kích thước tệp bằng lệnh truncate trong Linux
Đôi khi, bạn phải tạo một tệp lớn để lưu trữ và duy trì các báo cáo và dữ liệu hàng loạt. Ngoài việc tạo các tệp lớn, bạn có thể tăng kích thước của tệp hiện có. Việc sử dụng tùy chọn “+” cùng với lệnh truncate sẽ khiến lệnh truncate mở rộng kích thước tệp bạn muốn đến một kích thước được chỉ định. Ví dụ: nếu bạn muốn mở rộng kích thước tệp từ 200K byte lên 400K byte, bạn nên chạy lệnh sau:
truncate -s +200k example.txt
Chỉ định kích thước tệp bằng lệnh truncate trong Linux Ubuntu
Lệnh truncate trong Linux Ubuntu cho phép người dùng điều chỉnh kích thước tệp theo ý muốn và quản lý nội dung của tệp theo cách này. Nếu bạn muốn thay đổi kích thước tệp thành một kích thước cụ thể, chẳng hạn từ 100 đến 200 byte, hãy xem xét ví dụ sau:
truncate -s 200 example.txt
Sử dụng :> hoặc > chuyển hướng shell để cắt bớt tập tin
Hầu hết người dùng Linux thích sử dụng > hoặc :> để chuyển hướng Shell để xóa nội dung tệp. Bởi vì một trong những cách dễ nhất để làm trống nội dung tệp là trong các shell hiện đại như Bash và Zsh. Cú pháp chính để xóa nội dung tệp thông qua chuyển hướng như sau:
: > filename
hoặc:
> filename
Giải trình:
- (:): nó đã thay thế lệnh “true” và có chức năng tương tự như lệnh “true”.
- (>:): nó chuyển hướng đầu ra tới tệp đã chỉ định.
- Filename: Tên file bạn muốn cắt bớt.
Do đó, thay vì lệnh trước, bạn có thể sử dụng lệnh sau để cắt bớt tệp trong linux:
true > filename
Lưu ý: Lệnh true không hiển thị đầu ra.
Kết hợp cat và /dev/null để xóa nội dung tệp
Để xóa nội dung của tệp, bạn có thể chạy lệnh cat kết hợp với /dev/null, như sau:
cat /dev/null > filename
Lệnh echo để xóa nội dung của tệp
Lệnh echo là một trong những lệnh hữu ích để xóa nội dung của file trong Linux, cụ thể như sau:
echo > filename
hoặc:
echo "" > filename
Tùy chọn “-n” được sử dụng cùng với lệnh echo để cắt bớt tệp và ngăn việc thêm dòng mới:
echo -n > filename
Tại sao không thể áp dụng chuyển hướng shell cho tệp cắt bớt có đặc quyền sudo?
Như chúng tôi đã đề cập, bạn phải có quyền ghi (write) để cắt bớt tệp. Đó là lý do tại sao nhiều người dùng thực thi lệnh bằng sudo nhưng đôi khi họ gặp phải lỗi “Permission denied”. Để giải quyết vấn đề này, bạn có thể chạy shell mới bằng đặc quyền sudo và chạy các lệnh bên trong shell thông qua tùy chọn” -c”:
sudo sh -c '> filename'
=>> Cách giải quyết lỗi Permission Denied trong Linux
Trong bài viết này, VPS Chính hãng đã chia sẻ các lệnh khác nhau để cắt bớt tệp và xóa nội dung của tệp với lệnh truncate trong Linux. Bây giờ, bạn đã có thể cắt bớt tệp mong muốn của mình theo bất kỳ cách nào bạn muốn. Hãy chia sẻ ở dưới phần bình luận nếu bạn biết những cách khác để xóa nội dung tệp mà không cần phải xóa tệp và các quyền đã đặt của tệp. Cảm ơn đã theo dõi bài viết!