Linux日常开发常用命令、脚本

1.Linux服务器系统常用命令

启动防火墙: systemctl start firewalld
查询防火墙状态:systemctl status firewalld
停止防火墙: systemctl disable firewalld
禁用防火墙: systemctl stop firewalld
重启防火墙:firewall-cmd --reload
查询防火墙所有的zone:firewall-cmd --list-all-zones
查询防火墙的默认zone:firewall-cmd --get-default-zone
查询开放服务、端口:firewall-cmd --list-all
查询所有开放的端口:firewall-cmd --list-port
添加指定需要开放的端口:firewall-cmd --zone=public --permanent --add-port=80/tcp
关闭某个开放端口:firewall-cmd --zone=public --permanent --remove-port=80tcp 
开放mysql端口:firewall-cmd --add-service=mysql
阻止http端口:firewall-cmd --remove-service=http
查看开放的服务:firewall-cmd --list-services
分析Hash,Vector过滤且取最后20条最新日志: sed -n '/Hash,Vector/p' pdu.log | tail -20f
添加网络路由语法:route add -net ip地址 netmask 子网掩码 gw 网关 dev 网卡接口
添加网络路由案例:route add -net 10.0.99.0 netmask 255.255.255.0 gw 10.0.50.1 dev eth1
服务器抓包语法: tcpdump -i 网卡名 host ip地址 and port 端口-w 保存cap文件
服务器抓包案例: tcpdump -i eth1 host 8.17.0.73 and port 8530 -w a.cap
本地端口转发语法:ssh -L <本地ip>:<本地端口>:<目标ip>:<目标端口> 用户名@<ssh机器IP> -p <ssh机器端口>
本地端口转发案例:ssh -L 127.0.0.1:3377:172.25.242.17:3307 user@134.95.3.133 -p 22
远程端口转发语法:ssh -R <公网ip>:<公网端口>:<目标ip>:<目标端口> 用户名@<公网ssh机器IP> -p <公网ssh机器端口>
远程端口转发案例:ssh -R 8.210.48.140:8080:192.168.1.10:8089 root@8.210.48.140 -p 22
远程端口转发注意事项:
公网服务器防火墙需要开放远程转发的公网端口。 
公网IP建议配置为0.0.0.0(任意地址)ssh -R 0.0.0.0:8080:192.168.1.10:8089 root@8.210.48.140 -p 22
公网服务器执行 vim /etc/ssh/sshd_config 命令打开文件 编辑 GatewayPorts = yes 启用远程端口转发
根据文件名模糊匹配(多级目录)文件:find ./ -name '*.zip'
根据PID(105072)查找路径:/proc/105072/cwd
查找文件内容-单个关键字匹配:grep [-A(后n行)/-B(前n行)/-C(前后n行)] n(数字) '内容'
查找文件内容-单个关键字匹配案例:grep -A 10 'world'
查找文件内容-多个关键字匹配:grep -E 'word1|word2|word3' filename.txt
清空文件内容:truncate -s 0 filename.txt
查看磁盘空间:du -sh *
查找磁盘中最大的n个文件:du -ah ./|sort -rh|head -n 10
重启网络配置:systemctl restart network
路由追踪:traceroute ip  -T -p 端口
实时查询服务器资源信息:top -c
查询进程下线程所占用的资源:ps H -eo pid,tid,%cpu | grep pid
查询进程下线程所占用的资源:top -H -p pid
十六进制打印线程ID:printf "0x%x\n" tid
定位栈资源消耗位置:jstack pid | grep hexTid -A20
批量杀死进程:ps -ef |grep "process_name" |grep -v grep |awk '{print $2}' |xargs kill -9

2.服务器开启远程debug启动脚本

#远程debug启动
nohup java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar netty.jar --spring.profiles.active=dev >> netty.log 2>&1 &

#无日志输出启动
nohup java -jar netty.jar --spring.profiles.active=dev > /dev/null 2>&1 &

#shell脚本启动
echo "================================================================"
echo "                          执行SHELL脚本                         "
echo "                                                                "
jar="server.jar"
pid=`ps -ef | grep $jar | grep -v "grep" | awk '{print $2}'`
kill -9 $pid
if [ $? -ne 0 ]; then
    echo "system.out.print:kill pid $pid failed"
    exit 0
else
    echo "system.out.print:kill pid $pid succeed"
fi
nohup java -jar $jar --spring.profiles.active=prod > /dev/null 2>&1 &
if [ $? -ne 0 ]; then
    echo "system.out.print:启动$jar应用failed"
else
    echo "system.out.print:启动$jar应用succeed"
fi
echo "                                                                "
echo "================================================================"


#===========================将脚本配置成服务======================================
# vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

3.ftp登录命令:

windows环境下登录:文件管理资源的地址栏中输入“ftp://ip:port”,然后根据提示输入账号、密码。
linux环境下登录:ftp ip,然后根据提示输入账号、密码,linux中的ftp命令与基本命令的操作一致。

4. 文件权限:

#设置脚本所属用户及用户组
chwon user:user ./run
#设置脚本执行权限
chmod -R 777 ./run

5.程服务器间文件传输:

#语法-上传
scp local_file remote_username@remote_ip:remote_folder
#示例描述:将本地 scpfile.txt 拷贝到 172.8.8.8 服务器root(用户命名为root,按回车后输入root的密码则完成传输)的家目录
scp scpfile.txt root@172.8.8.8:~

#语法-下载
scp username@ip:remote_folder local_folder
#示例描述:将远程主机 172.8.8.8 的scpRemoteFile.txt文件 拷贝到 ./(当前目录)
scp root@172.8.8.8:~/scpRemoteFile.txt ./

6.远程服务器端口检测:

#测试udp端口是否启动
nc -uzv ip port
#测试tcp端口是否启动
nc -zv 
#测试tcp端口是否启动,telnet仅能测试tcp协议的端口
telnet ip port

7.密文:

32位:AwSAJBAI95r36k+7tQ+lhp9LmJaNQx7y
16位:AwSAJBAI95r36k+7
8位:tQ+lhp9L

子网划分:
十进制IP:172.16.37.65/28
二进制IP:10101100.00010000.00100101.01000001
子网掩码:11111111.11111111.11111111.11110000/28
十进制子网掩码:255.255.255.240
  
4位主机位(32 - 24)
2^4 = 16 - 3 = 13
网段:172.16.37.64
网关:172.16.37.65
广播:172.16.37.79
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值