장치 파일의 실제 크기를 감지하고 얻는 방법은 무엇입니까?

장치 파일의 실제 크기를 감지하고 얻는 방법은 무엇입니까?

특수/장치 파일의 경우 C fsize함수는 4096을 반환하지만 장치 파일의 실제 크기(유한한 경우)를 알 수 있는 통합 함수가 있습니까?
파일이 일반 파일인지 장치 파일인지 알 수 있는 방법이 있는지도 알고 싶습니다.

감사해요!

답변1

귀하의 질문은 여전히 ​​상당히 불특정하고 광범위하며, 불특정 질문의 경우 도움이 될 수도 있고 그렇지 않을 수도 있는 불특정 답변을 얻게 됩니다. 여전히 올바른 방향을 가리키려고 노력하고 있습니다.

파일이 일반 파일인지 장치 파일인지 알 수 있는 방법이 있는지도 알고 싶습니다.

틀림없이. 가장 일반적인 출력은 다음과 같습니다 ls -l.

$ ls -l /dev
total 0
crw-rw----+ 1 root   audio      14,   4 Jan  5 00:44 audio
crw-------  1 root   root       10, 235 Jan  5 00:44 autofs
drwxr-xr-x  2 root   root           480 Jan 17 01:20 block
drwxr-xr-x  2 root   root           140 Jan 17 01:20 bsg
drwxr-xr-x  3 root   root            60 Jan  5 00:44 bus
lrwxrwxrwx  1 root   root             3 Jan 17 22:14 cdrom -> sr0
[...]

각 입력 줄의 첫 번째 문자는 파일 형식을 표시합니다. 유효한 형식 목록은 다음에서 찾을 수 있습니다.ls수동.

의 항목에 대해 문의할 때 /dev목차와 링크 외에 가장 일반적인 유형은 다음과 같습니다.캐릭터 장치그리고블록 장치.

장치 파일의 실제 크기를 알 수 있는 통합 기능이 있나요?

이미 지적했듯이 "실제 크기"는 장치 "에서" 사용할 수 있는 크기를 의미하며, 그 안에 있는 특수 파일은 /dev해당 파일에 액세스할 수 있는 시스템을 나타내는 것일 뿐입니다.

"치수를 구하는 방법"에 대한 대답은 "내용에 따라 다릅니다"입니다. 예를 들어 디스크 파티션(블록 장치)의 경우 일반적으로 마운트하고 다음 명령을 사용하여 크기(총 공간, 점유 공간, 여유 공간)를 얻을 수 있습니다.df. 반면, 모든 블록 장치를 장착할 수 있는 것은 아닙니다.

당신이 달성하고자 하는 것이 정확히 무엇인지 알지 못해도 이것이 지금까지 얻을 수 있는 전부입니다. 이제 생각하고 웹을 검색하는 것은 귀하에게 달려 있습니다(모든 것이 거기에 있습니다). 스스로 알아낼 수 없다면 새로운 질문을 만들 수 있습니다.

관련 정보