Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng lệnh dd trong Linux

Cách sử dụng lệnh dd trong Linux

dd là một trong những lệnh quan trọng nhất trong Linux, chủ yếu được sử dụng để sao lưu đĩa cứng và phân vùng. Khi được sử dụng đúng cách, dd có thể là một công cụ mạnh mẽ để ghi dữ liệu từ phân vùng này sang phân vùng khác và thực hiện các tác vụ khác nhau với tệp. Sau đây chúng tôi hướng dẫn bạn cách sử dụng lệnh dd để sử dụng tốt.

Câu chuyện của dd

Lệnh này ban đầu được phát triển tại Phòng thí nghiệm AT&T Bell vào những năm 1970 bởi một nhà khoa học máy tính tên là Ken Thompson. Nó được phát triển cho các hệ thống dựa trên Unix và được đặt một cái tên được chọn làm tham chiếu đến một tuyên bố trong Ngôn ngữ Kiểm soát Công việc của IBM, được gọi là “DD”. Có thể lưu ý rằng cú pháp của lệnh gần giống với một câu lệnh trong Ngôn ngữ điều khiển công việc.

Lệnh này ban đầu được thiết kế để trở thành một tiện ích để chuyển đổi ASCII sang EBCDIC và ngược lại. Nó được tích hợp lần đầu với phiên bản Unix vào năm 1974, với việc phát hành Phiên bản thứ 5 của hệ điều hành.

dd đã được gọi là "công cụ phá hủy đĩa" như một trò đùa trong cộng đồng Unix do khả năng phá hủy dữ liệu trên đĩa cứng khi được sử dụng không đúng cách.

Toán hạng cơ bản

Bây giờ bạn đã biết một chút về nền tảng của lệnh và khả năng phá hủy của nó khi được sử dụng không đúng cách, đã đến lúc học cách tận dụng mọi thứ mà nó cung cấp cho người dùng các bản phân phối Linux khác nhau.

Trước hết, hãy xem hướng dẫn sử dụng --help cờ:

dd --help
Cách sử dụng lệnh dd trong Linux

Có hai toán hạng cho lệnh được sử dụng phổ biến nhất. Chúng là ifof , viết tắt của “tệp đầu vào” và “tệp đầu ra” tương ứng. if toán hạng được sử dụng để đại diện cho vị trí nguồn, trong khi of toán hạng được sử dụng để đại diện cho vị trí mà bạn định lưu dữ liệu từ vị trí đầu vào.

dd if=<input file> of=<output file>

Các vị trí nguồn và đầu ra phổ biến nhất bao gồm đĩa cứng, phân vùng và hình ảnh đĩa.

Trước khi sử dụng lệnh, có thể hữu ích khi sử dụng fdisk tiện ích để xem các phân vùng trên hệ thống của bạn. Điều này có thể dễ dàng được thực hiện bằng cách sử dụng -l của lệnh cờ:

sudo fdisk -l
Cách sử dụng lệnh dd trong Linux

Trong trường hợp này, if được sử dụng để đại diện cho ổ đĩa “/ dev / sda” và of đại diện cho ổ đĩa “/ dev / sdb”, nơi dữ liệu từ “/ dev / sda” sẽ được lưu vào:

dd if=/dev/sda of=/dev/sdb
Cách sử dụng lệnh dd trong Linux

Tạo hình ảnh trên đĩa

Một trong những trường hợp sử dụng tốt nhất cho lệnh là tạo ảnh đĩa ở định dạng tệp “.img”. Điều này cực kỳ hữu ích để sao lưu dữ liệu trên hệ thống dựa trên Linux của bạn và có thể là cách nhanh nhất và dễ nhất để sao lưu toàn bộ đĩa cứng.

Logic ở đây chủ yếu giống nhau trong trường hợp này, với if toán hạng đại diện cho ổ đĩa “/ dev / sda” và of toán hạng đại diện cho tệp “.img”, nơi dữ liệu từ đĩa cứng sẽ được lưu vào:

dd if=/dev/sda of=example.img
Cách sử dụng lệnh dd trong Linux

