在现代的Linux系统中,systemctl 是一个必不可少的工具,用来管理系统上运行的服务。然而,有时候手动输入命令来控制服务可能会感到繁琐和不便。为了提高效率和方便性,我们可以利用 shell 别名和函数来简化 systemctl 的操作,并结合 fzf 工具实现更加智能的服务控制。

在这篇文章中,我们将介绍一组用于 systemctl 的平滑、fzf 支持的 shell 别名和函数。通过这些别名和函数,你可以用更简洁的方式来启动、停止、重启和查看服务状态。同时,结合 fzf 工具,你可以通过模糊搜索来快速选择需要操作的服务,极大地提高了操作效率。

首先,我们需要在 .bashrc 或 .zshrc 等配置文件中定义我们的别名和函数。然后,重新加载配置文件,使修改生效。接下来,我们就可以开始使用这些别名和函数来管理系统服务了。

举个例子,我们可以定义一个别名 start 来启动服务:

“`

alias start=’sudo systemctl start’

“`

然后,当我们想要启动一个服务时,只需要输入 start serviceName 就可以了。

除了别名,我们还可以定义一个函数来实现更复杂的操作。比如,我们可以定义一个函数 svc 来选择服务,并根据用户的选择来执行相应的操作:

“`

function svc() {

local service=$(systemctl list-unit-files | sed -n ‘1!p’ | fzf –height 40% –preview ‘systemctl status {}’ | awk ‘{print $1}’)

if [ ! -z $service ]; then

echo “Selected service: $service”

local action=$(echo -e “start\nstop\nrestart\nstatus” | fzf –height 10%)

if [ ! -z $action ]; then

sudo systemctl $action $service

fi

fi

}

“`

通过这个函数,我们可以使用 fzf 来选择需要操作的服务,并选择操作类型(启动、停止、重启、查看状态)。这样一来,我们可以更加智能地控制系统服务,而无需记忆繁杂的命令和参数。

总的来说,利用 shell 别名和函数结合 fzf 工具来管理 systemctl 可以极大地提高工作效率和操作便捷性。你可以根据自己的需求来定义更多的别名和函数,让系统管理变得更加简单和愉快。希望这组别名和函数能够为你的工作带来更多的便利和乐趣!

详情参考

了解更多有趣的事情:https://blog.ds3783.com/