10 款你不知道的 Linux 环境下的替代工具

如果你想要通过 cat 来实现 bat 命令的效果,则需要去使用 cat 的输出传输到 less 命令中去,这样就可以从开头部分一页一页的查看内容了。

cat jiaoben3.sh | less

复制代码

同样,这种方式也是可以使用回车键一页一页的查看输出内容以及使用空格键可直接跳转至文末最后一行。

bat 定制主题

目前 bat 定制主题有 24 种,包括:Coldark-Cold、GitHub、Monokai Extended Light、OneHalfDark、Solarized (light)、TwoDark、Visual Studio Dark+、base16、zenburn 等;

如果你不喜欢默认主题,也是可以根据自己的风格进行修改,只需执行:bat --list-themes命令,即可显示可用的主题。

bat --list-themes

Theme: 1337

// Output the square of a number.

fn print_square(num: f64) {

let result = f64::powf(num, 2.0);

println!(“The square of {:.2} is {:.2}.”, num, result);

}

复制代码

例如你要选择Dracula主题,可直接执行:bat --theme=Dracula 文件名

在这里插入图片描述

如果你想永久改变某一个主题,可使用export BAT_THEME="Dracula"在你的 shell 启动文件,以使更改为永久。

您可以使用–style参数选项来控制bat输出的外观,配置元素包括:行号、文件头、网格边框、Git修改来显示除文件内容之外的东西,参数是一个逗号分隔的列表。

--style=numbers,changes可以使用仅显示 Git修改和行号,而不显示网格和文件标题,设置BAT_STYLE环境变量以使这些更改为永久。

关于更多 bat 的使用方法可通过执行命令man batbat --help

除此之外,也可以通过 bat 项目的 GitHub 库查看更多详细信息,我用过 bat 后就不会再想用回 cat 了!

2、duf

在 Linux 环境下,我们知道 df 命令是用于显示磁盘分区上可使用的磁盘空间,默认显示单位为 KB,你还可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda3 18439940 4943264 12559972 29% /

tmpfs 506176 76 506100 1% /dev/shm

/dev/sda1 99150 30003 64027 32% /boot

/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final

复制代码

除此之外,du 命令也是查看使用空间的,但与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,和 df 命令还是有一些区别的。

du

4 ./.abrt

8 ./.dbus/session-bus

12 ./.dbus

4 ./.nautilus

40 ./.local/share/gvfs-metadata

24 ./.local/share/applications

68 ./.local/share

72 ./.local

复制代码

接下来就跟大家介绍一款终端工具,你可以理解为传统的 Linux 命令 df 和 du 整合版 —— duf。

duf 是一个用 Golang 编写的跨平台磁盘使用情况工具,可以让你轻松地检查可用磁盘空间,对输出进行分类,并以用户友好的方式进行呈现,适用于 Linux、Windows、macOS、Android、FreeBSD;

Ubuntu 安装方式:

$ sudo apt install gdebi

#如果报错,Failed to fetch http://security.ubuntu.com…

sudo apt-get update

$ sudo gdebi duf_0.5.0_linux_amd64.deb

#要先在下载duf_0.5.0_linux_amd64.deb,下载地址为:https://github.com/muesli/duf/releases/download/v0.5.0/duf_0.5.0_linux_amd64.deb

复制代码

MacOS 安装方式:

#先安装Homebrew,按照提示安装即可。

/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”

#安装duf

brew install duf

#或者

sudo port selfupdate && sudo port install duf

复制代码

Windows 安装方式:

choco install duf

#或者

scoop install duf

复制代码

安装完毕后,可直接使用 duf,方法也非常简单。

不添加任何参数,会输出所有本地设备、已挂载的任何云存储设备以及任何其他特殊设备(包括临时存储位置等)的详细信息;

$ duf

复制代码

在这里插入图片描述

如果你只想查看本地连接设备的详细信息,而不想看其他的,可执行:

$ duf --only local

复制代码

在这里插入图片描述

如果你只想根据大小按特定顺序对输出信息进行排序,可执行:

$ duf --sort size

复制代码

在这里插入图片描述

更多参数使用方式:

duf /home /some/file 根据参数,则 duf 将仅列出特定的设备和安装点

duf --all 列出所有内容

duf --hide-network 隐藏网络文件系统,与之对应的 --hide-fuse --hide-special --hide-loops --hide-binds

duf --inodes 列出inodes

duf --output mountpoint,size,usage 指定输出的格式 对应的还有(mountpoint, size, used, avail, usage, inodes, inodes_used, inodes_avail, inodes_usage, type, filesystem)

duf --json 以json格式输出

duf --theme light 如果 duf 无法正确检测终端的颜色,可以设置一个主题

duf --help 查看所有 duf 的可用命令

复制代码

3、tldr

