この記事では、Linux での Bat コマンドのインストールと使用など、Linux オペレーティング システムでの代替ツールに関する知識を提供します。皆様のお役に立てれば幸いです。
Linux オペレーティング システムでは、cat コマンドを使用して複数のファイルを接続して標準出力に出力したり、複数のファイルを 1 つのターゲット ファイルに合成したり、複数のファイルをターゲット ファイルに追加したりすることがよくあります。ターゲットファイル。
最近、GitHub で同様の機能を持つ「Bat」というコマンドを発見しました。これは cat コマンドの代替品で、構文の強調表示、Git 統合、自動ページングなどの非常に優れた機能を備えています。
この記事では、Linuxにbatコマンドをインストールして使う方法を紹介します。
1.bat
bat のインストール
Arch Linux
bat は Arch Linux オペレーティング システムのデフォルト ソフトウェア リポジトリで利用でき、pacman コマンドを使用して Arch ベースのシステムに直接インストールできます。
pacman -S bat
Fedora
dnf install bat
macOS
brew install bat
Ubuntu 21.10
i Ubuntu環境ではbatでインストールしますので、batのリリースページから.debファイルをダウンロードし、以下のコマンドを実行することでダウンロード、インストールできます。
sudo apt-get install wget wget https://github.com/sharkdp/bat/releases/tag/v0.18.3/bat_0.18.3_amd64.deb sudo dpkg -i bat_0.18.3_amd64.deb
他のシステムの場合は、ソフトウェア ソースからコンパイルしてインストールするか、GitHub にあるバットの他のオペレーティング システムのインストール方法を参照する必要がある場合があります。
bat コマンドの使用法
bat コマンドの使用方法は、cat コマンドの使用方法と非常によく似ています。
bat コマンドを使用して新しいファイルを作成します:
bat > jiaoben1.sh
bat コマンドを使用してファイルの内容を表示します:
bat jiaoben1.sh
bat コマンドを使用して複数のファイルを表示します同時に:
bat jiaoben1.sh jiaoben2.sh
bat コマンドを使用して、複数のファイルの内容を 1 つのファイルにマージします:
bat jiaoben1.sh jiaoben2.sh > test.txt
上記では、bat を使用して新しいファイルを作成し、ファイルの内容を表示し、内容をマージします。複数のファイルを 1 つのファイルにまとめる方法です。
次に、bat コマンドの非常に優れた機能をいくつか見てみましょう。
bat コマンドは、ほとんどのプログラミング言語およびマークアップ言語の構文の強調表示をサポートしているので、明確に比較するために、cat コマンドと Bat コマンドを使用して jiaoben1.sh の内容を表示してみましょう。
ご覧のとおり、cat コマンドはファイルの内容をプレーン テキスト形式で表示しますが、bat コマンドは構文の強調表示と適切なテキストの配置を表示します。
上記のバット コマンドの出力から、テーブル行があることがわかります。(テーブルなしで) 行番号のみを表示したい場合は、-n パラメータを使用してこれを実現できます。実行すると行番号も表示されますが、それでもバット実行後の出力ほど美しくはありません。
bat -n jiaoben2.sh
bat コマンドは Git 統合をサポートしており、Git リポジトリ内のファイルの表示と編集を容易にします。Bat は Git に接続してインデックスの変更を表示します。
#bat は自動ページングをサポートしていますが、この機能にも注意が必要です。
ページングをサポートします。つまり、ファイルの出力コンテンツが画面表示を超える場合、bat コマンドはその出力コンテンツをlessコマンドに自動的に転送し、Enter キーを使用してページングできるようになります。 1 ページ 出力コンテンツを表示し、スペースバーを使用してテキストの最後の最後の行に直接ジャンプします。
これらは、複数のページにまたがるファイルの出力を自動的に転送する Bat コマンドを使用する場合には不要です。
bat jiaoben3.sh
cat コマンドを比較して、jiaoben3.sh ファイルの内容を複数のページにわたって表示します。プロンプトはファイルの最後のページに直接ジャンプします。ファイルのスパンを確認できない 複数ページのファイルの先頭と中間のコンテンツ。
cat jiaoben3.sh
cat を使用して Bat コマンドの効果を実現したい場合は、cat の出力を使用して Less コマンドに転送する必要があります。最初から始める コンテンツをページごとに表示します。
cat jiaoben3.sh | less
同様に、Enter キーを使用して出力コンテンツをページごとに表示し、スペースバーを使用して最後の行に直接ジャンプできます。本文の終わり。
bat カスタム テーマ
現在、Bat カスタム テーマは 24 個あります。これには、Coldark-Cold、GitHub、Monokai Extended Light、OneHalfDark、Solarized が含まれます。 (ライト)、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 bat或bat --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 コマンドを使用してください。いいえ、非常に良い, 出力結果が探しているファイルと一致しないためです。1 つ目: 2 回目のフィルター検索が必要です。2 つ目: ファイルが多すぎると、端末の出力結果が遅くなります。EXA はUnix および Linux オペレーティング システムに含まれるコマンド ライン プログラムである ls の最新の代替品であり、より多くの機能とより優れたデフォルトを提供します。ファイルの種類とメタデータを区別するために色を使用します。シンボリック リンク、拡張プロパティ、Git を理解します。小さくて高速で、バイナリ ファイルは 1 つだけです。EXA と LS の違いは何ですか?
EXA の機能
## - G、--grid: エントリをグリッドとして表示します (デフォルト)
-l, --long: 拡張詳細と属性を表示します
- R、--recurse: ディレクトリを再帰します
-T、--tree: ディレクトリをツリーとして再帰します
- x , --across: 下ではなくグリッドを並べ替えます
-F, --classify: ファイル名ごとにタイプ インジケータを表示します
--colo[ u]r: ターミナルカラーを使用する場合
--colo[u]r-scale: ファイルサイズのレベルを明確に強調表示
- -icons: アイコンを表示します
フィルターオプション
-d, --list-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
ack和ag是两个文本搜索工具,比自带的grep要好用得多。
在指定目录下搜索文本时,不需要像 grep 那样指定各种命令行选项,输出结果也会包含文件名和行号,并且会高亮显示搜索关键字。
ag是可以比grep、ack更快的递归搜索文件内容。
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"
更多参数选项,大家可根据自身实际场景进行运用。
9、axel
axel 是命令行多线程下载工具,下载文件时可以替代 curl、wget。
Ubuntu 21.10 安装 axel
apt-get install axel
axel 参数选项
-n:指定线程数
-o:指定另存为目录
-s:指定每秒的最大比特数
-q:静默模式
案例
# axel -n 10 -o /tmp/ http://mirrors.163.com/ubuntu/ls-lR.gz # exa /tmp/ls-lR.gz /tmp/ls-lR.gz
可以看出,我们通过 axel 也是可以把 ls-lR.gz 这个文件正常下载到 /tmp 目录下的。
10、pydf
在 Linux 系统下,我们可以使用df命令来显示磁盘的相关信息。
# df 文件系统 1K-块 已用 可用 已用% 挂载点 tmpfs 199180 1660 197520 1% /run /dev/sda3 19946096 10317864 8589692 55% / tmpfs 995884 0 995884 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock /dev/sda2 524252 5344 518908 2% /boot/efi tmpfs 199176 100 199076 1% /run/user/1000 /dev/sr0 3043440 3043440 0 100% /media/jacktian/Ubuntu 21.10 amd64 tmpfs 199176 60 199116 1% /run/user/0
Ubuntu 21.10 安装 pydf
apt install pydf
pydf 可以说是 df 的替代品,它以更简洁的方式显示磁盘使用状态。
相关推荐:《Linux视频教程》
以上がLinux環境における10の代替ツールの概要と共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。