linux常用命令
查询
查看网络状态
- ifconfig
- ip addr
- netstat
查看进程:ps -ef 或者 ps -aux
- ps -ef|grep tomcat
查看端口进程号:
- lsof -i:15002
- netstat -tunlp | grep 端口号
显示文件系统的磁盘使用情况统计
- df
查看文件夹大小
- du -sh 显示本文件夹使用空间M
- du -sh * 显示本文件夹中所有文件使用空间情况M
查找文件
- find . -name "in*" 找出当前目录下以“in”开头的文件
- find . -name "hello.py" 2> /tmp/tempfile 将没有权限的输出到其他目录下
查看文件内容
- cat 文件名
- cat 文件名 |more 分页显示(空格,向下翻页;回车,向下一行;q,退出)
动态显示当前耗费资源最多进程信息
- top
测试网络连通
- ping www.baidu.com
- ping 10.110.*.*
测试端口连通
- telnet 10.110.*.* 15002
防火墙相关命令
- systemctl status firewalld 查看防火墙状态(是否开启)
- firewall-cmd --state 查看防火墙状态,是否是running
- systemctl start firewalld 开启防火墙
- systemctl stop firewalld 关闭防火墙
- chkconfig iptables off 永久关闭防火墙
- service iptables restart 重启防火墙
- firewall-cmd --list-ports 查看开放的端口号
- firewall-cmd --zone=public --list-ports ##查看已开放的端口
- firewall-cmd --zone=public --add-port=80/tcp --permanent 防火墙开放80端口,--zone #作用域; --add-port=80/tcp #添加端口,格式为:端口/通讯协议; --permanent #永久生效,没有此参数重启后失效;
- firewall-cmd --remove-port=80/tcp --permanent ##永久移除80端口
- firewall-cmd --reload 重启防火墙,使新添加的开放端口生效,然后再次使用命令firewall-cmd --list-ports,查看端口修改是否生效
测试接口是否可用
- curl http://127.0.0.1:端口/test 测试get请求
- curl -H "Content-Type:application/json" -X POST --data "{}" http://127.0.0.1:端口/test 测试post请求
服务以及进程
- vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3498472 315836 3819540 0 0 0 1 2 0 0 0 100 0 r 表示运行队列 b 表示阻塞的进程 swpd 虚拟内存已使用的大小 free 空闲的物理内存的大小 buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存 cache cache直接用来记忆我们打开的文件,给文件做缓冲 si 每秒从磁盘读入虚拟内存的大小 so 每秒虚拟内存写入磁盘的大小 bi 块设备每秒接收的块数量 bo 块设备每秒发送的块数量 in 每秒CPU的中断次数,包括时间中断 cs 每秒上下文切换次数 us 用户CPU时间 sy 系统CPU时间 id 空闲 CPU时间 wt 等待IO CPU时间
新增
创建文件
- touch file1 [file2]
创建目录
- mkdir dir1 [dir2]
修改
编辑文件
- :wq 保存并退出
- :q! 不保存退出
- yy 复制光标所在行
- dd 剪切光标所在行
- p 粘贴
- u 撤销
- ctrl+r 反撤销
- :?关键词 查找关键词,n 上一个 ,N下一个
拷贝文件
- cp index.html index2.html 复制文件到当前目录
- cp -r static static2 复制目录下所有文件
- cp index.html ./dd/aa.html 复制文件到dd目录下
移动目标文件
- mv 目标文件 路径[/new文件名]
压缩文件
- zip -r 新文件名 要压缩的路径
- unzip ./dist.zip 解压dist文件到当前文件夹
- tar -zvcf dist.tar.gz ./dist/ 压缩dist目录
- tar -zvxf ./dist.tar.gz 解压 dist.tar.gz文件
修改文件权限
权限说明: 1:文件类型(l/b/c/d/p/-/s) 2/3/4:文件所有者的 读(r)/写(r)/执行(x) 权限, -表示不具有该权限。 5/6/7:文件所有者所属的组的读/写/执行权限 8/9/10:其他用户的组的读/写/执行权限 11:.表示启用了selinux。空白表示没有开启selinux。
- chmod +x file 给文件添加可执行权限
- chmod -w file 给文件去掉可写权限
- chmod u+x file 给文件的所有者添加可执行权限
- chmod g-w file 给文件的同组去掉可写操作
- chmod u=rwx,g=rx,o=rw file
删除
杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程
- kill -9 线程ID
重启/关机
- reboot
- halt
其他
后台运行nohup
- 用途:不挂断地运行命令。
- 语法:nohup Command [ Arg … ][ & ]
- 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。
nohup
java -jar xxx.jar & 后台运行springboot.jar
nohup
java -jar xxx.jar > catalina.out 2>&1 & 手动指定一个参数来规定日志文件的输出地点,说明:①>日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.log”文件中,即输出内容不打印到屏幕上,而是输出到”日志文件名.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。②2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。
nohup
java -jar xxx.jar >
/dev/null
& 不需要输出日志
nohup
java -jar yourapp.jar --server.port=8888 & 指定端口号启动
nohup
java -jar xxxx.jar >
/dev/null
2>&1 & 在编写java项目时我们自己对日志文件进行了配置,在生产环境上我们不需要输出默认的nohup.out日志,此时我们可以使用此命令启动jar包
重启服务脚本
P_ID=`echo | lsof -i TCP:8016| grep LISTEN | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===xxxService not exists or stop success"
else
echo "=== restart xxxService process pid is:$P_ID"
kill -9 $P_ID
fi
nohup java -jar xxx-0.0.1-SNAPSHOT.jar --spring.profiles.active > log.out 2>&1 &