对于初学者学习 Linux 来说,遇到最多的问题就是在 Linux 操作系统下有记不完的命令以及包括各种参数的使用方法,其实你根本不用死记硬背它,当你用到时去查找相关资料或通过man命令来查看相关文档,man手册输出的信息也比较多,而对于参数较多的命令来说,翻看man手册也非常吃力。

这次就给大家介绍一款工具:tldr,它的全称是:Too Long, Don't Read,中文意思:太长不看的意思。

其实跟man命令的结果基本上就是太长不看,tldr这个工具你可以理解为简化了 man 命令的帮助文档,把 Linux 命令最常用的一些命令用法列举出来,非常容易看懂。

同时,tldr包括非常多语言编写的客户端,比如:C、Go、iOS、Python、nodejs 等等,你可以使用不同的客户端来安装;

我这里的环境是 Ubuntu,需要先安装 Node.js,然后根据下述安装方式操作:

sudo apt-get install nodejs

sudo apt-get install npm

sudo npm install -g tldr

复制代码

执行完上述三条命令后,还需要再执行tldr --update,更新tldr至最新的状态,然后就可以直接使用了;

tldr --update

复制代码

tldr 的使用:

tldr 命令的使用也非常简单,只需 tldr + 你所要查询的命令即可;

4、htop

在 Linux 操作系统上显示进程运行状态信息最常用工具是我们熟悉的 top,它是每位系统管理员的好帮手。

htop 可以说是 top 的绝佳替代品,它是用 C 写的,是一个跨平台的交互式的进程监控工具,具有更好的视觉效果,一目了然更容易理解当前系统的状况,允许垂直和水平滚动进程列表以查看它们的完整命令行和相关信息,如内存和 CPU 消耗。还显示了系统范围的信息,例如平均负载或交换使用情况。

显示的信息可通过图形设置进行配置,并且可以交互排序和过滤,与进程相关的任务(例如终止和重新处理)可以在不输入其 PID 的情况下进行完成。

安装也很简单,只需执行命令:apt install htop即可完成。

htop 比起 top,优势很明显,除了功能更加完善以外,它的色彩搭配也很丰富,整体上使用起来更加友好。

5、glances

Glances 是用 Python 写的一个跨平台的监控工具,旨在通过 curses 或基于 Web 的界面呈现大量系统监控信息,该信息根据用户界面的大小动态调整,是 GNU/Linux、BSD、Mac OS 和 Windows 操作系统的 top/htop 替代品。

它可以在客户端/服务器模式下工作,远程监控可以通过终端、Web 界面或 API(XML-RPC 和 RESTful)完成,统计数据也可以导出到文件或外部时间/值数据库。

除了列出所有进程及其 CPU 和内存使用情况之外,它还可以显示有关系统的其他信息,比如:

  • 网络及磁盘使用情况

  • 文件系统已使用的空间和总空间

  • 来自不同传感器(例如电池)的数据

  • 以及最近消耗过多资源的进程列表

6、exa

提到 ls 命令,大家都不陌生,在 Linux 环境下,其主要作用:列出当前目录下所包含的文件及子目录,如果当前目录下文件过多,则使用命令 ls 不是很好,因为这输出出来的结果跟你所要查找的文件未能达成一致,第一:需要进行二次过滤查找;第二:文件过多时,终端输出结果较慢;

EXA 是 Unix 和 Linux 操作系统附带的命令行程序的 ls 现代替代品,赋予它更多功能和更好的默认值。它使用颜色来区分文件类型和元数据。它了解符号链接、扩展属性和 Git。它体积小速度快,而且只有一个二进制文件

EXA 与 LS 有什么不同之处?

  • 终端屏幕不再是瓶颈:exa 功能强大,比 ls 要友好,输出结果会更快;

  • 颜色:exa 大量使用颜色;

  • 不与 ls 命令冲突

EXA 的特征

  • 色彩:文件类型列表以及如何区分文件;

  • 网格视图:在与终端窗口大小相同的网格中显示文件;

  • 长远:在表中显示文件及其元数据;

  • 树视图:在树中显示文件及其子代;

  • Git 集成:在存储库中时,查看文件的 Git 状态;

  • 筛选:隐藏列表中的文件,显示不可见的文件,并对输出进行排序;

  • Xattrs:列出文件的扩展属性;

Ubuntu 21.10 安装只需执行命令:apt install exa即可。

显示选项

  • -1,–oneline:每行显示一个条目

  • -G,–grid:将条目显示为网格(默认)

  • -l,–long:显示扩展细节和属性

  • -R,–recurse:递归到目录

  • -T,–tree:作为树递归到目录中

  • -x,–across:对网格进行排序,而不是向下排序

  • -F,–classify:按文件名显示类型指示器

  • –colo[u]r:何时使用终端颜色

  • –colo[u]r-scale : 清楚地突出显示文件大小的级别

  • –icons : 显示图标

  • –no-icons : 不显示图标(总是覆盖 --icons)

