캐릭터 장치 파일 내용 보기 [중복]

캐릭터 장치 파일 내용 보기 [중복]

/dev/sdacat마치 16진수 편집기를 사용하는 것처럼 블록 장치 파일의 내용을 볼 수 있는 이유는 무엇입니까 ? 왜 이런 캐릭터 장치로는 같은 일을 할 수 없나요 /dev/pts/3?

답변1

Unix의 장치는 파일과 비슷하지만 동일하지는 않습니다. 일부 장치의 경우 장치 소프트웨어 구현자가 읽고 쓰는 것이 더 적합한 반면, 다른 장치의 경우 둘 중 하나만 구현하는 것이 더 합리적입니다.

캐릭터 장치라고 해서 읽을 수 없는 것은 아니지만 /dev/pts/3, 읽을 수 있는 다른 장치도 있습니다. 해당 pts장치의 경우 다시 읽는다는 것은 문자를 screenwidth*screenheight길이의 선형 배열로 화면에서 다시 가져오는 것을 의미할 수 있지만 그다지 유용하거나 효율적이지는 않다는 것을 알 수 있습니다.

나이가 좀 많지만,Linux 장치 드라이버, 3장주제에 대한 흥미로운 읽기입니다.

답변2

이는 (반드시 그런 것은 아님) 문자 장치와 블록 장치의 차이점입니다. 예를 들어, 확실히 사용할 /dev/urandom수 있는 캐릭터 장치입니다 .cat

귀하의 경우에는 /dev/sda이미 존재하는 스토리지를 참조하므로 이를 읽으면 기존 스토리지를 읽습니다. 그러나 /dev/pts/3이는 의사 터미널이며 다음 입력 문자가 준비될 때까지 데이터 읽기가 차단(대기)됩니다.

또 다른 차이점은 다음과 같습니다.찾다영구 저장소에 대한 액세스를 제공하는 장치의 특정 위치로 이동하지만 터미널에서는 찾을 수 없습니다.

답변3

이것/dev/pts/3목적과 이를 통해 무엇을 할 수 있는지 설명합니다. /dev/sda읽고 쓸 수 있는 HDD/SSD를 가리킵니다. 에서 데이터를 편집할 때 /dev/sda반드시 파티션이 아닌 드라이브에 직접 쓰게 됩니다. 이렇게 하면 파티션이 손상될 수 있으므로 일반적으로 데이터 저장용으로 사용하지 않습니다. 그러나 디스크에 직접 쓰는 것이 편리한 경우도 있습니다(예: dd디스크를 안전하게 지우려는 경우). Unix에서는 모든 것이 파일이지만 모든 파일을 읽거나 쓸 수는 없습니다.

관련 정보