이 기사는 Linux에서 bat 명령 설치 및 사용을 포함하여 Linux 운영 체제의 대체 도구에 대한 지식을 제공합니다.
Linux 운영 체제에서는 종종 cat 명령을 사용하여 여러 파일을 연결하여 표준 출력으로 인쇄하고, 여러 파일을 하나의 대상 파일로 결합하고, 여러 파일을 대상 파일에 추가합니다.
최근 GitHub에서 "Bat"이라는 비슷한 기능을 가진 명령을 발견했습니다. 이 명령은 cat 명령을 대체하고 구문 강조, Git 통합, 자동 페이징과 같은 몇 가지 매우 멋진 기능을 갖추고 있습니다.
이 글에서는 Linux에서 bat 명령어를 설치하고 사용하는 방법을 소개하겠습니다.
1, bat
Install bat
Arch Linux
bat는 Arch Linux 운영 체제의 기본 소프트웨어 소스에서 구할 수 있으며, 다음에서 pacman 명령을 직접 사용할 수 있습니다. 모든 Arch 기반 시스템에 설치할 수 있습니다.
pacman -S bat
Fedora
dnf install bat
macOS
brew install bat
Ubuntu 21.10
Batt의 릴리스 페이지에서 .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 명령 사용법
bat 명령 사용법은 cat 명령 사용법과 매우 유사합니다.
bat 명령을 사용하여 새 파일 만들기:
bat > jiaoben1.sh
bat 명령을 사용하여 파일 내용 보기:
bat jiaoben1.sh
bat 명령을 사용하여 동시에 여러 파일 보기:
bat jiaoben1.sh jiaoben2.sh
bat 명령 사용 여러 파일의 내용을 단일 파일로 병합하려면 매체:
bat jiaoben1.sh jiaoben2.sh > test.txt
위에서는 Bat가 새 파일을 생성하고, 파일 내용을 보고, 여러 파일의 내용을 단일 파일로 병합하는 방법을 설명합니다.
다음으로 bat 명령의 몇 가지 매우 멋진 기능을 살펴보겠습니다.
bat 명령은 대부분의 프로그래밍 및 마크업 언어에 대한 구문 강조를 지원하므로 cat 및 bat 명령을 사용하여 jiaoben1.sh의 내용을 표시하여 명확한 비교를 해보겠습니다.
보시다시피 cat 명령은 파일 내용을 일반 텍스트 형식으로 표시하는 반면, bat 명령은 구문 강조와 깔끔한 텍스트 정렬을 표시합니다.
위의 bat 명령 출력에서 테이블 라인 없이 라인 번호만 표시하려는 경우 -n 매개변수를 사용하여 이를 수행할 수 있습니다. cat 실행도 표시됩니다. 줄 번호는 아직 없습니다. 배트 실행 후 출력 효과가 아름답습니다.
bat -n jiaoben2.sh
bat 명령은 Git 통합을 지원하므로 Git 저장소에서 파일을 쉽게 보고 편집할 수 있으며, bat 및 Git 연결은 인덱스에 수정 사항을 표시할 수 있습니다.
bat는 자동 페이징을 지원하므로 이 기능에도 주의가 필요합니다.
페이징을 지원합니다. 즉, 파일의 출력 내용이 화면 표시를 초과하면 bat 명령이 자동으로 출력 내용을 less 명령으로 전송하고 Enter 키를 사용하여 출력 내용 페이지를 볼 수 있습니다. 페이지별로 스페이스 바를 사용하면 텍스트 끝의 마지막 줄로 바로 이동할 수 있습니다.
여러 페이지에 걸쳐 있는 파일의 출력을 자동으로 스트리밍하는 bat 명령을 사용하는 경우 이는 필요하지 않습니다.
bat jiaoben3.sh
jiaoben3.sh 파일의 내용을 여러 페이지에 걸쳐 보려면 cat 명령을 비교하세요. 프롬프트는 파일의 마지막 페이지로 직접 이동하며 처음에는 내용을 볼 수 없습니다. 여러 페이지에 걸쳐 파일의 중간.
cat jiaoben3.sh
cat를 사용하여 bat 명령의 효과를 얻으려면 cat의 출력을 사용하여 less 명령으로 전송해야 콘텐츠를 처음부터 페이지별로 볼 수 있습니다.
cat jiaoben3.sh | less
이와 마찬가지로 Enter 키를 사용하여 출력 내용을 페이지별로 볼 수 있고 스페이스 바를 사용하여 기사 끝의 마지막 줄로 직접 이동할 수 있습니다.
bat 사용자 정의 테마
현재 Coldark-Cold, GitHub, Monokai Extended Light, OneHalfDark, Solarized(light), TwoDark, Visual Studio Dark+, base16, zenburn 등을 포함한 24개의 박쥐 사용자 정의 테마가 있습니다.
如果你不喜欢默认主题,也是可以根据自己的风格进行修改,只需执行: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은 더 완벽한 기능 외에도 풍부한 색상 조합을 갖추고 있으며 전반적으로 더 사용자 친화적입니다.
5. Glances
Glances는 Python으로 작성된 크로스 플랫폼 모니터링 도구로, Cursor 또는 웹 기반 인터페이스를 통해 정보가 동적으로 조정됩니다. 사용자 인터페이스의 크기에 따라 GNU/Linux, BSD, Mac OS 및 Windows 운영 체제를 위한 Top/htop 대체품입니다.
클라이언트/서버 모드에서 작동하며 터미널, 웹 인터페이스 또는 API(XML-RPC 및 RESTful)를 통해 원격 모니터링을 수행할 수 있으며 통계를 파일 또는 외부 시간/값 데이터베이스로 내보낼 수도 있습니다.
모든 프로세스와 CPU 및 메모리 사용량을 나열하는 것 외에도 다음과 같은 시스템에 대한 기타 정보도 표시할 수 있습니다.
네트워크 및 디스크 사용량
파일 시스템 사용 공간 및 총 공간
다양한 센서의 데이터(예: 배터리)
및 최근 너무 많은 리소스를 소비한 프로세스 목록
6, exa
이 ls 명령을 언급했습니다. 모두 낯선 사람이 아닙니다. Linux 환경에서 주요 기능은 현재 디렉터리에 포함된 파일과 하위 디렉터리를 나열하는 것입니다. 현재 디렉터리에 파일이 너무 많으면 출력 결과가 무엇인지 알 수 없기 때문에 ls 명령을 사용하는 것은 좋지 않습니다. 검색된 파일이 일치하지 못했습니다. 첫째: 보조 필터 검색이 필요합니다. 둘째: 파일이 너무 많으면 터미널 출력 결과가 느려집니다.
EXA는 ls 명령줄 프로그램에 대한 최신 대안입니다. Unix 및 Linux 운영 체제에 포함되어 더 많은 기능과 더 나은 기본값을 제공합니다. 색상을 사용하여 파일 형식과 메타데이터를 구분합니다. 기호 링크, 확장 속성 및 Git을 이해합니다. 작고 빠르며 바이너리 파일이 하나만 있습니다.
EXA와 LS의 차이점은 무엇인가요?
터미널 화면은 더 이상 병목 현상이 없습니다. exa는 ls보다 강력하고 친숙하며 출력 결과가 더 빠릅니다.
색상: exa는 많은 색상을 사용합니다.
; ls 명령 사용
EXA
색상: 파일 유형 목록 및 파일 구별 방법
그리드 보기: 파일을 터미널 창과 같은 크기로 그리드에 표시합니다.
표시 옵션
필터 옵션
--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 중국어 웹사이트의 기타 관련 기사를 참조하세요!