工作中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

  1. 查看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 端口

posted @ 2020-09-27 09:41  侯小厨  阅读(493)  评论(0编辑  收藏  举报
Fork me on Gitee