Linux에서 findmnt 명령을 사용하는 방법
게시 됨: 2022-06-16
Linux findmnt
명령을 사용하여 파일 시스템 마운트 지점에 대한 모든 것을 검색하십시오. 매우 쉬운 구문을 가진 올인원 도구입니다. 우리는 그것을 사용하는 방법을 보여줍니다.
마운트 포인트
Linux 파일 시스템은 큰 트리입니다. Linux를 설치할 때 선택한 항목에 따라 컴퓨터 내부의 다른 하드 드라이브에 다른 파일 시스템이 있을 수 있습니다. snap
패키지를 사용하는 경우 시스템에도 squashfs
의사 파일 시스템이 있습니다. USB 메모리 스틱과 같은 장치에는 특히 Windows 컴퓨터에서도 사용하는 경우 다양한 파일 시스템이 있습니다.
파일 시스템 유형에 관계없이 모두 mount 라는 프로세스에서 파일 시스템 트리에 접목되어야 합니다. 마운팅은 작업 시스템을 확보하는 데 중요한 단계입니다. 우리는 하드 드라이브와 같은 장치를 마운트하는 것으로 생각하는 경향이 있지만 실제로 마운트되는 것은 해당 장치의 파일 시스템입니다. 그리고 이러한 다양한 파일 시스템에 액세스하지 못하면 컴퓨터가 부팅되지 않거나 응용 프로그램이나 데이터에 액세스할 수 없습니다.
파일 시스템은 마운트 지점에 마운트됩니다. 이들은 단지 빈 디렉토리입니다. 파일 시스템이 마운트되면 해당 디렉토리를 입력하면 해당 파일 시스템으로 이동합니다. 이는 뛰어난 유연성을 제공합니다. 파일 시스템 트리의 루트는 " /
"에 마운트해야 하지만 특정 상황에서 가장 적절한 위치에 다른 파일 시스템을 마운트할 수 있습니다.
이러한 유연성은 모든 다양한 마운트 지점, 특히 자동으로 생성되고 사용자의 개입 없이 생성된 마운트 지점을 추적하기 어려울 수 있음을 의미합니다. Linux는 마운트 지점의 구성 및 상태를 검토할 수 있는 다양한 명령줄 도구를 제공합니다. 그 중에서 findmnt
가 사용하기 가장 쉽고 몇 가지 트릭이 있습니다.
findmnt 명령
findmnt
명령은 우리가 확인한 Ubuntu, Manjaro 및 Fedora 빌드에 이미 설치되어 있습니다. Linux 컴퓨터에 설치되어 있지 않은 경우 배포용 패키지 관리자를 사용하여 쉽게 찾을 수 있습니다.
파일 시스템을 마운트하는 데 사용하는 명령줄 도구를 mount
라고 합니다. 부팅 시 마운트되는 파일 시스템은 "/etc/fstab" 파일에 정의되어 있습니다. mount
명령을 사용하여 "/etc/fstab" 파일에 구성된 모든 마운트 지점의 덤프를 가져올 수 있습니다.
산
출력은 상세하지만 빽빽한 텍스트 벽으로 형식이 지정됩니다.
약간의 노력으로 원하는 방법을 선택하거나 grep
과 같은 유틸리티를 통해 파이프하여 관심 있는 비트를 표시할 수 있습니다. findmnt
의 출력은 훨씬 더 쉽게 액세스할 수 있습니다.
찾기
대조적으로 findmnt
의 기본 출력은 표로 작성되었으며 마운트 지점의 계층 구조를 보여주는 트리가 포함되어 있습니다.
열은 다음과 같습니다.
- 대상 : 파일 시스템에서 마운트 지점의 위치
- 소스 : 파일 시스템을 포함하는 소스 장치입니다. 이것은 루프백 장치와 같은 의사 장치일 수 있습니다.
- Fstype : 파일 시스템 유형입니다.
- 옵션 : 파일 시스템을 마운트하기 위해 명령줄 mount 명령 또는 "/etc/fstab" 파일에서 사용된 옵션입니다.
트리 없이 출력을 보려면 -l
(목록) 옵션을 사용합니다.
findmnt -l
열은 동일하지만 탑재 지점 계층 구조가 들여쓰기된 트리로 표시되지 않습니다.
특정 파일 시스템 유형 선택
-t(유형) 옵션을 사용하면 findmnt
가 요청한 파일 시스템 유형만 포함하도록 보고서를 제한합니다. 예를 들어, ext4
파일 시스템만 보려면 다음을 사용합니다.
findmnt -t 추가
squashfs
파일 시스템만 보려면 다음을 입력합니다.
findmnt -t 호박
명령줄에 지정한 유형 외에 다른 모든 항목이 표시되도록 선택을 반전하려면 -i
(반전) 옵션을 사용합니다.
findmnt -t squashfs -i
squashfs
파일 시스템은 보고되지 않습니다.

