Vì nhiều nguyên nhân khác nhau, chúng ta có thể cần phải tạo 1 tập tin với dữ liệu ngẫu nhiên. Đó có thể là cho việc tạo ra 1 tập tin kiểm tra để thực hiện việc kiểm tra, như kiểm tra tính hiệu quả của ứng dụng mà sử dụng 1 tập tin lớn như dữ liệu nhập vào, hay kiểm tra việc chia các tập tin thành nhiều phần, hoặc là để tạo ra các hệ thống tập tin loopback ( các tập tin loopback là các tập tin mà tự nó có thể chứa  1 hệ thống tập tin và những tập tin này có thể được tương tự như 1 thiết bị vật lý sử dụng lệnh ).

Cách dễ nhất để tạo ra 1 tập tin có kích thước lớn với 1 kích thước cho trước là sử dụng lệnh dd. Lệnh dd nhân bản dữ liệu đầu vào và ghi 1 bản sao chính xác đến kết quả. Dữ liệu nhập vào có thể là stdin, 1 tập tin thiết bị, 1 tập tin bình thường … Kết quả trả về có thể là stdout, 1 tập tin thiết bị, 1 tập tin bình thường … Ví dụ:

$ dd if=/dev/zero of=junk.data bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00767266 s, 137 MB/s

Lệnh trên sẽ tạo ra 1 tập tin có tên là junk.data, có kích thước là 1 MB với:

  • if – input file
  • of – output file
  • bs – số byte cho 1 khối
  • count – số khối của bs được chỉ rõ để sao chép

Trong ví dụ trên, chúng ta chỉ tạo ra 1 tập tin 1 MB, bằng việc chỉ rõ bs là 1 MB và count là 1. Nếu bs được thiết lập thành 2M và count là 2, kích thước tổng cộng của tập tin là 4 MB.

Chúng ta có thể sử dụng những đơn vị khác nhau cho kích thước khối (bs) như sau:

  • Byte (1 B) – c
  • Word (2 B) – w
  • Block (512 B) – b
  • Kilobyte (1024 B) – k
  • Megabyte (1024 KB) – M
  • Gigabyte (1024 MB) – G

/dev/zero là 1 thiết bị đặc biệt, trả về byte 0 (\0) 1 cách vô hạn.

Nếu tham số input (if) không được chỉ rõ, mặc định thì lệnh dd sẽ đọc dữ liệu từ stdin. Tương tự, nếu tham số output (of) không được chỉ rõ, lệnh dd sẽ sử dụng stdout cho dữ liệu trả về.

Lệnh dd cũng có thể được dùng để đo tốc độ của các tác vụ bộ nhớ bằng việc truyền tải 1 số lượng lớn dữ liệu và kiểm tra kết quả của lệnh ( ví dụ, 1048576 bytes (1.0 MB) copied, 0.00767266 s, 137 MB/s như chúng ta thấy ở ví dụ trước).

Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh dd để tạo tập tin có kích thước bất kỳ trong .

Chúc các bạn thành công!

Print Friendly

Comments

comments

Bài viết liên quan