过滤选项

  • -a,–all:显示隐藏和“点”文件

  • -d,–list-dirs:像普通文件一样列出目录

  • -L,–level=(depth):限制递归深度

  • -r,–reverse:反转排序顺序

  • -s,–sort=(field):按哪个字段排序

  • –group-directories-first:在其他文件之前列出目录

  • -D,–only-dirs:只列出目录

  • –git-ignore:忽略中提到的文件.gitignore

  • -I,–ignore-glob=(globs):要忽略的文件的全局模式(管道分隔)

传递该--all选项两次以同时显示...目录。

在这里插入图片描述

7、fd

fd 是一个在文件系统中查找条目的程序,它是 find 命令的一个简单、快速且用户友好的替代品,fd 目的不是取代 find 命令所提供的全部功能,而是在多数用例中提供了合理的默认值,在某些情况下非常有用。

fd 输出是彩色的,类似于某些 ls 模式,它是递归的,在包含 Git 存储库的目录中搜索源代码文件时,fd 会自动排除隐藏的文件和目录,包括..git目录,并忽略.gitignore文件中的模式。一般来说,搜索速度更快,而且第一次搜索时会提供了更多相关结果。

默认情况下,fd 在当前目录中执行不区分大小写的模式搜索,但是,如果你的搜索模式包含一个大写字母,fd 将以区分大小写的模式进行执行。当然,也可以重写默认值,但在许多情况下还是有利的。同样使用 find 进行相同的搜索需要你提供额外的命令行参数。

fd 可用于许多 Linux 发行版,执行以下命令,可以使用标准存储库在 Ubuntu 中安装:

sudo apt install fd-find

复制代码

在 Ubuntu 操作系统中,命令是 fdfind,避免与其他现有的实用程序名称发生冲突,如果希望它是 fd,可以设置一个别名:

alias fd=fdfind

复制代码

要使别名保持不变,在重启后仍然可用,请将其放入“.bashrc”或“.bash_aliases”文件中。

使用不带参数选项的 fd,则类似于 ls,不同之处在于它默认情况下也会将子目录中的文件进行列出。

fd

bat_0.18.3_amd64.deb

fd_8.3.0_amd64.deb

jiaoben1.sh

jiaoben2.sh

jiaoben3.sh

snap

snap/firefox

snap/firefox/631

snap/firefox/731

snap/firefox/common

snap/firefox/current

snap/snap-store

snap/snap-store/557

snap/snap-store/558

snap/snap-store/common

snap/snap-store/current

test.md

复制代码

在当前目录中搜索所有的 markdown 文件(.md 或.MD ),find 命令如下:

find . -iname “*.md”

./test.md

复制代码

使用 fd 进行同样的搜索:

fd *.md

test.md

复制代码

在某些情况下,fd 需要额外的选项;例如,如果你想包含隐藏文件和目录,则必须使用选项 -H,而这在 find 中是不需要的,关于 fd 更多命令行参数选项的使用方法,可查阅 fd GitHub 存储库。

8、ag

ackag是两个文本搜索工具,比自带的grep要好用得多。

在指定目录下搜索文本时,不需要像 grep 那样指定各种命令行选项,输出结果也会包含文件名和行号,并且会高亮显示搜索关键字。

ag是可以比grepack更快的递归搜索文件内容。

Ubuntu 21.10 安装 ag 和 ack

apt-get install silversearcher-ag

apt install ack

复制代码

ag 命令常用参数

  • ag -g (文件名):类似于 find . -name (文件名)

  • ag -i sed:忽略大小写搜索含 sed 文本

  • ag -A sed:搜索含 sed 文本,并显示匹配内容之后的 n 行文本

  • ag -B sed:搜索含 sed 文本,并显示匹配内容之前的 n 行文本

  • ag -C sed:搜索含 sed 文本,并同时显示匹配内容以及它前后各 n 行文本的内容

  • ag -w sed:全匹配搜索,只搜索与所搜内容完全匹配的文本

  • ag --java sed:在 java 文件中搜索含 sed 的文本

  • ag --xml sed:在 XML 文件中搜索含 sed 的文本

ag 命令的使用

根据文件名进行搜索对应的文件,可使用-g参数选项。

ag -g jiaoben

jiaoben2.sh

jiaoben1.sh

jiaoben3.sh

复制代码

搜索当前目录下有关 sed 关键字的文本。

ag -w sed

jiaoben1.sh

10: sed -i ‘2d’ “$new_filename”

复制代码

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
jiaoben2.sh

jiaoben1.sh

jiaoben3.sh

复制代码

搜索当前目录下有关 sed 关键字的文本。

ag -w sed

jiaoben1.sh

10: sed -i ‘2d’ “$new_filename”

复制代码

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-Wmf9FYg9-1715585934652)]

[外链图片转存中…(img-S1wxl2f8-1715585934653)]

[外链图片转存中…(img-l9Lvu3LM-1715585934653)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值