550MB 파일을 / dev / null로 읽고 있는데
dd: writing '/dev/null': No space left on device
놀랐습니다. / dev / null은 원하는만큼 보낼 수있는 블랙홀이라고 생각했습니다 (가상 fs 때문에).
예,이 오류가 발생하면 디스크가 거의 가득 찼습니다. 디스크에서 내용을 삭제하는 것 외에 무엇을 할 수 있습니까?
ls -l /dev/null
-rw-r--r-- 1 root root 0 July 7 21:58 /dev/null
대신에
crw-rw-rw- 1 root root 1, 3 July 7 02:58 /dev/null
내가 사용하는 명령 :
time sh -c "dd if=$filename of=/dev/null"
답변
/dev/null
문자 장치 유형의 특수 파일입니다. 해당 문자 장치의 드라이버는 장치에 쓰려고하는 모든 것을 무시하고 쓰기는 항상 성공합니다. 쓰기에 /dev/null
실패하면 제대로 제거하고 /dev/null
일반 파일로 대체 했음을 의미 합니다. 실수로 제거했을 수 있습니다 /dev/null
. 다음은 … >/dev/null
일반 파일로 다시 만들었을 것입니다.
실행 ls -l /dev/null
하고 선이 다음과 같은지 확인하십시오
crw-rw-rw- 1 root root 1, 3 Sep 13 2011 /dev/null
그것은로 시작해야합니다 crw-rw-rw-
: c
문자 장치를 위해, 모두가 읽기 및 쓰기 할 수 있도록 권한을 설정합니다. 중요하지는 않지만 파일은 루트가 소유해야합니다. 소유자와 그룹 다음에 나오는 두 숫자는 장치를 식별합니다 ( 주 및 부 장치 번호 ). 위의 리눅스에서 가치를 보여줍니다; 다른 유닉스 변종은 다른 값을 가지고 있습니다. 날짜는 일반적으로 시스템이 설치된 날짜이거나 마지막 재부팅 날짜이며 중요하지 않습니다.
파일을 다시 작성해야하는 경우 일부 시스템 MAKEDEV
은 루트의 PATH 또는에 쉼표를 제공합니다 /dev
. cd /dev; ./MAKEDEV std
이와 같은 표준 기본 장치를 다시 만들려면 다음과 같이 실행하십시오 /dev/null
. 또는 올바른 장치 번호를 제공하여 장치를 수동으로 작성하십시오. 리눅스에서는
mknod -m 666 /dev/null c 1 3