Command Linux(P.2)

Command top

command dd in linux

1. Khái niệm

Câu lệnh dd trong linux là một trong những câu lệnh thường xuyên được sử dụng. Câu lệnh dd dùng để sử dụng trong các trường hợp sau:

  • Sao lưu và phục hồi toàn bộ dữ liệu ổ cứng hoặc một partition
  • Chuyển đổi định dạng dữ liệu từ ASCII sang EBCDIC hoặc ngược lại
  • Sao lưu lại MBR trong máy (MBR là một file dữ liệu rất quan trong nó chứa các lệnh để LILO hoặc GRUB nạp hệ điều hanh)
  • Chuyển đổi chữ thường sang chữ hoa và ngược lại
  • Tạo một file với kích cơ cô định
  • Tạo một file ISO

2. Cú pháp và các trường tùy chọn

2.1  Cú pháp

#dd if=<địa chỉ đầu vào> of=<địa chỉ đầu ra> option

Trong đó:

  • if= địa chỉ nguồn của dữ liệu nó sẽ bắt đầu đọc
  • of= viết đầu ra của file
  • option : các tùy chọn cho câu lệnh

2.2 Ý nghĩa các tham số:

Tùy chọn Ý nghĩa
bs=Bytes Quá trình đọc (ghi) bao nhiêu byte một lần đọc (ghi)
cbs=Bytes Chuyển đổi bao nhiêu byte một lần
count=Blocks thực hiện bao nhiêu Block trong quá trình thực thi câu lệnh
if Chỉ đường dẫn đọc đầu vào
of Chỉ đường dẫn ghi đầu ra
ibs=bytes Chỉ ra số byte một lần đọc
obs=bytes Chỉ ra số byte một lần ghi
skip=blocks Bỏ qua bao nhiêu block đầu vào
conv=Convs Chỉ ra tác vụ cụ thể của câu lệnh, các tùy chọn được ghi dưới bảng sau đây

Các tùy chọn của conv

Tùy chọn Tác dụng
ascii Chuyển đôi từ mã EBCDIC sáng ASCII
ebcdic Chuyển đổi từ mã ASCII sang EBCDIC
lcase Chuyển đổi từ chữ thường lên hết thành chữ in hoa
ucase Chuyển đổi từ chữ in hoa sang chữ thường
nocreat Không tạo ra file đầu ra
noerror Tiếp tục sao chép dữ liệu khi đầu vào bị lỗi
sync Đồng bộ dữ liệu với ổ đang sao chép sang

Lưu ý:  Mặc định nó được tính theo đơn vị là kb. Bạn có thể thêm một số trường sau để báo định dạng khác:

  • c = 1 byte
  • w = 2 byte
  • b = 512 byte
  • kB = 1000 byte
  • K = 1024 byte
  • MB = 1000000 byte
  • M = (1024 * 1024) byte
  • GB = (1000 * 1000 * 1000) byte
  • G = (1024 * 1024 * 1024) byte

Ví dụ:

  • Sao lưu toàn bộ dữ liệu ổ cứng sao ổ cứng khác:
#dd if=/dev/sda of=/dev/sdb conv=noerror,sync
  • Tạo một file image cho ổ sda1. Cách này sẽ nhanh hơn là viêc chuyển dữ liệu sao ổ khác
#dd if=/dev/sda1 of=/root/sda1.img
  • Sao lưu dữ liệu từ một phân vùng này đến một phân vùng khác
#dd if=/dev/sda2 of=/dev/sdb2 bs=512 conv=noerror,sync

Đối với câu lệnh này bs=512 có ý nghĩa mỗi lần đọc ghi nó đọc và ghi 512 byte

  • Phục hồi dữ liệu
#dd if=/root/sda1.img of=/dev/sda1
  • Sao lưu từ đĩa CDroom

#dd if=/dev/cdrom of=/root/cdrom.img conv=noerror


Tham khảo:

https://en.wikipedia.org/wiki/Dd_(Unix)

https://www.thegeekstuff.com/2010/10/dd-command-examples/

https://linoxide.com/linux-command/linux-dd-command-create-1gb-file/

Để lại bình luận

Đê lại tên và email của bạn bên dưới.

tm-hiu-lnh-dd-trong-linux-mt-trong-nhng-lnh-c-bn-ca-linux