常用命令(包括但不限于linux)

2020-04-07

端口检查

# 查看当前所有tcp端口
netstat -ntlp

# 查看所有80端口使用情况
netstat -ntulp | grep 80

# 查看所有3306端口使用情况
netstat -ntulp | grep 3306

# 查看8080端口占用情况
lsof -i:8080 

# 检查端口连通情况, 这里可以用其他 ip
telnet 127.0.0.1 3306

# 检查端口连通情况, `mac` 下替代品
tcping ip port

nginx

# 验证nginx配置文件是否正确
nginx -tags

# 重启nginx
nginx -s reload

权限

# 把当前目录下所有文件的所有者改成 user
chown -R user .

查找文件

# 在文件夹 `/` 下查找名为 logs 的文件(夹)
find / -name logs

查看文件内容

# 输出 filename 文件最后 10 行
tail filename

# 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新
tail -f filename

#显示文件的尾部 n 行内容
tail -n 5 filename

文件处理

# 指定行数来切割
split -l 300 log.txt newfile

# 指定文件大小来切割
split -b 500m log.txt newfile

# 把分割的文件重新组合起来
cat newfile* > orifile

查看磁盘状态

# 查看文件系统的磁盘使用情况统计
df -h

# 查看当前目录下所有目录的大小
du -hs * 

mysql

# 连接具体 ip 端口的数据库
mysql -u root -p -h ${IP} -P ${PORT}

# 进入 mysql shell 列出所有所有正在运行的线程
show full processlist;

# 同步数据库
mysqldump --skip-lock-table -h${ip} -P${port} -u${username} -p${password} --where="${where}" ${db} ${table} > ${db}.sql

mysql -h{ip} -u${username} -p${password} ${db} < ${db}.sql

# 把数据导出
echo 'select * from db.table' | mysql -h${IP} -P${port} -u${username} -p${password} > data.txt

网络联通检测

# ping
ping IP

ping URL

# traceroute
# 该命令获取当前主机到目标主机所经过的路由(网关)
# 该命令通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间
traceroute 192.168.1.131

traceroute www.baidu.com

# mtr
# 网络连通性判断工具,它结合了ping, traceroute,nslookup 的相关特性
mtr 192.168.1.131

traceroute www.baidu.com

# tracepath
# 用来追踪并显示报文到达目的主机所经过的路由信息
tracepath www.baidu.com

# windows tracert
tracert 192.168.1.131

grep

grep 命令用于查找文件里符合条件的字符串。

# 在当前目录中,查找所有文件中包含 error 字符串的文件
grep error *