Linux 好用的工具

镜像源站

htop

和top功能一样,但是美观的多...

file

yum install htop

screen

这个工具用来保持回话很棒

语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

选项

-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

常用screen参数

screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
screen -S yourname -X quit -> kill掉这个screen

参考文献

speedtest-cli测试网速

mac

brew install speedtest-cli
speedtest-cli

linux

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
./speedtest-cli

iotop

可以看到每个进程的io情况

file

yum install iotop -y

mytop

MyTop实时监控MySQL

安装

yum -y install mytop

命令参数

$ man mytop

-u / --user <USERNAME>:指定 username,预设是 root
-p / --pass / --password <PASSWORD>:指定password,预设是none
-h / --host <HOSTNAME[:PORT]>:指定 MySQL server的hostname,预设是localhost
-P / --port <PORT>:指定连接 MySQL server的port,预设是3306
-s / --delay <SECONDS>:更新的秒数,预设是5秒
-d / --db / --database <DATABASE>:指定连接的资料库,预设是test
-b / --batch / --batchmode:指定为 batch mode,每次更新不会清除旧的显示结果,会将更新资料显示上最上方,预设是unset
-S / --socket <PATH_TO_SOCKET>:指定使用MySQL socket直接连线,而不使用TCP/IP连线,预设是none(当mytop和MySQL在同一台时才能使用)
--header or -noheader:是否要显示表头,预设是header
--color or --nocolor:是否要使用颜色,预设是color
-i / -idle or -noidle:idle 的thread是否要出现在清单上,预设是idle

命令行运行

 mytop -u{用户名} -p{密码} -d {数据库} -h {ip}

通过配置文件运行

不建议,因为你的数据库密码会暴露

MyTop配置文件在~/.mytop,也可在~/.my.cnf文件中配置用户名和密码。

注意:socket设置和my.cnf里的路径一样,一般MyTop和Mysql在同一台机器。

vim ~/.mytop

user=root
pass=mysql
host=localhost
db=wordpress
delay=5
port=3306
socket=/var/lib/mysql//mysql.sock
batchmode=0
header=1
color=1
idle=1

MyTop快捷键

s:设定更新时间 
p:暂停画面更新
q:离开
u:只看某个使用者的thread
o:反转排列顺序

参数说明

file

  • 第一行显示了主机名称,还有至今MySQL的运行时间(以days hour:minutes:seconds为格式)。
  • 第二、三行的显示了Qps:每秒请求书、Slow:慢查询的数量、Se/In/Up/De(%):读写比例。
  • 第四行的Key Efficiency就是Myisam的键值缓存区使用比例(缓存命中率),Bps:目前网络进出流量。
  • 最下方的区域就是目前链接到数据库的各个线程,你可以按k杀死一个线程,或者按f了解特定线程的信息。

参考文献

axel

一款支持多线程下载的工具

缺点

  • 如果你的资源是有多次重定向的话,他是下载不了的..老老实实wget吧

参数

  • --max-speed=x , -s x 最高速度x
  • --num-connections=x , -n x 连接数x
  • --output=f , -o f 下载为本地文件f
  • --search[=x] , -S [x] 搜索镜像
  • --header=x , -H x 添加头文件字符串x(指定 HTTP header)
  • --user-agent=x , -U x 设置用户代理(指定 HTTP user agent)
  • --no-proxy , -N 不使用代理服务器
  • --quiet , -q 静默模式
  • --verbose ,-v 更多状态信息
  • --alternate , -a Alternate progress indicator
  • --help ,-h 帮助
  • --version ,-V 版本信息

测试

很奇怪的是,我再阿里云上测试.下载速度没有wget快...不科学啊 所以我就在自己的mac上测试了..速度差异还是很明显的

wget
wget http://soft.vpser.net/lnmp/lnmp0.7-full.tar.gz

2018-07-31 00:46:50 (716 KB/s) - 已保存 “lnmp0.7-full.tar.gz” [65688255/65688255])
axel
axel -n 10 -a http://soft.vpser.net/lnmp/lnmp0.7-full.tar.gz

已下载 62.6 兆字节,用时 36 秒。(1737.94 KB/s)

ccat

你是否已经厌倦了cat的没有高亮,那么你可以试一下ccat

file

wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
tar -zxvf linux-amd64-1.1.0.tar.gz
cd linux-amd64-1.1.0
cp ccat /usr/bin
vim ~/.bash_alias
alias cat=/usr/bin/ccat

tig

没错这是git的管理工具,相对于git命令而言,tig在终端的展示效果更优,而且操作更方便。

file

tig参考文档

dry

netdata

这是一个监控

安装

sudo apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config uuid-dev
wget https://github.com/firehol/netdata/releases/download/v1.10.0/netdata-1.10.0.tar.gz
./netdata-installer.sh
systemctl status netdata

使用nginx设置转发和auth_base认证

产考文章

RipGrep搜索工具

产考文章

shell 脚本加密 | shc

有些时候,我们不希望shell中的一些东西暴露出去... 就可以用这个加密了

安装shc

sudo add-apt-repository ppa:neurobin/ppa
sudo apt-get update
sudo apt-get install shc

简单对demo.sh加密

shc -v -r -f demo.sh

生成的文件

注意:加密的过程中会生成两个文件.sh.x 和 .sh.x.c

  • *.sh.x.c 是脚本的源文件,可删除。
  • *.sh.x就是原来脚本的可执行文件,可随意改名,可直接执行。

glances

一个命令行版本的linux服务器性能监测

sudo apt-get install glances

upx

upx是一个可以压缩二进制文件. 我目前主要用在压缩golang的二进制文件

httpie

一个和culr差不多的工具,但是比curl易用,主要是可以美化json

lynis

一个给linux系统做安全评估

cheat.sh

linux名称的使用示例查询网址

➜  ~ curl cheat.sh/cd

#Go to the given directory
cd path/to/directory

#Go to home directory of current user
cd

#Go up to the parent of the current directory
cd ..

#Go to the previously chosen directory
cd -

innotop

centos安装

yum install  innotop

参考文章

ssh-copy-id

他可以自动帮你创建.ssh目录同时帮你上传秘钥

ssh-copy-id -i ~/.ssh/server.pub server@xx.xxx.xx.xx

tldr

一个可以查询命令的工具,他会列出很多示例