这里记录一些平时收集的一些工具或有趣的东西
2048-cli
终端中的 2048
dnf install 2048-cli
MapSCII
在终端显示世界地图
telnet mapscii.me
neofetch
命令行系统信息工具
apt-get update
apt-get install -y neofetch
neofetch
star war
一段 22 分钟长的 ASCII 动画
telnet towel.blinkenlights.nl
nyancat
终端中的 Nyancat
git clone https://github.com/klange/nyancat.git
cd nyancat
make && cd src
./nyancat
yes
yes命令在命令行中输出指定的字符串,直到yes进程被杀死。不带任何参数输入yes命令默认的字符串就是y。
yes hahaa
yes yes | xxx.sh
lolcat
彩色输出
gem install lolcat
echo "test" | lolcat
fish
一个挺好用的 shell 环境
apt-add-repository ppa:fish-shell/release-3
apt-get update
apt-get install -y fish
oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
themes
-
https://github.com/robbyrussell/oh-my-zsh/wiki/themes
下载完放置在 ~/.oh-my-zsh/themes 目录目录下,并在配置文件 .zshrc 中进行指定.
vim ~/.zshrc ZSH_THEME="<指定你的主题>"
powerline-shell
增强美化 shell 的工具
依赖 python 环境
pip install powerline-shell
- fish
vim ~/.config/fish/config.fish function fish_prompt powerline-shell --shell bare $status end
starship
轻量级、反应迅速,可定制的高颜值终端!
curl -fsSL https://starship.rs/install.sh | bash
将初始化脚本添加到您的 shell 的配置文件
# Bash
echo "eval \"\$(starship init bash)\"" >> ~/.bashhrc
# Fish
echo "starship init fish | source" >> ~/.config/fish/config.fish
# Zsh
echo "eval \"\$(starship init zsh)\"" >> ~/.zshrc
mosh
使用 UDP 传输的 Shell
apt install mosh
mosh --ssh="ssh -p 2222" root@host
duf
显示磁盘使用状态
wget https://github.com/muesli/duf/releases/download/v0.5.0/duf_0.5.0_linux_amd64.deb
dpkg -i duf_0.5.0_linux_amd64.deb
duf
glances
top/htop 的替代品
curl -L https://bit.ly/glances | /bin/bash
glances
inxi
显示系统和硬件信息
apt-get install inxi
inxi -F
# -A 显示音频 声卡相关信息
# -b 输出基本信息
# -c [0-32] 不同的配色
# -C 显示完整的 CPU 信息
# -d 显示光驱和硬盘相关信息
# -D 显示硬盘相关信息
# -F 完整报告
# -G 显卡
# -i WAN IP
# -I processes, uptime, memory, shell type etc
# -m RAM data
# -M machine data 主板,BIOS etc
# -p 完整分区信息
# -S 系统信息,hostname,kernel,桌面环境,发行版等等
# -u 分区 UUID
BestTrace
路由跟踪程序
cd /home && mkdir tmp && cd tmp
wget https://cdn.ipip.net/17mon/besttrace4linux.zip
unzip besttrace4linux.zip
chmod +x besttrace
mv besttrace /usr/local/bin
cd /home && rm -rf /home/tmp
# 安装完成后,就可以用指令 besttrace IP/域名 来追踪路由了
Fast
Fast 是 Netflix 提供的服务。它的网址是 Fast.com,同时它有一个可通过 npm 安装的命令行工具:
npm install --global fast-cli
```bash
```bash
fast # 该命令返回你的网络下载速度
fast -u # 获取上传速度
httpie
命令行下的 HTTP 客户端
yum install -y httpie
或
apt-get install -y httpie
http httpie.org
iPerf
iPerf 是测试网速的工具
# debian
apt install -y iperf
# centos
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -Uvh rpmforge-release-1.5.3-1.el7.rf.x86_64.rpm
yum update
yum install -y iperf
安装完成后,你需要在同一网络上的两台计算机上使用它(两台都必须安装 iPerf)。指定其中一台作为服务器。
在服务端启动 iperf
iperf -s
它会等待来自客户端的传入连接。将另一台计算机作为为客户端并运行此命令
iperf -c <服务端IP>
只需几秒钟即可完成测试,然后返回传输大小和计算出的带宽。
speedtest-cli
Speedtest.net 提供一个命令行版本——speedtest-cli,能够在终端中简单快速的测试出 linux 的网速
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest-cli
chown root:root /usr/local/bin/speedtest-cli
speedtest-cli
或
pip install speedtest-cli
speedtest-cli
gping
图形化的 ping 工具
echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
sudo apt update
sudo apt install gping
nethogs
查看每个进程流量
apt install nethogs
nethogs
mono
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | tee /etc/apt/sources.list.d/mono-xamarin.list
echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
apt-get update
apt-get install -y mono-devel mono-complete referenceassemblies-pcl ca-certificates-mono
jq
该工具帮助阅读 json 格式的数据
apt-get install -y jq
JsonData='[
{"Book":"PHP 7"},
{"Publication":"Apress"},
{"Book":"React 16 Essentials"},
{"Publication":"Packt"}
]'
echo "${JsonData}" | jq '.'
cat test.json | jq '.[].ip+":"'
cat test.json | jq '.[].port'
cat craw1.json | jq '.req_list[].url'
cat chaos-bugbounty-list.json | jq -r '.programs[] | select(.bounty == true) | .domains' | sort -u | cut -d '"' -f2 > urls.txt
- 相关教程
- https://justcode.ikeepstudying.com/2018/02/shell%EF%BC%9A%E6%97%A0%E6%AF%94%E5%BC%BA%E5%A4%A7%E7%9A%84shell%E4%B9%8Bjson%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7jq-linux%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%A7%A3%E6%9E%90json-jq%E8%A7%A3%E6%9E%90-json/
- https://mozillazg.com/2018/01/jq-use-examples-cookbook.html
- https://www.jianshu.com/p/6de3cfdbdb0e
base64
base64 # 编码
test # 输入内容
Ctrl+D # 结束,输出
base64 -d # 解码
dGVzdAo=
Ctrl+D # 结束,输出
echo "str" | base64
echo "c3RyCg==" | base64 -d
这个傻逼工具会默认每 76 个字符换行,格式化输出,用 -w 0 关闭
expand
将 TAB 转换为空格
expand test.txt
unexpand
将空格转换为 TAB
unexpand test.txt
sttr
cross-platform, cli app to perform various operations on string
sttr md5 "Hello World"
sttr base64-encode image.jpg
echo "Hello World" | sttr md5
cat file.txt | sttr md5
imcat
在终端显示任何图片
git clone https://github.com/stolk/imcat.git
make
./imcat xxx.png
Termtosvg
将你在 Linux 终端中操作录制成 SVG 动画
pip3 install termtosvg pyte python-xlib svgwrite
termtosvg
# 按下 CTRL+D 或输入 exit 来停止录制。录制完后,输出文件会以一个独一无二的名字被保存在 /tmp 文件夹中。
gimp
GIMP(全称 Gnu 图像处理程序)是一款免费的、跨平台的开源图像处理程序。
add-apt-repository ppa:otto-kesselgulasch/gimp
apt-get update
apt-get install -y gimp # 安装 gimp
gimp # 启动 gimp
asciinema
pip3 install asciinema
apt-get install asciinema
yum install asciinema
dnf install asciinema
asciinema rec
zbarimg
命令行解析二维码
apt install zbar-tools
zbarimg xxx.png
montage
将多个小图片拼成一张图
apt install imagemagick
montage xxx.jpg -tile 8x15 -geometry 200x100+0+0 output.jpg
gaps
修复、还原图片
gaps --image=output.jpg --generations=40 --population=120 --size=100
gaps -image=flag.jpg -generations=50 -population=120 -size=50
bc
任意精度计算器
bc # 进入交互模式,输入 quit 退出
# e.g.
echo "15+5" | bc
echo "10^10" | bc
echo "sqrt(100)" | bc
echo 'scale=2; (2.777 - 1.4744)/1' | bc # scale=2 设小数位,2 代表保留两位:
rlwrap
解决各类 shell 中无法上下左右的问题
apt install rlwrap
rlwrap [Command]
trash-cli
回收站的命令行界面
pip3 install trash-cli
tr
命令行届的翻译
# 转换大小写
echo "abc" | tr a-z A-Z
echo "abc" | tr [:lower:] [:upper:]
# 将空白转换成 TABs
echo "a b" | tr [:space:] '\t'
# 转换括号
echo "{abc}" | tr "{}" "()"
# 删除 -d 指定的字符集
echo "abc" | tr -d 'a'
# 删除数字
echo "123abc123" | tr -d [:digit:]
# 删除连续空白
echo "emmmmmmmmmm no" | tr -s [:space:] ' '
# 删除空行
cat test.txt | tr -s '\n'
# squeeze repeats
echo "abbbbccccbd" | tr -s a-z A-Z
# 删除除了数字之外的内容
echo "my id is 123" | tr -cd [:digit:]
# 将不是 SET1 中的内容,替换为 SET2 中内容
echo 'abc123' | tr -c [:digit:] x
xclip
在 Linux 命令行中复制粘贴
xclip file_name # 将文件的内容复制到剪贴板
hexyl
命令行十六进制查看器
apt install hexyl
hexyl a.png
DeepL
非常好用的翻译软件
yarn global add deepl-translator-cli
deepl translate -t 'DE' 'How do you do?'
translate-shell
wget git.io/trans
chmod +x ./trans
./trans 'Saluton, Mondo!'
anew
cat newthings.txt | anew things.txt
cat newthings.txt | anew things.txt > 1.txt
ranger
linux 文件管理工具 ranger, 具有 Vim 式的操作方式.
apt install ranger && pip install ranger-fm
ranger
# 使用 h,j,k,l 来进行光标的移动, 来穿越在不同的文件夹中
# q 退出
# S 来进行当前光标所在的文件夹中 exit 命令重新回到 ranger 程序当中去
使用 ranger --copy-config=all
将在 ~/.config/ranger
中生成一系列配置文件, 其中 ranger 主要有 4 个配置文件.
- rc.conf 常用于设置选项和绑定快捷键.(最常用)
- scope.sh 常用于设置文件的预览方式.
- rifle.conf 常用于设置使用那个软件来打开文件.
- commands.py python 文件, 增强和改进 ranger 的各种功能.
- https://github.com/dshearer/jobber
- https://github.com/rundeck/rundeck
- https://github.com/shunfei/cronsun
wait-for
监测服务是否可用
$ ./wait-for www.eficode.com:80 -- echo "Eficode site is up"
Eficode site is up