Tim*_*Tim 14 filesystems partition mount
我们如何检查 中列出的分区的挂载点/dev/sd*
?例如,我想知道我家的分区是否是/dev/sda4
.
tal*_*zin 21
另一种方法是使用findmnt:
findmnt /dev/sda4
Run Code Online (Sandbox Code Playgroud)
...从开发人员获取挂载点。或相反亦然:
findmnt /home
Run Code Online (Sandbox Code Playgroud)
pet*_*try 13
您可以使用:
mount
获取所有已挂载文件系统的列表以及每个文件系统的挂载选项;lsblk
对于块设备树,大小和安装点(如果已安装);df
有关已安装块设备、大小、已用空间、可用空间和安装点的列表。你实际上是在问两个问题。如果您想知道您的家在哪里,最简单的方法是:
cd
df -h .
Run Code Online (Sandbox Code Playgroud)
或者
df -h $HOME
Run Code Online (Sandbox Code Playgroud)
/tmp 安装在哪里?
df -h /tmp
Run Code Online (Sandbox Code Playgroud)
...等等。
如果您想知道某个设备上安装了什么,
mount | grep ^/dev/sda1
Run Code Online (Sandbox Code Playgroud)
(例如)。或者
mount | grep ^/dev/sd
Run Code Online (Sandbox Code Playgroud)
查看所有的sd。
取决于你追求的是什么。如果您想检查哪个分区/dev/sd*
具有默认挂载点以及该挂载点是什么,您可以这样做
for part in /dev/sd*; do grep -w "$part" /etc/fstab | awk '{print $1,$2}; done
Run Code Online (Sandbox Code Playgroud)
但是,在大多数现代系统上,分区是按 UUID 而不是开发名称挂载的,因此更好的方法1是:
for uuid in /dev/disk/by-uuid/*; do
mpoint=$(grep "$(basename $uuid)" /etc/fstab | awk '{print $2}')
[ -n "$mpoint" ] && echo "$(basename $(readlink $uuid)) : $mpoint";
done
Run Code Online (Sandbox Code Playgroud)
例如,在我的系统上,它返回:
sda3 : swap
sda1 : /
sda2 : /home
sdc1 : /mnt/bigboy
sdb3 : /mnt/movies
sdb1 : /winblows
Run Code Online (Sandbox Code Playgroud)
您还可以扩展它以报告那些没有默认挂载点的分区:
for uuid in /dev/disk/by-uuid/*; do
dev=$(basename $(readlink $uuid))
mpoint=$(grep "$dev" /etc/fstab | awk '{print $2}')
if [ -n "$mpoint" ]; then
echo "$dev : $mpoint";
else
echo "$dev : No mountpoint"
fi
done
Run Code Online (Sandbox Code Playgroud)
例如,如果要查找给定目录的分区~/
,可以使用df
:
$ df /home/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 442047744 266441120 153128800 64% /home
Run Code Online (Sandbox Code Playgroud)
或者,仅获取设备名称(注意--output
标志不是 POSIX):
$ df --output=source /home/ | tail -n1
/dev/sda2
Run Code Online (Sandbox Code Playgroud)
要获取当前挂载的分区及其挂载点的列表:
mount | awk '/^\/dev/{print $1,$3}'
Run Code Online (Sandbox Code Playgroud)
最后,一个非常有用的命令是lsblk
:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
??sda1 8:1 0 29.3G 0 part /
??sda2 8:2 0 428.4G 0 part /home
??sda3 8:3 0 8G 0 part [SWAP]
sdb 8:16 0 1.4T 0 disk
??sdb1 8:17 0 9.8G 0 part /winblows
??sdb2 8:18 0 1K 0 part
??sdb3 8:19 0 1.2T 0 part /mnt/movies
??sdb5 8:21 0 46.6G 0 part
??sdb6 8:22 0 14G 0 part
??sdb7 8:23 0 117.4G 0 part
??sdb8 8:24 0 2.3G 0 part
sdc 8:32 0 1.8T 0 disk
??sdc1 8:33 0 1.8T 0 part /mnt/bigboy
Run Code Online (Sandbox Code Playgroud)
1更好的方法是findmnt
但在阅读@taliezin 的回答之前我从未听说过。