Lưu hình ảnh đĩa vào phân vùng

Tạo ảnh đĩa bằng lệnh khá đơn giản, nhưng phiên bản đảo ngược của quá trình đó cũng vậy.

Trong trường hợp này, tệp hình ảnh đĩa của chúng ta đang đóng vai trò là tệp đầu vào và phân vùng mới của chúng ta đang đóng vai trò là tệp đầu ra. Tiện ích đang lưu dữ liệu từ hình ảnh đĩa của chúng tôi vào phân vùng “/ dev / sdb” của chúng tôi:

dd if=example.img of=/dev/sdb
Cách sử dụng lệnh dd trong Linux

Tạo hình ảnh đĩa nén

Nếu bạn tạo ảnh đĩa của đĩa cứng có kích thước đầy đủ, bạn có thể tưởng tượng rằng kích thước tệp của ảnh đĩa cuối cùng có thể sẽ khá lớn. Vì lý do này, tiện ích dd có tính năng tạo ảnh đĩa nén.

Hình ảnh đĩa nén có thể được tạo bằng cách sử dụng đường dẫn | yêu cầu. Trong trường hợp này, nó được sử dụng để lấy nội dung của tệp đầu vào và thực hiện gzip lệnh bằng -c gắn cờ, với nội dung được đóng gói thành tệp “.gz”:

dd if=/dev/sda | gzip -c > image.gz
Cách sử dụng lệnh dd trong Linux

Chỉ định Kích thước Khối

Bạn cũng có thể thử với tốc độ hoạt động của lệnh dd. Điều này có thể được thực hiện bằng cách sử dụng bs toán hạng, được sử dụng để biểu thị kích thước khối. Kích thước khối biểu thị số byte dd sao chép vào tệp đầu ra trong một phiên bản duy nhất. Nó được biểu diễn bằng bội số của 1024 byte và giá trị mặc định được đặt thành 512 byte. Kích thước khối càng cao thì dữ liệu được lưu vào tệp đầu ra càng nhanh.

Trong trường hợp này, chúng tôi đang đặt kích thước khối thành 2048:

dd if=/dev/sda of=example.img bs=2048

Kích thước khối cũng có thể được chỉ định bằng kilobyte:

dd if=/dev/sda of=example.img bs=2048K
Cách sử dụng lệnh dd trong Linux

Xóa đĩa cứng

dd cũng có thể được sử dụng để xóa đĩa cứng của bạn. Điều này được thực hiện bằng cách đọc các số 0 hoặc các ký tự ngẫu nhiên từ “/ dev / zero” hoặc “/ dev / urandom” và lưu chúng vào đĩa cứng / phân vùng để ghi đè dữ liệu trên đó. Điều này cực kỳ hữu ích khi bạn muốn đảm bảo rằng dữ liệu của bạn không thể dễ dàng được truy xuất sau khi bạn đã bán hoặc xử lý đĩa cứng của mình.

Ghi đè đĩa cứng bằng các số 0:

dd if=/dev/zero of=/dev/sdb
Cách sử dụng lệnh dd trong Linux

Quá trình ghi đè cũng có thể được thực hiện bằng cách sử dụng các ký tự ngẫu nhiên:

dd if=/dev/urandom of=/dev/sdb
Cách sử dụng lệnh dd trong Linux

Tạo ổ USB có thể khởi động

Việc tạo ổ đĩa flash USB có thể khởi động bằng tệp “.iso” bằng lệnh rất đơn giản:

dd if=os.iso of=<USB drive location>
Cách sử dụng lệnh dd trong Linux

Kết thúc

Có thể nói rằng lệnh dd có thể được coi là một “con dao của Quân đội Thụy Sĩ” do tính hữu dụng của nó trong nhiều lĩnh vực và bất cứ thứ gì liên quan đến ổ đĩa cứng, phân vùng và tệp ảnh đĩa. Miễn là bạn không phá hủy đĩa cứng của mình, đây là một công cụ hiệu quả và dễ sử dụng cho bất kỳ việc gì khác nhau, từ xóa đĩa cứng hoặc ổ USB đến tạo bản sao lưu nén.