Linux常用命令(CentOS7)
&和&&, |和|| ,&> 与 >
java -jar test.jar & # & 表示任务在后台执行
unzip test.zip && mv test test1 # && 表示前一条命令执行成功时,才执行后一条命令
ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }' # | 表示管道,上一条命令的输出,作为下一条命令参数(输入)
unzip test.zip || rm -rf test # || 表示上一条命令执行失败后,才执行下一条命令
java -jar test.jar > log.txt & # >符号是指:将正常信息重定向
java -jar test.jar &> errlog.txt & # &>可以将错误信息或者普通信息都重定向输出
firewall
- firewall的基本使用
systemctl start firewalld #启动
systemctl status firewalld #查看状态
systemctl stop firewalld #停止运行
- 配置firewall
firewall-cmd --reload #更新防火墙规则
firewall-cmd --list-all #查看防火墙所有规则
firewall-cmd --zone=public --list-ports #查看所有打开的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久开启80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent #永远关闭80端口
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=3000:toaddr=192.168.1.112 #转发端口80数据至另一个ip的3000端口
firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=3000:toaddr=192.168.1.112 #移除端口80转发至3000端口的规则
网络
netstat -tunlp|grep 端口号 #查看端口占用
netstat -lnpt #查看监听的端口
ps -ef | grep php #查看php进程
vi /etc/resolv.conf #dns配置 格式:nameserver ${ip}
vi /etc/hosts #host配置 格式:ip 域名(多个空格隔开)
netstat -ntu | awk '{print $5}' | sort | uniq -c | sort -n #查看连接服务器TCP、UDP的每个IP的连接数
参数解释:
- netstat 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -t (tcp) 仅显示tcp相关选项。
- -u (udp) 仅显示udp相关选项。
- awk 是一种处理文本文件的语言,是一个强大的文本分析工具。
- ‘{print $5}’ 每行按空格或TAB分割,输出文本中的第5项
- uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
- -c或–count 在每列旁边显示该行重复出现的次数。
- sort 用于将文本文件内容加以排序。(此处第一个sort是对ip进行排序,第二个是对次数排序)
- -n 依照数值的大小排序。
apache
service httpd start #启动
service httpd restart #重新启动
service httpd stop #停止服务
service httpd status #查看服务状态
mysql
systemctl restart mysqld (或 service mysql restart) # 重启mysql
mysqldump -uroot -p***** -RBE fleet > /data/fleet.sql # 备份mysql fleet库
mysql -uroot -p***** < /data/fleet.sql # 恢复mysql库
备份参数介绍:
- -B 导出多个数据库的结构以及数据
- -R 导出存储过程和函数
- -E 导出事件
加-B参数的好处:
加上-B参数后,导出的数据文件中已存在创建库和使用库的语句,不需要手动在原库是创建库的操作,在恢复过程中不需要手动建库,可以直接还原恢复。
加-B参数的缺点:
如果已存在库,则会删除原库。
golang
# 以下操作,都交叉编译不支持 CGO 所以要禁用它
# windows下使用go编译器编译64位linux可执行程序
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build -o xx路径xxx
# windows下使用go编译器编译32位linux可执行程序
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=386 go build -o xx路径xxx
# windows下使用go编译器编译64位windows可执行程序
SET CGO_ENABLED=0 SET GOOS=windows SET GOARCH=amd64 go build -o xx路径xxx
# windows下使用go编译器编译32位windows可执行程序
SET CGO_ENABLED=0 SET GOOS=windows SET GOARCH=386 go build xx路径xxx
systemctl
systemctl start xxx.service #启动服务
systemctl stop xxx.service #关闭服务
systemctl restart xxx.service #重启服务
systemctl status xxx.service #显示服务的状态
systemctl enable xxx.service #在开机时启用服务
systemctl disable xxx.service #在开机时禁用服务
systemctl is-enabled xxx.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列表
磁盘空间
df -h # 查看磁盘空间
find path -type f -size +200M | xargs ls -lh | awk '{print $5,$9}' # 查找path目录下大于200m的文件路径