工作中linux常用命令与软件!
记录日常工作中处理问题频率使用比较高的常用命令
必装工作软件
1. idea, pycharm, datagrip, AnotherRedisDesktopManager
2. vscode, notepad++, Typore, XMind
3. FinalShell,jmeter
4. PR, AE, C4D, 完美解码, 福昕阅读器
5. snipaste, 搜狗输入法, 360浏览器, 腾讯会议, 有道云
6. jdk, python, maven, gradle, tomcat, git
0 磁盘与内存CPU
df -h: 查询系统各个盘使用率以及大小
du -h: 查看当前目录下全部文件、文件夹的大小
du -h --max-depth=1 * : 指定统计深度(层级)和文件名字, * 是当前目录下所有文件
du -sh: 查询当前目录总大小
du -sh 目录名称: 查询指定目录大小
ll -h: 以KB、MB等为单位进行显示当前目录文件大小(目录不包含子文件大小)
free -mh 查看服务器内存大小
cat /proc/cpuinfo| grep "processor"| wc -l 查询逻辑CPU个数
1 日志
1 vim
全局搜索: /关键字 回车
向下翻页: ctrl-f
向上翻页: ctrl-b
2 less
less test.log
pageDn : 向下翻页
pageUp: 向上翻页
/向下关键字搜索 用 n 向前查找或者 N 向后查找
?关键字向下搜索 用 n 向前查找或者 N 向后查找
g 跳到开头
G 跳到文件结尾
2 docker
1 查看日志
docker logs 服务名 | grep '关键字' -C显示行数
2 查看docker实时日志
docker logs -f 服务名 --tail=100
3 进入容器内部以及安装vim
docker exec -it name /bin/bash
apt-get update && apt-get install -y vim
3 git
1 撤销上次提交
git reset --hard HEAD^
重新提交使用上次的信息描述
git commit --amend --no-edit
2 解决冲突
git stash 隐藏本地修改,冲突时候可以继续拉取
git pull 拉取
git stash pop 拿出本地修改,拉取之后会冲突,一一修改冲突文件,之后再提交,必须全部提交所有文件。否则会丢失代码
3 拉取远程指定分支代码
git pull origin 分支名
4 删除、更新本地无效分支,远程已删除
git fetch -p 删除
git fetch 更新
5 创建并切换分支
git checkout -b panda
推送到远程分支,远程此时可见
git push origin panda
6 .gitignore 不生效,刷新缓存
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
6 生成ssh秘钥
ssh-keygen -t rsa -C "账号"
7 修改git提交信息
git commit --amend
修改文本并保存
git puhs -f
修改前n次注释:
输入:
git rebase -i HEAD~2
最后的数字2指的是显示到倒数第几次 比如这个输入的2就会显示倒数的两次注释(最上面两行)
你想修改哪条注释 就把哪条注释前面的pick换成edit。方法就是上面说的编辑方式:i---编辑,把pick换成edit---Esc---:wq.
然后:(接下来的步骤Terminal会提示)
git commit --amend
修改注释,保存并退出后,输入:
git rebase --continue
如果修改结束,则执行 git push -f
8 修改密码之后
it在修改密码之后,再次的进行git操作之后,会有remote: HTTP Basic: Access denied
fatal: Authentication failed for的报错,解决办法如下:
git config --global user.name “【名字】”
git config --global user.email “【登录用户名】”
执行这两句之后,再次进行远程的git操作以后,就会提示你重新输入用户名和密码
4 scp&ssh
1 发送文件
scp /home/target/service.jar user@192.168.1.19:/home/api/local-manage
2 ssh登录
ssh user@192.168.1.10 需要输入密码
5redis
1redis正则删除缓存
./redis-cli -a 密码 keys "common_cache_dic*" | xargs redis-cli -a 密码 del
6 springcloud
1eureka下线服务
curl -X PUT http://192.168.1.10:10100/eureka/apps/服务名/对应IP:服务名:端口/status?value=OUT_OF_SERVICE UP是上线
jar包一般启动参数: -server -Xms512m -Xmx1024m -Xmn384m --spring.profiles.active=dev --server.port=8080
7 linux服务部署
1后台启动jar包
nohup java -jar -Xms128M -Xmx256M know.jar > debug.log 2>&1 &
2 根据端口查找进程
netstat -nlp|grep :8080
3 查看进程启动时间和占用内存等:
ps axo pid,ppid,comm,pmem,lstart | grep 39230
axo:选项
pid:进程id
comm:命令
pmen: 进程占用的内存
lstart: 进程启动时间
以上选项,可以根据需要进行选择。
4 根据名称查询进程
ps -aux/ef | grep 服务名称
5 前端项目后台启动
nohup npm run serve>/dev/null 2>&1
6 输入日志启动
nohup npm run serve > my.log 2>my.log
7 服务器查询公网ip
curl ip.sb
8 idea破解码
http://vrg123.com/ 密码: 扫描页面公众号获取,一遍无法激活,重复输入两遍即可
9 curl命令行发送请求测试
vscode安装REST Client插件,新建 .http的文件,即可写以下命令
1 GET
### GET请求
curl -X GET http://id?keyword=param -H "Content-Type: application/json" -H "accept: */*"
2 POST
### POST请求 -H添加header -d body参数
curl -X POST http://ip/order -H "Content-Type: application/json" -H "accept: */*"
-d '{
"id":100,
"age":"23",
}'
10 mysql
登录mysql:
进入MySQL目录:
/usr/local/mysql/bin/mysql -uUser -pPassword -A
导入数据,使用source命令
show databases;
切换数据库
use scheamName;
导入数据
source /xxxx.sql;
导出数据
mysqldump -uUser -pPassword --databases scheamName --tables table1 table2 table3 >/tmp/xxxx.sql
查看进程
show processlist 显示进程号
杀死某个进程
kill 进程号
查询用户权限
select * from mysql.user where user='username'\G;
查看当前用户的权限:
show grants;
查看特定用户的权限:
show grants for root@localhost
赋予用户MyDB的所有表的任意ip登录操作的增删改查权限
grant select,insert,update,delete on MyDB.* to 用户名@'%' identified by '密码';
回收权限
REVOKE all ON MyDB.* FROM 用户名@'%';
11 nginx
指定配置文件启动
nginx -c home/config/nginx.conf
停止/重启
nginx -s stop/reload
12 tar
打包成tar.gz格式压缩包,必须加z,否则会解压失败
tar -zcvf renwolesshel.tar.gz /renwolesshel
解压tar.gz格式压缩包
tar zxvf renwolesshel.tar.gz
13 crontab服务器定时器
crontab -l 列出有几个定时任务
crontab -e 直接编辑定时任务文件
在后面加一行,即可,时间表达式后面跟执行的脚本
14 jks等证书
查看证书信息:keytool -v -list -keystore name.jks
查看pksc12证书信息: keytool -list -v -keystore name.server.pksc12 -storepass 密码 -storetype PKCS12
15 抓包和远程服务器搭建
抓包命令:tcpdump -i eth0 -nn tcp port 56201 -w new1.cap
使用wireshark打开分析
远程建立http服务:
建立:python -m SimpleHTTPServer 8000
后台建立:nohup python -m SimpleHTTPServer 8888 &
获取:wget http://127.0.0.1:8000/xxx
16 创建软连接
ln -s 需要建立的具体目录 软连接目录名称
17 垃圾收集器
CMS
- 查看CMS老年代垃圾回收频率,less gc.log.* | grep "CMS Initial Mark"
18 idea 远程debug jar包
远程服务器启动:java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5991 -jar
其中5991为debug的端口
idea设置:
新增远程,即可在代码中远程debug
19 查询某个端口占用情况
netstat -anp | grep 端口