如何在 CentOS 7 上的 ssh 中隐藏 df 输出中的 tempfs?

如何在 CentOS 7 上的 ssh 中隐藏 df 输出中的 tempfs?

我知道这可以做到,因为我以前在以前的服务器上做过,但我忘了怎么做,而且网络搜索也没有找到结果。

我知道 tmpfs 是什么,你不应该删除它。我想做的是隐藏它。基本上我做了一些修改输出的事情,这样当你运行 df 命令时它会从输出中排除 tmpfs,但我忘记具体是怎么做的了。

示例输出: 在此处输入图片描述

我如何才能在 df 输出中隐藏 tmpfs?再次强调,不是要删除或禁用 tmpfs,而只是在 ssh 输出中隐藏它。当我添加许多驱动器时,看到它尤其令人讨厌。

更新:我能够在我保存的文件中找到执行我想要的命令,但现在我需要知道如何将其作为别名构建到 .bashrc 中,以便每当我输入时:

df -h

它确实发送:

df -Th| grep -Ev '(udev|tmpfs)'

编辑:好的,我确实想出了一些办法。我无法对完整的 执行此操作df -h,但我可以将其添加到 的别名中df,方法是将其添加到 .bashrc:

alias df="df -Th| grep -Ev '(udev|tmpfs)'"

好吧,最奇怪的事情发生了。在我将此命令添加到 .bashrc 之后,现在,即使我完全删除了同一行,它也完全修改了该df命令,因此即使我将其放入,df -h它仍然会隐藏所有 tmpfs。我不确定这是否是暂时的,但我在 ssh 中重新加载了 .bashrc,但所有 tmpfs 仍然被隐藏。

然后我发现恢复它的唯一方法是将此行重新添加到 .bashrc 中

alias df="df -Th| grep -Ev '(none)'"

现在 df 又可以正常运行了。所以,问题似乎已经解决了。

答案1

自由度来自 GNU coreutils 有这个选项:

  -x, --exclude-type=TYPE -- limit listing to file systems not of type TYPE

你可以运行df -x tmpfs因此你会得到这个结果:

Filesystem     1K-blocks    Used Available Use% Mounted on  
udev             3993228       0   3993228   0% /dev  
/dev/sdb2      113298660 9471544  98025696   9% /  
/dev/sdb1         523244    3484    519760   1% /boot/efi
  • 如您所见,列表中省略了 tmpfs。

答案2

解决方案是写入一行来重写 df。但是,这会稍微改变输入内容,df使其真正输出df -Th更易于阅读的输出。

# remove all tmpfs from all df output (you must use the next info to revert df to behave normally)
alias df="df -Th| grep -Ev '(udev|tmpfs)'"

# to revert df to behave normally, remove the above section and uncomment the below line:
# alias df="df -Th| grep -Ev '(none)'"

我希望这能对某些人有所帮助,因为我对 tmpfs 输出很恼火,当我检查输出时,我不需要看到这些df输出,因为我在一些服务器上有很多驱动器,查看我经常检查的许多驱动器和使用情况会更清晰。在我解决这个问题之前,tmpfs 困扰了我一年多,所以我希望它也能帮到你。

答案3

:~$ ssh 192.168.0.19 "df -h | grep -E \"sd[a-z]|vg\""
[email protected]'s password:
/dev/sda2       464G  130G  335G  28% /
/dev/sdb1       466G  208G  258G  45% /home
/dev/sda1       1.9G  383M  1.4G  22% /boot
:~$ 

在这种情况下,我更喜欢的想法是考虑反转问题...输出需要的行而不是屏蔽不需要的行......使用这种方法,您将来就无法发现意外/未知的模式。

当然,您可以在 grep 中添加逻辑卷的具体情况;nfs 等等。

答案4

简单的解决方法。在可执行路径的某个位置创建以下单行脚本...

df $1 $2 $3 $4 | grep -v tmpfs

我将其命名为 df_override 并将其放在 /usr/bin 中

然后像这样为其添加别名...

# alias df='df_override '

就是这样!现在您可以使用 df 而不会丢失其开关,它将正常运行,只是它不会显示 tmpfs 挂载。

相关内容