Linux에서 마운트 된 파일 시스템의 완전하고 정확한 목록을 얻는 방법?


150

나는 보통 mount어떤 파일 시스템이 마운트되어 있는지 확인하는데 사용 합니다. 또한 사이에 어떤 연결이 알고 mount하고 /etc/mtab있지만 세부 사항에 대해 확실하지 않다. / proc /가 마운트되어 있는지 확인하는 방법을 읽은 후에 더 혼란스러워집니다.

내 질문은 : 마운트 된 파일 시스템의 가장 정확한 목록을 얻는 방법은 무엇입니까? 난 그냥 사용해야 mount하거나의 내용을 읽을 수 /etc/mtab의, 또는 내용을 /proc/mounts? 가장 신뢰할만한 결과는 무엇입니까?


3
또한이 질문에 대한 답변을 읽어보십시오 : unix.stackexchange.com/questions/12040/…
nozimica

나는에 연결 도울 수 리눅스에서 무엇을 / etc / mtab 파일? 여기에는 답변이 제공되지 않는 Linux 이외의 세부 정보가 포함되어 있기 때문입니다.
Weijun Zhou

답변:


140

마운트 된 파일 시스템의 최종 목록은에 /proc/mounts있습니다.

시스템에 컨테이너 형태가있는 경우 /proc/mounts현재 컨테이너에있는 파일 시스템 만 나열합니다. 예를 들어, chroot 에서 /proc/mounts마운트 지점이 chroot 내에있는 파일 시스템 만 나열합니다. ( chroot를 피할 수있는 방법이 있습니다. )

에 마운트 된 파일 시스템 목록도 있습니다 /etc/mtab. 이 목록은 mountand umount명령으로 유지 관리됩니다 . 즉,이 명령을 사용하지 않으면 (매우 드물지만) 작업 (마운트 또는 마운트 해제)이 기록되지 않습니다. 실제로는 대부분 chroot /etc/mtab에 있으며 시스템 상태와 크게 다른 파일을 찾을 수 있습니다. 또한 chroot에서 수행 된 마운트는 chroot에는 반영 /etc/mtab되지만 main 에는 반영 되지 않습니다 /etc/mtab. /etc/mtab읽기 전용 파일 시스템에있는 동안 수행 된 작업 도 기록되지 않습니다.

때로는 /etc/mtab선호하거나 선호하는 것보다 상담 을 원하는 이유 /proc/mounts는 마운트 명령 행에 액세스 할 수 있기 때문에 이해하기 쉬운 방식으로 정보를 제공 할 수 있기 때문입니다. 예를 들어 요청 된 마운트 옵션 ( 및 커널 기본값도 /proc/mounts나열 됨 mount)이 표시되고 바인드 마운트는 다음과 같이 나타납니다 /etc/mtab.


1
신뢰할 수없는 mount유지 관리 의 요점은 무엇입니까 /etc/mtab? 대신 mount정보를 제시 하면 더 좋지 /proc/mounts않습니까?
Piotr Dobrogost

2
@PiotrDobrogost /etc/mtab는 원래 요청한 옵션과 같이 커널이 추적하지 않는 정보를 기록하고 장치의 중복 항목으로 표시되는 대신 표시되는 바인딩 마운트를 기록 할 수 있습니다. 그럼에도 불구하고 많은 배포판들이에 /etc/mtab대한 링크를 만들기 위해 움직이고있다 /proc/mounts.
Gilles

3
그럼에도 불구하고 많은 배포판들이에 /etc/mtab대한 링크를 만들기 위해 움직이고있다 /proc/mounts. 잘 들었습니다 –이 정보를 답변에 추가하면 더 좋아질 것입니다. 커널이 요청한 옵션을 추적하는 것이 가능하고 유익하다고 생각하십니까?
Piotr Dobrogost

2
/ proc / mounts의 내용을 이스케이프 처리해야합니다. getmntent (3) 페이지에 설명 된대로 공백 (\ 040), 탭 (\ 011), 줄 바꿈 (\ 012) 및 백 슬래시 (\ 134)는 특수하게 처리해야합니다. 특히 사용자 마운트가 활성화 된 경우 이러한 경로로 작업 할 때 매우주의해야합니다.
Eric

2
findmnt2010 년 이후 선호되는 명령을 사용 하고 마운트 네임 스페이스가 일반적 일 때 가까운 미래에 유일하게 안전한 방법 인 명령 사용에 대한 다른 답변도 참조하십시오 .
Marki555

68

