/dev/zero

là một tập tin thiết bị trong các hệ điều hành tương tự Unix cung các ký tự rỗng (ASCII NUL, 0x00) khi cố gắng đọc dữ liệu từ nó. Một trong những cách sử dụng điển hình là sử dụng nó để truyền một luồng ký tự khởi tạo bộ lưu trữ dữ liệu.

Chức năng
Các thao tác đọc từ  trả về các ký tự rỗng (0x00) theo yêu cầu trong thao tác đọc.

Không như ,  có thể được sử dụng như một nguồn chứ không chỉ là một nơi chứa dữ liệu. Tất cả các hoạt động ghi vào  đều thành công mà không có tác động nào khác. Tuy nhiên  thường được sử dụng nhiều hơn cho mục đích này.

Khi  được ánh xạ vào bộ nhớ, ví dụ: với mmap tới không gian địa chỉ ảo thì nó cũng giống như việc sử dụng bộ nhớ ẩn danh, tức là bộ nhớ không được liên kết với bất kỳ tập tin nào khác.

Lịch sử
 được giới thiệu vào năm 1988 bởi SunOS-4.0 để cho phép phân đoạn BSS có thể ánh xạ các thư viện dùng chung sử dụng bộ nhớ ẩn danh. HP-UX 8.x đã giới thiệu cờ MAP_ANONYMOUS cho mmap(), cờ này ánh xạ trực tiếp bộ nhớ ẩn danh mà không cần mở . Kể từ cuối những năm 1990 MAP_ANONYMOUS hoặc MAP_ANON được hầu hết các phiên bản UNIX hỗ trợ thay thế cho mục đích ban đầu của .

Ví dụ
Tiện ích dd Unix đọc các luồng octet (bát phân) từ nguồn đến đích và có thể thực hiện chuyển đổi dữ liệu trong quá trình này. Hủy dữ liệu hiện có trên phân vùng hệ thống tập tin (định dạng cấp thấp):
dd if=/dev/zero of=/dev/<phân vùng đích>

Tạo 1 tập tin 1 MiB, gọi nó là foobar và đổ đầy các ký tự rỗng vào nó:
dd if=/dev/zero of=foobar count=1024 bs=1024

Lưu ý: Giá trị kích thước khối có thể được cung cấp bằng giá trị SI (hệ thập phân), ví dụ: tính bằng GB, MB,... Để tạo tập tin 1 GB người ta chỉ cần nhập:
dd if=/dev/zero of=foobar count=1 bs=1GB

Ghi chú: Thay vì tạo một tập tin với kích thước 0 byte thì nhiều hệ thống tập tin cũng hỗ trợ tạo các tập tin thưa trả về số toàn số 0 khi đọc nhưng tốn ít không gian thực hơn.

Xem thêm
 Triết lý Unix
 Luồng tiêu chuẩn

Tham khảo

Công nghệ hệ thống tập tin Unix
Tập tin thiết bị