压缩 1 2 3 4 5 6 7 8 9 10 11 tar.gz格式 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName tar.tgz格式 解压: tar zxvf FileName.tar.tgz 压缩: tar zcvf FileName.tar.tgz FileName zip格式 解压:unzip FileName.zip 压缩:zip FileName.zip DirName
curl 1 2 3 4 curl -H "Content-Type: application/json" -XPOST localhost:8080/user \ -d '{"username":"zhangsan_01", "age":18, "timestamp":"168318059133"}'
sdkman 1 2 3 4 5 6 7 8 9 10 11 12 curl -s "https://get.sdkman.io" | bash source "$HOME /.sdkman/bin/sdkman-init.sh" sdk version sdk list java sdk install java 8.0.382-zulu sdk default java 8.0.382-zulu sdk current java sdk use java 8.0.382-zulu java -version
tcpdump 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 tcpdump -Xns0 -i eth1 src 192.27.198.179 and dst 100.130.73.95 and dst port 30007 -c10 tcpdump -Xns0 -i eth1 host 192.27.198.179 and 100.130.73.95 and port 30007 -c10 tcpdump host 192.27.198.179 and \(172.27.198.169 or 10.130.73.95\) and port 30007 -c10 tcpdump ip host 192.27.198.179 and ! 100.130.73.95 tcpdump -Xns0 host 192.27.198.179 -w 179.cap tcpdump -r 179.cap tcpdump -S -nn -vvv -i lo port 6888 -S 打印TCP 数据包的顺序号时, 使用绝对的顺序号, 而不是相对的顺序号 -nn 表示不进行端口到名称的转换 -vvv 表示产生尽可能详细的协议输出 tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET" 前两个字母"GE" 0x4854 为"HTTP" 前两个字母"HT"
::: details tcpdump详细参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ———————————————————————————————— -a #将网络地址和广播地址转变成名字 -A #以ASCII格式打印出所有分组,并将链路层的头最小化 -b #数据链路层上选择协议,包括ip/arp/rarp/ipx都在这一层 -c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump -d #将匹配信息包的代码以人们能够理解的汇编格式输出 -dd #将匹配信息包的代码以c语言程序段的格式输出 -ddd #将匹配信息包的代码以十进制的形式输出 -D #打印系统中所有可以监控的网络接口 -e #在输出行打印出数据链路层的头部信息 -f #将外部的Internet地址以数字的形式打印出来,即不显示主机名 -F #从指定的文件中读取表达式,忽略其他的表达式 -i #指定监听网络接口 -l #使标准输出变为缓冲形式,可以数据导出到文件 -L #列出网络接口已知的数据链路 -n #不把网络地址转换为名字 -N 不输出主机名中的域名部分,例如www.baidu.com只输出www -nn #不进行端口名称的转换 -P #不将网络接口设置为混杂模式 -q #快速输出,即只输出较少的协议信息 -r #从指定的文件中读取数据,一般是-w保存的文件 -w #将捕获到的信息保存到文件中,且不分析和打印在屏幕 -s #从每个组中读取在开始的snaplen个字节,而不是默认的68个字节 -S #将tcp的序列号以绝对值形式输出,而不是相对值 -T #将监听到的包直接解析为指定的类型的报文,常见的类型有rpc(远程过程调用)和snmp(简单网络管理协议) -v #输出稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息 -vv#输出相信的保报文信息 ————————————————————————————————
:::
SCP 1 2 3 4 5 6 7 8 本地复制到远程 scp /home/space/music/1.mp3 server01.com:/home/root/others/music/001.mp3 scp -r /home/space/music/ server01.com:/home/root/others/ 从远程复制到本地 scp root@server01.com:/home/root/others/music /home/space/music/1.mp3 scp -r server01.com:/home/root/others/ /home/space/music/
SSH隧道转发
环境:开发人员电脑IP:192.168.10.100, 研发团队的开发环境服务器IP:192.168.20.200, 提测环境的服务器IP:192.168.30.123
为了防止程序员搞乱测试服务器环境,禁止程序员电脑访问测试服务器; 但是程序员和开发服务器,以及开发服务器与测试服务器网络是联通的。
现在就是要通过研发服务器做跳板,让研发人员连接到测试服务器。
方案一 本地转发 1 2 3 4 5 [root@dev-pc-100 ~]# ssh -L 2222:192.168.30.123:22 -fN 192.168.20.200 [root@dev-pc-100 ~]# ssh 127.0.0.1 -p 2222 [root@test-server-123 ~]#ifconfig
方案二 远程转发 1 2 3 4 5 6 [root@dev-server-200 ~]# ssh -R 2222:192.168.30.123:22 -fN 192.168.10.100 [root@dev-pc-100 ~]# ssh 127.0.0.1 -p 2222 [root@test-server-123 ~]#ifconfig
firewall 1、服务启停 1 2 3 4 5 sudo systemctl start firewalldsudo systemctl enable firewalldsudo systemctl stop firewalldsudo systemctl disable firewalld
2、运行状态 1 2 3 sudo firewall-cmd --statesudo systemctl status firewalld
3、重载配置 1 sudo firewall-cmd --reload
4、获取“区域”信息 (针对给定位置或场景 例如家庭、公共、受信任等)
1 2 3 4 5 6 7 8 9 firewall-cmd --get-default-zone firewall-cmd --get-active-zones firewall-cmd --zone=public --list-all firewall-cmd --list-all-zones
5、规则 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 firewall-cmd --zone=public --add-port=12345/tcp --permanent firewall-cmd --zone=public --remove-port=12345/tcp --permanent firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=12345 firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept' firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=6532' firewall-cmd --zone=public --remove-rich-rule 'rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=6532'
tmux 安装
基本操作 创建会话 1 2 tmux new -s 00 tmux new-window -n 01
后台退出
查看会话
使用会话
杀死会话
会话内切换会话 1 2 tmux switch -t 01 tmux switch -t 02
重命名会话 1 tmux rename-session -t 01 001
窗格操作 进入会话后分割上下窗格
进入会话后分割左右窗格
切换窗格上下左右 1 2 3 4 tmux select-pane -U tmux select-pane -D tmux select-pane -L tmux select-pane -R
移动窗格 1 2 tmux swap-pane -U tmux swap-pane -D
配置
1 2 3 4 5 6 [root@dev ~] cat ~/.tmux.conf setw -g mouse-resize-pane on setw -g mouse-select-pane on setw -g mouse-select-window on setw -g mode-mouse on [root@dev ~] tmux source-file ~/.tmux.conf
快捷键
1 2 3 4 5 6 7 8 9 10 11 12 alias tns='tmux new -s' alias tnw='tmux new-window -n' alias td='tmux detach' alias tls='tmux ls' alias tat='tmux attach -t' alias tkill='tmux kill-session -t' alias ts='tmux switch -t' alias tsw='tmux split-window' alias tsu='tmux select-pane -U' alias tsd='tmux select-pane -D' alias tsl='tmux select-pane -L' alias tsr='tmux select-pane -R'
[参考]