script programacion manejo example español ejemplos comandos comando cadenas shell filesystems mount

programacion - shell linux ejemplos



Shell script para saber si un sistema de archivos ya está montado (8)

Algo como esto, aunque sea hacker, debería hacer el truco:

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

Tengo un sistema de archivos tmpfs montado en un directorio en particular. Quiero escribir un script de shell para comprobar si el sistema de archivos tmpfs ya está montado en el directorio.


Compruebe / proc / monta. Si grep el nombre del sistema de archivos y la ruta que desea que se monte (tal vez incluso una línea específica con todas las opciones incluidas) puede saber si el sistema de archivos está montado.

if [ "`grep "tmpfs /lib/init/rw tmpfs rw,nosuid,mode=755 0 0" /proc/mounts`" != "" ] then echo Mounted. else echo Not mounted. fi


Hay una herramienta específicamente para esto: punto de montaje (1)

if mountpoint -q "$directory" ; then echo it is a mounted mountpoint else echo it is not a mounted mountpoint fi

¡Y ni siquiera tienes que raspar las cuerdas para hacerlo!

Tenga en cuenta que encuentro esta herramienta en el paquete de initscripts de Debian. La disponibilidad en otros lugares no es algo que pueda comentar.


Podrías usar df , prueba man df .

df ''directory'' | awk ''{print $1, $6}''

te daré algo como

Filesystem Mounted /dev/sda5 ''some_dir''

luego puede agregar un cheque si el directorio ''some_dir'' es el mismo que ''your_dir'', y el sistema de archivos es el mismo que el suyo.


Puede comprobar el tipo de sistema de archivos.

$ stat -f -c ''%T'' / xfs $ stat -f -c ''%T'' /dev/shm tmpfs

También puede verificar si un directorio es un punto de montaje comparando su dispositivo con el de su padre.

$ stat -c ''%D'' / 901 $ stat -c ''%D'' /home fe01 $ stat -c ''%D'' /home/$USER fe01


Sé que este hilo es antiguo, pero ¿por qué no usar simplemente df y grep para la ruta requerida al punto de montaje? es decir, así:

df /full/path | grep -q /full/path

grep devuelve true si está montado, false si no. Así que solo tenemos que probarlo así:

df /mnt/myUSBdisk | grep -q /mnt/myUSBdisk && echo "Mounted" || echo "Not mounted"

Pan comido...


mountpoint es mucho más elegante y se encuentra en sysvinit-tools CentOS 6 +++


if mount -l -t tmpfs | grep "on $directory " then echo "it''s mounted" fi