Linux 终端美化

Linux 终端美化
lololowe1. ZSH
1.1. 安装zsh
zsh是一个强大的shell,具有很多强大的功能,如自动补全、语法高亮、命令提示等。
zsh官网:https://www.zsh.org/
1 | # 查看系统存在的shell |
1.2. 安装oh-my-zsh
oh-my-zsh是zsh的插件管理器,可以方便的安装各种主题和插件
1 | sudo apt install git -y |
1.3. 安装p10k主题和命令插件
powerlevel10k是一款灵活,开箱即用的zsh主题
1 | # powerlevel10k主题 |
1.4. 安装字体
p10k主题自带的一些图标需要特殊字体支持,推荐使用MesloLGS字体
如果使用SSH客户端连接SSH服务器,则SSH客户端也需要安装字体,否则无法正常显示SSH服务器的图标
1 | # 下载字体 |
1.5. 应用主题和插件
1 | # 编辑配置文件,修改主题和插件 |
编辑并保存后,重启终端即可进入p10k主题的交互式配置向导,也可以执行p10k configure
命令进行配置。
2. Tmux 状态栏
Tmux 是一个终端复用器,具体用法可以参考阮一峰大佬的文章:https://www.ruanyifeng.com/blog/2019/10/tmux.html
Tmux提供了一个状态栏,通过配置Tmux的状态栏,可以使其在终端的顶部实时显示各项硬件参数,如网速、温度、功率、硬件利用率等,如下图:
嫌Tmux配置麻烦可以去用byobu,启动byobu后直接按F9并选择 “Toggle status notifications”,即可自定义底部状态栏。
2.1. 安装Tmux
1 | apt update |
2.2. 编写脚本
创建5个获取硬件信息的脚本,并放在/root/shell_scripts
目录下,5个脚本内容分别如下:
2.2.1. CPU利用率获取脚本
cpu_usage.sh
1 |
|
2.2.2. 内存利用率获取脚本
memory_usage.sh
1 |
|
2.2.3. 上下行网速获取脚本
net_speed.sh
1 |
|
如果上行网速获取不对,可以修改脚本内容为以下:
1 | # 计算当前网络流量 for interface in "${network_dir}"/*; do |
2.2.4. CPU+GPU功率获取脚本
power_usage.sh
1 |
|
2.2.5. CPU和GPU温度获取脚本
temperature.sh
1 |
|
创建完5个脚本之后,编辑Tmux配置文件~/.tmux.conf
,将5个脚本添加到Tmux状态栏配置中,配置如下:
1 | set -g status on |
保存配置文件后,使用 tmux source-file ~/.tmux.conf
命令重载配置即可看到状态栏。
为了进入终端后能自动启动Tmux,可以编辑~/.zshrc
文件,追加以下内容:
1 | # 检查是否已经在 tmux 会话中,如果没有,则启动 tmux |
3. 下一代ls命令
lsd是一个更美观的ls命令,可以替代默认的ls命令,如下图:
注意:安装lsd之前需要参考上文安装第三方字体,否则lsd的图标会显示为乱码。
安装:
1 | wget https://github.com/lsd-rs/lsd/releases/download/v1.1.5/lsd-musl_1.1.5_amd64_xz.deb -o /tmp/lsd.deb |
编辑配置文件,修改默认的ls命令为lsd
1 | echo "alias ll='lsd -lh'\nalias la='lsd -alh'" >> ~/.zshrc |
由于将其它命令写在了p10k的配置命令下面,会导致登陆终端时出现警告,因此需要执行以下命令忽略警告
1 | echo "typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet" >> ~/.zshrc |
4. cat命令输出高亮
bat是一个带语法高亮的的cat命令,可以替代默认的cat命令,如下图:
安装:
1 | apt install bat |
编辑配置文件,修改默认的cat命令为batcat:
1 | echo "alias cat=batcat" >> ~/.zshrc |
自定义bat的配置文件:
1 | echo --style=plain >> ~/.config/bat/config # 输出不带行号 |
5. fastfetch显示系统信息
fastfetch是一个持续维护、功能丰富、面向性能、类似 neofetch 的系统信息展示工具。效果如下图:
安装:
1 | wget https://github.com/fastfetch-cli/fastfetch/releases/download/2.35.0/fastfetch-linux-amd64.deb -O /tmp/fastfetch.deb |
编辑配置文件,使用户登陆终端时显示系统信息
1 | echo "fastfetch --pipe false" >> ~/.zshrc |
修改显示的信息,vim 编辑 ~/.config/fastfetch/config.jsonc 文件,写入以下内容:
1 | { |
6. 删除登录提示
删除最后一次登录ssh的提示信息:
1 | sudo sed -i 's/#PrintLastLog yes/PrintLastLog no/g' /etc/ssh/sshd_config |
删除登录提示信息:
1 | # 编辑/etc/pam.d/sshd文件,注释以下两行 |
重启sshd服务:
1 | sudo systemctl restart sshd |
7. 中文语言环境
向导式配置:dpkg-reconfigure locales
手动配置:
1 | sudo sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen |
vim 编辑 /etc/default/locale 文件,替换为以下内容:
1 | # File generated by update-locale |
载入语言环境:
1 | source /etc/default/locale |
vim 显示中文(解决中文乱码问题):
1 | # 编辑 /etc/vim/vimrc 文件,追加以下内容 |
8. 上海时区
1 | timedatectl list-timezones | grep Asia # 查看亚洲所有时区 |
9. 实用终端工具推荐
- 进程管理:htop、btop
- 网速监控:btop、bmon、Speedomete
- 装X:hollywood、nyancat、- cmatrix
- 终端浏览器:w3m、carbonyl
- 文件管理:Superfile