내가 사용하는 mount
내가 너무 재미 있지 것들 (즉, 비 물리적)보고 싶지 않아, 탑재 된 드라이브를 표시합니다. 그래서 나는 다음과 같은 스크립트 mnt
를 사용했습니다 .
mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts) '
우분투 8.04에서 저를 보여 ext3
및 reiserfs
마운트 지점 만. 그 줄은 실제로 주석 처리되었으며 이제는 Ubuntu 12.04에 사용합니다.
mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts|debugfs|rpc_pipefs|nfsd|securityfs|fusectl|devtmpfs) '
내 파티션 ext4
과 zfs
파티션 만 표시 합니다 (을 사용하여 삭제했습니다 reiserfs
).
이제 우분투 14.04를 준비 중이며 스크립트를 다시 확장해야합니다 (cgroup, pstore). 스크립트를 확장하지 않고도이 작업을 수행하는 더 좋은 방법이 있습니까? 네트워크 드라이브 ( nfs
, cifs
)를 마운트 및 마운트 한 물리 디스크에만 관심이 있습니다 .
답변
-t
에 대한 옵션 mount
도는 마운트 지점을 표시 할 때 작동 및 파일 시스템 유형 구분 된 목록을 쉼표를 취합니다
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
그것이 더 나은 해결책 인지 확실하지 않습니다 . (예를 들어 btrfs
)를 사용하기 시작 하고 목록에 추가하는 것을 잊어 버리면 목록을 보지 못하거나 놓칠 수 없습니다. 나는 목록이 길어 지더라도 새로운 “무관심한”파일 시스템이 나타날 때 적극적으로 걸러 내고 싶다.
grep
@Graeme이 제안한 것과 비슷한 흥미로운 마운트 포인트 만 적극적으로 시도 할 수 있지만 NFS / CIFS 마운트에 관심이 있으므로 (로 시작하지 않음 /
) 다음을 수행해야합니다.
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
( 발견 된 선에서 --color
이니셜의 채색을 억제하는 데 필요합니다 /
). Graeme이 지적한 것처럼 NFS 공유의 이름 기반 마운트도 허용되어야합니다. 패턴 /
은 “a-zA-Z0-9″의 조합으로 시작하는 라인을 선택합니다 . 그 뒤에 :/
(NFS 마운트의 경우).
답변
사용하지 마십시오 mount
.
보낸 사람 man mount
:
- 리스팅.
- 리스팅 모드는 이전 버전과의 호환성을 위해서만 유지됩니다.
- 보다 강력하고 사용자 정의 가능한 출력을 얻으 려면 특히 스크립트에서
findmnt
(8)을 사용 하십시오. - 마운트 포인트 이름의 제어 문자는 ? 로 대체됩니다 . .
findmnt
설명서에서 제안하는대로을 사용하십시오 . 다음은 몇 가지 흥미로운 옵션입니다 findmnt --help
.
-i
또는--invert
- 어울리는 감각을 뒤집다
-R
또는--submounts
- 일치하는 파일 시스템에 대한 모든 서브 마운트를 인쇄
-t
또는--types
list
- FS 유형으로 파일 시스템 세트 제한
이것들은 명령 줄에 적용 할 수 있는 많은 필터 중 몇 가지 일뿐 입니다.
man findmnt
- 실시 예
findmnt --fstab -t nfs
- 에 정의 된 모든 NFS 파일 시스템을 인쇄합니다
/etc/fstab
. findmnt --fstab /mnt/foo
/etc/fstab
마운트 포인트 디렉토리가있는 모든 파일 시스템을 인쇄합니다/mnt/foo
. 또한 소스가있는--bind
마운트 를 인쇄합니다/mnt/foo
.
다음을 사용할 수 있습니다.
findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs
그것은 모든 의사 파일 시스템을 필터링 해야 한다고 생각합니다.
여전히, 당신은 다음과 같이 할 수 있습니다 mount
:
mount -t nosysfs,nodevtmpfs...
아마도 더 나은 방법은 다음 명령 중 하나를 사용하는 것입니다 findmnt --help
.
findmnt -D
또는findmnt --df
df
(1) 의 출력을 모방합니다 . 이 옵션은-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
모든 의사 파일 시스템 과 동일 하지만 제외합니다.--all
모든 파일 시스템을 인쇄하는 데 사용 합니다.
findmnt -Do
+field,+field
… 을 사용하여 목록 필드를 기본값에 추가 할 수 있습니다 . like -D
를 생략하여 표시 할 파일 시스템 만 사용하여 고유 한 필드 목록을 지정할 수 있습니다 .+
findmnt -Do
field,field
답변
어때요?
mount | grep '^/[^/]'
/
첫 번째 필드가 장치의 경로이므로 물리 디스크와 관련된 마운트 지점은 항상로 시작 합니다. cifs
mounts로 시작 //
하므로 라인 /
을 무시하기 위해 1 초 를 제외하십시오 .
최신 정보
질문을 잘못 읽었으며을 제외 cifs
하고 싶었습니다 nfs
. 대신 이것을 시도하십시오 :
mount | grep -E '^[^ ]*[/:]'
답변
파티에 늦었지만
흥미롭지 않은 것을보고 싶지 않습니다 (즉, 비 물리적)
로하면 물리적 PC에 연결하면 평균 블록 장치로 이동
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 238.5G 0 disk
├─sdb1 8:17 0 100M 0 part /boot
├─sdb2 8:18 0 1G 0 part
├─sdb3 8:19 0 45G 0 part /
└─sdb4 8:20 0 192.4G 0 part
└─ssdhomecr 254:0 0 192.4G 0 crypt /home
sdi 8:128 0 931.5G 0 disk
├─sdi1 8:129 0 801G 0 part
│ └─test 254:2 0 801G 0 crypt /mnt/esata
└─sdi2 8:130 0 130.6G 0 part
--fs/-f
스위치 와 함께 자주 사용합니다 (파일 시스템 정보)
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
├─sdb1 ext2 bootp 7cf4f62a-1111-4e2f-7536-4fc5ad38bd2c /boot
├─sdb2 swap swapp 4aa6d4ae-11e7-4a35-8bf3-ab42313aca62
├─sdb3 ext4 sysp b23338ad-5a4b54i54-a842-8164-a9a9a2a /
└─sdb4 crypto_LUKS 112c40c9-7fdd-4158-895c-5344d24c4a6d
└─ssdhomecr ext4 homecr fc8a92cb-124f-4a0d-b88e-2055c06ffc3g /home
sdi
├─sdi1 crypto_LUKS a7c9fg87-6962-43e3-b8c6-7605b181630e
│ └─test ext2 esata1 124657dc-671a-4b7f-b8a7-b64d5341cabe /mnt/esata
└─sdi2 crypto_LUKS 1c5846bb-ce7e-4cbe-bb0a-b687758ea1dc
lsblk
util-linux의 일부입니다 . 분명히 퓨즈 또는 네트워크 마운트가 표시되지 않습니다 .
답변
-v
스위치를 사용하지 마십시오 .
용도:
mount | grep -Ew 'ext4|ext3'
ext4 및 ext3 만 표시됩니다. 더 많은 파일 시스템을 보려면 정규식에 추가하십시오.
예를 들어, ext3, ext4, cifs 및 nfs 마운트를 보려면 다음을 사용하십시오.
mount | grep -Ew 'ext4|ext3|cifs|nfs'
답변
백업 장치로 블록 장치를 사용하는 파일 시스템 목록은에서 구할 수 있습니다 /proc/filesystems
. 예를 들어 다음과 같이 사용할 수 있습니다.
mount -t "$(grep -v '^nodev' /proc/filesystems | cut -f2 | paste -s -d ,)"
블록 장치와 네트워크 파일 시스템이 지원하는 파일 시스템을 모두 원하므로 목록을 수동으로 유지 관리 할 필요가 없습니다. 그러나 사용하는 네트워크 파일 시스템 목록 만 유지하면됩니다.
/proc/filesystems
스토리지를 백업하기 위해 여러 블록 장치를 사용하는 파일 시스템 (예 : RAID가 파일 시스템에 빌드 된 파일 시스템)을 어떻게 처리 할 것인지 모르겠습니다 . 당신은 그 특별한 대우를해야 할 수도 있습니다.
답변
별칭으로 사용하는 것이 가장 좋습니다.
df -Th | grep -Ev ‘(udev | tmpfs)’ ‘
샘플 출력 :
# df -Th| grep -Ev '(udev|tmpfs)'
Filesystem Type Size Used Avail Use% Mounted on
/dev/md3 ext4 39G 792M 36G 3% /
/dev/md2 ext4 487M 32M 426M 7% /boot
/dev/sda1 vfat 510M 152K 510M 1% /boot/efi
/dev/md5 ext4 7.2T 311M 6.8T 1% /var
그러나 위의 답변 중 일부는 내가 바꿀 수있는 매우 유용합니다.
findmnt –df
lsblk -f