1. Vim操作
1.1 末行模式,删除光标与最后行间的所有数据
:.,$-1d
1.2 复制光标下4行
4yy
1.3 粘贴
p
2. 查看端口号是否占用
2.1 netstat
netstat -anp |grep 22122
2.2 lsof -i:port
查询出东西就证明被占用了,否则没效果,建议用第一种
3. nohup
https://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html
nohup java -jar xxx &
或者指定标准输出
nohup command > xxxnohup.out 2>&1 &
输出被重定向到xxxnohup.out文件中。
4. curl
4.1 get
curl -v "http://localhost:8088/jmp/ping2?id=1&name=ping"
4.2 post
https://blog.csdn.net/m0_37886429/article/details/104399554
4.2.1 非json @RequestBody
$ curl -X POST -d 'name=张三' http://localhost:2000/api/basic
4.2.2 json @RequestBody
curl -H "Content-Type:application/json" -X POST -d '{"id":"1"}' http://192.168.1.66:8088/jmp/changeDetection
5. IO操作
5.1 cp /lib64/{x,y,z} copy多个文件
5.2 ldd
5.3 创建和百度的socket连接
5.4 父子进程
父进程的东西不能被子进程访问!
export环境变量,父子进程都能访问的变量!
5.5 0,1,2 < > |
管道创建了一个子进程执行管道的输入!管道两边都是子进程
# 通过管道读取到test.txt的第八行
head -8 test.txt | tail -1
5.6 sysctl -a
查看系统配置
5.7 pcstat out.txt
文件被缓存的状态
BufferdOutputStream之所以快,是因为减少系统调用;
6、socket
6.1 tcp
6.1.1 监听
6.1.2 查看文件描述符
6.1.3 tcp建立,客户端发送数据,tcpdump抓包
6.1.4 服务端接收
内核接收:
真正程序应用接收:分配给java进程
又的到了accept()后的文件描述符
本端口不接收多余的请求,syn_rece
6.1.5 route
6.1.6 ulimit -a
open files: 查看一个进程可以打开多少个文件描述符
ulimit -SHn 65536(或者更多)
6.1.7 nc 开启一个进程
# 开启一个client连接 ip:port的进程
nc ip port
# 开启一个server进程,监听某个端口号
nc -l ip port
6.2 man 查看linux相关文档
6.2.0 man man 八类文档
2类是系统调用
例如: man 2 socket
6.2.1 man tcp
6.2.2 man 7 ip
6.2.3 man ascii[utf-8, bash, ip]
7 java相关命令
7.1 trace
监控每一个进程的系统调用
# 将Test中的每一个线程输出为poll.out,poll2.out
javac Test.java && trace -ff -o poll java Test -Djava.nio.channels.spi.SelectorProvider=PollSelectorProvider
# 将Test中的每一个线程输出为epoll.out,epoll2.out
javac Test.java && trace -ff -o epoll java Test
8 查看linux用户是否为root
总是认证失败,可能你就没有root这个名字的用户
所以这个dell就是root用户
查看dell是否为root,就是是否能用所有的命令