-t
(유형) 옵션을 사용하면 쉼표로 구분된 파일 시스템 유형 목록을 사용할 수 있습니다. 파일 시스템 유형 사이에는 공백이 허용되지 않으므로 그 사이에 공백을 두지 마십시오.
findmnt -t squashfs, proc, ext4
데이터 소스 선택
기본적으로 findmnt
는 "/etc/fstab", "/etc/mtab" 및 "/proc/self/mountinfo"에서 정보를 가져옵니다.
- /etc/fstab : 구성된 마운트의 세부 정보를 보관하는 파일입니다. 이들은 부팅 시 작동합니다.
- /etc/mtab : 이 파일에는 현재 마운트된 마운트의 세부 정보가 들어 있습니다.
- /proc/self/mountinfo : 이것은 시스템 마운트의 가장 권위 있는 계정을 커널에 쿼리합니다.
원하는 경우 하나의 특정 소스를 사용하도록 findmnt
에 지시할 수 있습니다. 옵션은 다음과 같습니다.
- —fstab 또는 -s : "/etc/fstab"에서만 찾습니다.
- —mtab 또는 -m : "/etc/mtab"에서만 찾습니다.
- —kernel 또는 -k : "/proc/self/mountinfo"에서만 찾습니다.
vfat
파일 시스템을 찾는 경우 이것이 차이를 만들 수 있음을 알 수 있습니다. 먼저 -s
(fstab) 옵션을 사용합니다. 이것은 "/boot/efi"에 마운트된 하나의 vfat
파일 시스템을 찾습니다.
findmnt -s -t vfat
다시 시도하고 이번에는 -k
(커널) 옵션을 사용합니다.
findmnt -k -t vfat
이것은 4개의 항목에 대해 보고합니다. 하나는 -s
옵션이 찾은 것과 동일한 vfat
파일 시스템입니다. 나머지 3개는 2개의 USB 메모리 스틱이 연결되어 발생한 ad-hoc 마운트입니다. -s
옵션은 "/etc/fstab" 파일에 구성되지 않았기 때문에 찾지 못했습니다.
하나의 USB 메모리 스틱은 장치 sdc
의 첫 번째 파티션인 "/dev/sdc1"으로 연결됩니다. 다른 메모리 스틱에는 두 개의 파티션이 있으며 "/dev/sdb1" 및 "/dev/sdb2"로 마운트되었습니다.
관련: Linux fstab 파일이란 무엇이며 어떻게 작동합니까?
마운트 포인트로 선택
마운트 지점을 알고 있는 경우 이를 findmnt
에 전달하여 설정 및 기타 세부 정보를 찾을 수 있습니다.
findmnt /media/dave/PINK
findmnt /media/dave/WHITEUSB
이 두 USB 메모리 스틱에 vfat
파일 시스템이 있고 "/dev/sdb2" 및 "/dev/sdc1"으로 마운트된 것을 볼 수 있습니다.
findmnt에서 폴링 모드 사용
findmnt
의 가장 멋진 기능은 아마도 폴링 기능일 것입니다. USB 장치에 이미지를 쓰는 것은 주기적으로 할 수 있는 일입니다. 올바른 드라이브를 식별하는 것은 물론 중요합니다. 잘못된 장치를 덮어쓰고 싶지 않습니다. findmnt
를 사용하면 이동식 드라이브가 연결된 장치를 쉽게 확인할 수 있습니다.
두 가지 방법이 있습니다. findmnt
에 밀리초 단위로 표시된 일정 기간 동안 새 마운트를 모니터링하도록 요청할 수 있습니다. 해당 기간 동안 발생한 모든 마운트가 보고됩니다. 이것은 --timeout
옵션을 사용합니다.
두 번째 방법은 findmnt
가 새 마운트를 감지할 때까지 기다리라고 지시합니다. 이것은 --first-only
옵션을 사용합니다. 새 마운트가 발생할 때까지 기다리지만 발생한 첫 번째 마운트에 대해서만 보고합니다. --timeout
옵션은 지정된 폴링 기간 동안 발생하는 모든 새 마운트에 대해 보고합니다.
이 명령은 findmnt
가 30초 동안 새 마운트를 모니터링하도록 지시합니다.
findmnt -p --시간 초과 30000
단일 USB 메모리 스틱이 해당 기간 동안 연결되어 보고되었으며 findmnt
는 나머지 30초 동안 계속 모니터링합니다.
이 명령은 findmnt
가 하나의 새 마운트 지점이 생성될 때까지 새 마운트를 모니터링하도록 지시합니다.
findmnt -p --첫 번째 전용
새 장치가 연결되면 새 마운트 지점에 대해 보고한 다음 명령 프롬프트로 종료됩니다.
파울 업을 피하는 간단한 방법
잘못된 장치를 덮어쓰는 것은 항상 재앙입니다. findmnt
명령을 사용하면 방금 연결한 장치를 쉽게 식별할 수 있으므로 덮어쓰기 프로세스가 훨씬 안전해집니다.
쉽고 안전한 것은 승리를 말하는 또 다른 방법입니다.
관련: Windows에서 여유 공간을 안전하게 덮어쓰는 방법