2013-08-05 4 views
1

리눅스에있는 터미널에서 stdout에 데이터를 쓰는 것이 디스크 공간을 차지하는지 알고 싶습니다. 멘 페이지에서 stdouttty에 대한 정보를 찾으려고했지만 질문에 답할 수 없습니다.리눅스에서 stdout에 데이터를 쓰는 것이 디스크 공간을 차지합니까?

팁 주셔서 감사합니다.

openwrt을 설치 한 라우터가 있지만 라우터의 전체 공간은 2MB이고 현재는 12KB 밖에 남지 않았습니다. 그리고 openwrt 시스템에서 터미널에 대한 정보를 출력하기 위해 bash 스크립트를 실행하고 싶습니다. 그래서 표준 출력 데이터를 디스크 공간을 차지할 수 있는지 여부를 알고 싶습니다.

답변

2

출력을 리디렉션하지 않으면 (예 : tee의 파이프 또는 > 쉘 리디렉션 연산자가있는 파일), 출력이 파일 시스템으로 이동하지 않습니다. 콘솔 (또는 터미널 에뮬레이터) 로의 출력은 그대로 느려지므로 파일 시스템을 통과하면 속도가 느려지고 많은 양의 출력이있을 경우 디스크가 회전하지 않게됩니다.

출력이 실제로 기록되기 전에 OS가 프로세스를 스왑 아웃한다고 생각하면 스왑 공간에서 종료 될 수 있습니다.

2

표준 출력 특정 파일 또는 위치 (디스크, 메모리 등) 아니다 - 그것은 개념입니다. 일반적으로 리눅스 응용 프로그램에서 stdout에 대해 이야기 할 때는 객체 (예 : 지원 (쓰기, 플러시 등))와 같은 파일을 의미합니다.

출력을 디스크의 실제 파일로 리디렉션 할 수 있으며, stdout 디스크 공간을 낭비 할 수 있습니다.