学习Linux命令行工具不仅仅是操作技能的提升,更是解锁“系统魔法”的钥匙!很多时候,它们是你和系统沟通的唯一语言。掌握它们,你会发现自己像黑客电影里的高手一样,可以在屏幕上“指点江山”。所以,学习Linux命令行工具不仅是技能,更是一场奇妙的冒险。掌握它,你会变得高效、自信,而且始终“掌控全局”!

个人推荐

  • 查看系统信息:[x uname](#x uname)

  • 查询 ip 地址:[x ip](#x ip)

  • 查看进程的实时信息:[x btop](#x btop)

  • 查看文件内容:[x cat](#x cat)

  • 查看当前目录下的文件:lsd

  • 查看系统信息:macchinafastfetch

  • 增强docker功能:增强docker功能

准备:安装X

官方地址:X-CMD | 开源轻量级 POSIX 脚本,用于管理工具 (670+) 和提供经典命令扩展

采用 curl 安装

1
eval "$(curl https://get.x-cmd.com)"

采用 wget 安装

1
eval "$(wget -O- https://get.x-cmd.com)"
image-20241110205427518

x uname

通过终端命令查看电脑以及操作系统的相关信息,相比自带的uname能看到更多信息

1
x uname
image-20241110213518080

x df

以 TUI 方式查看文件系统和磁盘空间使用情况

1
x df
image-20241110215525365

x ping

Linux下的ping有点low了,所以可以用这个**ping**,美观且可视化

1
x ping -b www.baidu.com
image-20241110212020536

x ip

查询 ip 地址,可以平替ifconfig

1
x ip

x top

使用 htop 来查看进程的实时信息

1
x top
image-20241110212717560

x htop

使用 htop 来查看进程的实时信息

1
x htop
image-20241110212559077

x btop

使用 htop 来查看进程的实时信息

1
x btop
image-20241110215350980

x cd

cd更高级的cd,具有更丰富的交互性

1
x cd
image-20241110213113334

x ll

一个可交互性的命令行文件管理器

1
x ll
image-20241110213317862

x cat

查看文件内容,很好地解决了cat的痛点

1
x cat
image-20241110215414267

x ascii

将 x-cmd 字符串转为 ASCII 艺术字

1
x ascii cfont HuangZexiao -g red,magenta -a center -s
image-20241111183410086

x hua

查看古文诗词

1
x hua

查看《唐诗三百》

1
x hua ts
image-20241111183732418

x wttr

展示中山市天气的信息

1
x wttr zhongshan

显示当前位置的天气和今日的天气预报

1
x wttr ?1
image-20241111183934477

lsd

查看当前目录下的文件,比ls的功能更丰富

查看文件

效果与ls一样,默认按文件名排列

1
lsd
image-20241110205510288

树形查看文件

--depth 1:查看深度为1的文件

1
lsd --tree --depth 1 -S
image-20241110205558823

组合命令

-S:按文件大小排列(默认按文件名排列)

-1:每行列出一个文件

-a:查看隐藏文件

1
lsd --tree --depth 1 -S -1 -a
image-20241110205847076

添加alias别名

在环境配置文件中添加alias别名

1
2
alias ll='lsd --tree --depth 1 -1'
# alias ll='ls -la'

系统信息查看工具

系统信息查看工具可以用于获取和显示系统硬件、软件和环境信息(如内核版本、内存使用情况、处理器负载等),通过这些工具可以在主流操作系统的运行中获取系统信息。

macchina

  1. 最小化:相比于 neofetchfastfetchmacchina 更加简单,更适合小型设备或资源受限的环境。
  2. 可定制化:提供主题系统,主题配置文件与主要配置文件是分开的,用户可以创建一堆主题并随时在它们之间切换。

安装

1
2
eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use macchina # 使用 x-cmd 安装 macchina

使用

  1. 获取和显示系统信息:

    1
    2
    3
    macchina
    macchina -o machine
    macchina -o machine -o terminal -o shell
  2. 定制 macchina:

    • 存放配置文件的目录:

      • Linux 和 BSD:~/.config/macchina/$XDG_CONFIG_HOME/macchina/
      • macOS:$HOME/.config/macchina/
      • Windows:%AppData%/macchina/
    • macchina.toml:macchina 的配置文件,用于调整 macchina 需要显示或隐藏的内容以及使用的主题。

    • 主题配置文件:用配置 macchina 显示信息的外观,文件格式请参考官方文档

    • 示例 - 自定义主题:

      1
      2
      x touch "$HOME/.config/macchina/themes/"
      printf "%s

“ \n ‘hide_ascii = true’ \n ‘[box]’ \n ‘border = “plain”‘ \n ‘visible = true’ > “$HOME/.config/macchina/themes/x.toml” macchina -l macchina -t x ```

image-20241103234124163

neofetch

兼容性好,neofetch 基于bash,所以不需要编译,同时兼容性也好:

举个例子,main函数内部的cache_uname方法,就会使用 Linux 和 macOS 都有的命令:uname -srm

安装

Neofetch 的安装非常简单,在各大的软件包管理器都有发布:

1
2
3
4
5
6
# macOS
brew install neofetch
# Linux Debian/Ubuntu
sudo apt install neofetch
# Linux CentOS
sudo yum install neofetch

安装完成,我们看看 Neofetch 的版本:

1
neofetch --version

使用

输出系统信息:

1
neofetch
image-20241103234143567

扩展

如果细看 Neofetch 的脚本,会发现还有很多可选项,这些在 Neofetch 的 wiki 内也有记录:

接下来我们看看可选项有那些?

扩展使用

根据官方的 wiki,Neofetch 在安装后,会自动生成默认配置文件,配置文件的存放地址在:${HOME}/.config/neofetch/config.conf内。里面其实就是默认的输出内容定义:

代码语言:bash

复制

1
cat ${HOME}/.config/neofetch/config.conf
neofetch默认配置

neofetch默认配置

可以看到,默认情况下打印的内容,就在配置文件内的 print_info 所定义。如果我们需要修改呢,有两种方法:

  • 直接使用vim等文本编辑器修改这个文件即可。
  • 在运行neofetch的时候,使用参数开启即可。

举个例子,默认情况,只显示内存,并没有显示内存使用的百分比;但是实际上在config.conf文件内是可以开启的,比如:

代码语言:bash

复制

1
2
# 直接输出
neofetch --memory_percent on

或者直接修改配置文件

修改配置文件

修改配置文件

最后的结果:

显示内存比

显示内存比

操作前提

本次文章的操作前提,需要你有一台电脑。如果你是希望使用NeoFetch,那么需要用Bash的支持:

  1. 系统为Linux或Unix;
  2. Bash的版本最少需要3.2,你可以使用bash --version查看bash版本。
适用于NeoFetch的系统

适用于NeoFetch的系统

如果你希望使用 FastFetch ,那么原则上没有什么受限,经过测试,目前的Windows 7也可以使用,Windows 11 ON ARM使用也正常。如果在Windows Server上,那么目前常用的2016、2019和2022都可以使用:

都是支持的

都是支持的

最后,如果你希望有一台Linux进行练手,或者使用一台服务器部署网站,甚至使用Linux服务器测试本文章内容,强烈推荐使用腾讯云轻量应用服务器进行操作。

本文对应的视频教程:

项目归档

Neofetch完全基于bash,使其兼容性很不错;即使你的Debian从8已经到12,但是 Neofetch 版本一直没有更新,那么 Neofetch 的使用,也不会出现什么问题。

这也是为什么,Neofetch在归档前,已经三年没有更新,但使用起来也没有任何问题。可以预想到,未来很长一段时间也不会有任何问题。那些基础的命令free -muname -s等等,都是不会改变的。

但是,为什么 Neofetch 停止维护了呢? 或者说是项目归档了呢?

为什么停止维护呢?

为什么停止维护呢?

其实,根据 reddit 上的两篇文章,可能可以略知一二:

大概就是作者换行了(回家开农场了,不过不清楚是否真的回去开农场?),项目维护者经常面临着巨大的工作量,包括但不限于代码更新、设备兼容考虑、错误修复、功能请求处理以及社区管理等等繁琐事物,加上作者自己从事的软件工作;作者在技术工作中感到厌倦和疲惫。而且即使从事的是技术,也需要考虑政治和不同人的立场,也需要站队。

综合上述的内容,他现在更倾向于追求他认为更简单、压力更小、更纯粹的生活方式。

自然而然地,项目就放弃维护了。

说实话,有点可惜;不过也确实为作者感到高兴,他找到了更好的生活。虽然不知道他是否真的是回去开设农场,但是应该是一个不错的新生活。

回到NeoFetch,其实也有很多继任者:

接任者都是非常好用的项目;不过受限于篇幅,接下来,我们就取其中的 Fastfetch 来一起看看。

fastfetch

  1. 可替代性:通常情况下,可以把 FastFetch 当作 NeoFetch 使用。安装方式也是一样,FastFetch 已经在各个平台的软件包管理器发布。

  2. 可扩展性:相比于 NeoFetch 全部基于bash的 shell 脚本,而 FastFetch 是基于C的。

安装

1
2
3
4
5
6
# macOS
brew install fastfetch
# Linux Debian/Ubuntu (Debian 13 or newer)
sudo apt install fastfetch
# Linux CentOS
sudo yum install fastfetch

安装完成,我们看看 fastfetch的版本:

1
fastfetch --version

使用

输出系统信息:

1
neofetch
image-20241103234731900

增强docker功能

可以直接用 xdx docker 来增强 **docker**,具体效果如下:

image-20241110213952852