v. 2.18부터 (2010 년 7 월) util-linux 현재 마운트 된 파일 시스템 목록을 표시 할 수있는 도구가 포함되어 있습니다.

findmnt

를 사용하여 기본 트리보기에서 목록보기로 전환 -l하고 -o(과 유사한 lsblk) 출력 열을 정의 하고 -t등을 사용 하여 파일 시스템 유형을 기반으로 결과를 필터링 할 수 있습니다 .

findmnt -lo 소스, 대상, fstype, 레이블, 옵션, 사용 -t ext4
SOURCE    TARGET      FSTYPE LABEL OPTIONS                           USED
/dev/sda1 /           ext4   ARCH  rw,noatime,discard,data=ordered  17.6G
/dev/sdb2 /media/DATA ext4   DATA  rw,noatime,discard,data=ordered    44M

자세한 내용은 man페이지를 읽고 findmnt --help사용 가능한 열 목록을 얻으십시오.


33

이 질문에 대한 답을 받은지 5 년이 지났을 수도 있습니다. 는 cat /proc/mounts신경 쓰지 않는 많은 정보를 만듭니다. 오늘날 IMHO는 이것이 궁극적 인 해결책이라고 생각합니다.

df -h --output=source,target

매뉴얼 페이지를 읽으면 모든 종류의 옵션을 사용할 수 있지만 이것이 바로 당신이하는 일입니다. 예를 들어 결과를 더 많이 정리하려면 다음 명령으로 "tmpfs"파일 유형을 제외 할 수 있습니다.

df -hx tmpfs --output=source,target

df 파일 수준이 아닌 파일 시스템 수준에서 작동합니다.

위의 명령에는 네트워크 마운트도 포함됩니다.

좀 더 자세한 정보를 보려면 다음을 사용하십시오.

df -hT

참고 느리게 마운트 된 네트워크 연결의 경우 몇 분이 걸릴 수 있습니다!

마운트 된 네트워크 연결이 없거나 관심이없는 경우 (그리고 루트 권한이있는 경우) 이보다 더 좋습니다.

sudo lsblk -f

루트 일 필요는 없지만 일부 필드 / 열 (예 : 레이블)에는 널 데이터가 있으므로 질문에 마운트 된 파일 시스템을 알고 싶은 경우에도 여전히 괜찮습니다.
Rick

우분투. 그러나 방금 루트를 사용하지 않는 "findmnt"를 발견했으며 네트워크에 마운트 된 파일 시스템을 나열합니다. 그 지식을 포함시키기 위해 답을 편집하려고 생각했습니다.
Rick

:-) 나는 당신의 답변에 투표에 지 쳤지 만 15 세 이상의 담당자가 될 때까지는 안됩니다
Rick

1
Btw, --output해당 옵션을 허용하지 않는 Ubuntu 12와 같은 것을 사용하려는 경우 findmnt아래 에서 don_crissti의 답변을 확인하십시오 .
Mat Schaffer

findmnt레이블을 표시하려면 더 높은 기능이 필요합니다 (루트로 테스트했습니다. 루트에는 모든 기능이 있습니다).
ctrl-alt-delor

23

대부분의 경우 mount가장 편리한 방법입니다. 현재 마운트 된 파일 시스템의 완전하고 정확한 목록을 보려면 /proc/mounts(예를 들어) 의 내용을 읽어야합니다 cat /proc/mounts.

예를 들어, /readwrite 마운트에 실패한 후 폴백으로 읽기 전용으로 마운트 된 경우 /etc/mtab( mount명령에서 마운트 된 내용을 알려주고 마운트 된 내용을 변경할 때 가능하면 기록) 업데이트되지 않습니다. /(포함 /etc/mtab)이 현재 읽기 전용으로 마운트 되어 있음을 반영합니다 . 이 상황에서 running mount은 일반적으로 /readwrite가 마운트 된 것을 잘못 알려줍니다 .

정상적인 조건에서 (즉, 파일 시스템이 들어있는 파일 시스템에 쓸 수있는 경우) /etc/mtab현재 마운트 된 파일 시스템 목록이 포함됩니다. 이것은 /etc/fstab시스템 시작시 자동으로 마운트되어야하는 파일 시스템 목록을 포함 하는와 혼동되지 않습니다 .

물론 /proc가상 파일 시스템 자체가 마운트되지 않은 경우 가상 파일 시스템을 포함하는 가상 파일을 읽을 수 없습니다 /proc/mounts. 이것은 매우 드물다. 이 상황에서는 mount마운트 된 것을 확인하기위한 최상의 옵션 일 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.