Nếu có thể, tôi sẽ sử dụng truncate
lệnh như trong câu trả lời của John1024. Tuy nhiên, đây không phải là một lệnh unix tiêu chuẩn, vì vậy một ngày nào đó bạn có thể thấy mình không thể sử dụng nó. Trong trường hợp đó, dd
có thể thực hiện cắt ngắn tại chỗ quá.
dd
Hành vi mặc định của nó là cắt bớt tệp đầu ra tại điểm kết thúc sao chép, vì vậy bạn chỉ cần cung cấp cho nó tệp đầu vào có độ dài 0 và yêu cầu nó bắt đầu ghi tại điểm cắt ngắn mong muốn:
dd if=/dev/null of=filename bs=1048576 seek=1024
(Điều này không giống với bản sao và cắt bớt dd
trong câu trả lời của multithr3at3d.)
Lưu ý rằng tôi đã sử dụng 1048576 và 1024 vì 1048576 * 1024 là kích thước mong muốn. Tôi tránh bs = 1m bởi vì đây là một "di động" câu trả lời, và cổ điển dd
chỉ biết hậu tố k
, b
và w
.