如何在Linux上检测慢速文件系统?

时间:2014-12-21 00:26:31

标签: linux shell filesystems

对于我的shell配置,我想知道我是否在慢速目录上(例如sshfs或cifs mount)。

这允许我跳过某些操作,例如通过Zsh vcs_info查找存储库中的更改。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

简单只需在终端中运行

cat /proc/filesystems