2014-12-21 3 views
0

Для моей конфигурации оболочки я хочу знать, находится ли я в медленном каталоге (например, sshfs или cifs mount).Как я могу обнаружить медленные файловые системы в Linux?

Это позволяет мне пропустить некоторые действия, например, искать изменения в репозиториях через Z12's vcs_info.

ответ

1

я придумал следующую функцию, которая сначала пытается df -T и смотрит вверх тип файла через mount, если df -T не доступен (например, на BusyBox систем):

_is_slow_file_system() { 
    df_T=$(df -T . 2>/dev/null) || true 
    if [[ $df_T == '' ]]; then 
    # 'df -T' might not be available (busybox, diskstation). 
    # 'stat -f' does not detect cifs (type UNKNOWN). 
    # fs_type=$(stat -f . | grep -o 'Type:.*' | cut -f2 -d\) 
    mount_point="$(df . | awk 'END {print $NF}')" 
    fs_type=$(mount | awk '$3 == "'$mount_point'" { print $5 }') 
    else 
    fs_type=$(echo $df_T | tail -n1 | tr -s ' ' | cut -f2 -d\ 2>/dev/null) 
    fi 

    case $fs_type in 
    (sshfs|nfs|cifs|fuse.bup-fuse) return 0 ;; 
    (*) return 1;; 
    esac 
} 
0

Простой просто запустите это в клемме

cat /proc/filesystems 
Смежные вопросы