간혹 가다, 파일 시스템을 확인해야 할 때가 있습니다. 이 때 쓸 수 있는 명령어는 df입니다.

 


 이것은 file system, disk space 관련한 명령어임을 알 수 있습니다. 쭉 내려봅시다.

 

 

 T 옵션은, 파일 시스템을 출력하는 겁니다.

 

 

 그리고 -h옵션을 같이 넣어서 출력해 봅시다. 우리가 읽기 쉽게 출력하는 h 옵션은 필수인 듯 해요. 그러면, FileSystem과 Type 등이 나오는데요. /dev/sda6이 ext4 타입임을 알 수 있습니다. 그리고 이것은 /에 Mount가 되어 있습니다. 거기에 109기가. 이 친구를 쓸 가능성이 있겠군요.

 

 

 /home/cho가 쓰고 있는 Filesystem을 체크해 봅시다. df -T 뒤에 /home/cho만 붙이면 됩니다. 그러면, 이것은 Type이 ext4이고, /dev/sda6을 쓰고 있음을 알 수 있습니다. 이 방법 말고도 다른 방법이 이 글에도 나와 있으니, 참고하셔도 좋을 듯 싶네요. 여기서 끝나면 심심하니 리눅스 폴더들을 둘러볼까요?

 

 이런 명령어 없이, 우리가 직접 디스크에 대한 정보를 출력하는 프로그램을 만들어야 한다고 해 봅시다. 끔찍하지만, 리눅스 시스템 프로그래밍 수업을 들으면 그럴 수도 있다고 생각합니다. 이 옵션을 불렀을 때, 어떤 파일들을 여나 훑어봅시다. strace 마법을 써 봅시다.

 


 

 여러 시스템 콜들이 나오는데요. 다른 건 다 중요하지 않고, open이나 read만 봅시다.

 

 

 그러면, /proc/self/mountinfo를 읽어냄을 볼 수 있습니다. 대체 이건 또 뭔 상황이죠?

 

 

 해당 폴더에 가 보면, mountinfo, mounts, mountstat이 있는데, 이 중에서 info 파일을 열어보겠습니다.

 

 

 29 1 8:6과 같은 이상한 숫자들이 보입니다. 그리고 쭉 읽어보니, ext4가 보이는데요. 이 부분을 잘 파싱하시면 됩니다. 이것이 disk 장치의 파일 시스템입니다. 정확히는 파티션으로 나누어진 것일 겁니다. 왜냐하면 저는 윈도우와 리눅스 멀티 부팅이 되게끔 설정을 해 놓았기 때문입니다. 여기서, 8:6은, 각각 major와 minor를 의미하는데요. 링크를 보시면 문제의 장치가 SCSI 디스크구나 정도만 이해하실 수 있을 겁니다.

 


 더 쉬운 방법이 있습니다. 디스크 프로그램을 열면 됩니다.

 

 

 

 그러면, 파일 시스템은 물론, 디스크 모델까지 나와 있습니다. 교수님이 추가로, 디스크 모델까지 출력하라고 했다면 어떻게 하면 될까요? dev에 들어가 봅시다. dev는 device의 줄임말입니다. 장치 관리자에는 하드 디스크나 ssd도 들어가 있을 것이니, 이 디렉토리 안에 들어가 있을 거라는 생각은 합리적입니다.

 

 

 대충 봤더니, block, bsg, bus 이런 장치들도 있는데, 이게 중요하지 않고, 우리는 disk를 보기로 했으니, disk 안으로 들어가 보겠습니다.

 

 

 그리고 tree 명령어를 입력하면 됩니다. 없다면, apt-get install tree를 입력하심 됩니다. 보면 ata가 나오고 WDC가 나오는데요. WD면 디스크로 유명한 회사입니다. 그리고 ata도 어디선가 들어봤을 이름입니다. 실제로 저걸 그대로 복붙해서 구글링을 해 보면, 초록색 라벨이 붙어져 있는 SSD임을 쉽게 알 수 있습니다.