У меня есть файловая система tmpfs, установленная в определенном каталоге. Я хочу написать оболочку script, чтобы проверить, установлена ли файловая система tmpfs в каталоге.
Shell script знать, установлена ли файловая система
Ответ 1
Вы можете проверить тип файловой системы.
$ stat -f -c '%T' / xfs $ stat -f -c '%T' /dev/shm tmpfs
Вы также можете проверить, является ли каталог точкой монтирования, сравнивая ее устройство с родительским.
$ stat -c '%D' / 901 $ stat -c '%D' /home fe01 $ stat -c '%D' /home/$USER fe01
Ответ 2
Для этого используется инструмент: mountpoint (1)
if mountpoint -q "$directory" ; then
echo it is a mounted mountpoint
else
echo it is not a mounted mountpoint
fi
И вам даже не нужно царапать струны, чтобы сделать это!
Обратите внимание: я нахожу этот инструмент в пакете initscripts Debian. Насколько это доступно в других местах, я не могу комментировать.
Ответ 3
Что-то вроде этого, в то время как хакерское, должно сделать трюк:
FS_TO_CHECK="/dev" # For example... change this to suit your needs.
if cat /proc/mounts | grep -F " $FS_TO_CHECK " > /dev/null; then
# Filesystem is mounted
else
# Filesystem is not mounted
fi
Ответ 4
Я знаю, что этот поток старый, но почему бы просто не использовать df и grep для нужного пути к точке монтирования? то есть следующим образом:
df /full/path | grep -q /full/path
grep возвращает true, если установлен, false, если нет. Поэтому нам просто нужно проверить это следующим образом:
df /mnt/myUSBdisk | grep -q /mnt/myUSBdisk && echo "Mounted" || echo "Not mounted"
Легкий peasy...
Ответ 5
Вы можете использовать df
, попробуйте man df
.
df 'directory' | awk '{print $1, $6}'
даст вам следующее:
Filesystem Mounted
/dev/sda5 'some_dir'
Затем вы можете добавить проверку, если каталог "some_dir" совпадает с "your_dir", а файловая система такая же, как ваша.
Ответ 6
Проверить/proc/mounts. Если вы указали имя файловой системы и путь, который хотите установить (возможно, даже определенную строку со всеми включенными опциями), вы можете определить, установлена ли файловая система.
if [ "`grep "tmpfs /lib/init/rw tmpfs rw,nosuid,mode=755 0 0" /proc/mounts`" != "" ]
then
echo Mounted.
else
echo Not mounted.
fi
Ответ 7
if mount -l -t tmpfs | grep "on $directory "
then
echo "it mounted"
fi
Ответ 8
mountpoint намного более изящна и находится в sysvinit-tools CentOS 6 +++