1、基本命令
查看系统版本 : uname -r
重启pgsql : systemctl restart postgresql-自己的版本号.service
查看postgres进程 : ps aux | grep postgres
查看系统信息(根目录下执行) : cat /etc/os-release
实时查看文件全部内容:less /logs/xxx.log
退出实时查看:按q键
实时查看某文件后多少行:tail -f text.log
、查看一百行:tail -100 text.log
查看 java进程 : ps -ef|grep java
查看 nginx进程 : ps -ef|grep nginx 或者 查看文件./logs/nginx.pid
里面有记录进程号
查看某端口进程(不同linux系统使用的不同):netstat -tunlp |grep 8300
、 netstat -ano|findstr 12001
Windows查看某端口进程: netstat -ano|findstr 12001
windows查看某进程具体是什么程序:tasklist|findstr 19999
liunx关闭java进程 : kill -9 进程号
liunx关闭nginx进程 : kill -9 进程号 或者 kill -TERM 进程号(直接关闭服务,不论当前是否有请求未处理完) 或者 kill -QUIT 进程号(不再接受新的请求,处理完已有请求后优雅的关闭服务),补充一点,如果不想单独去查询nginx的进程号,直接使用命令,可以用飘号``来执行命令脚本,将执行的结果作为动态参数,比如
Linux重新加载配置文件(在不重启服务的情况下重新读取配置nginx.conf):kill -HUP 进程号
其中各参数的详细描述如下图:
查看nginx的配置文件nginx.conf中是否有语法错误./nginx -t
或者使用./nginx -T
它与-t
的区别就是会将所有信息显示出来
指定nginx配置文件启动,带上-c
参数:./nginx -c /usr/local/abc.conf
启动nginx时设置全局变量,带上参数-g
:./nginx -g "pid logs/abd.pid"
Windows关闭nginx:taskkill /f /t /im nginx.exe
windows查看某端口进程:netstat -ano|findstr 12001
或者netstat -ano | find "8000"
windows关闭进程:taskkill /pid 9352 /f
开启nginx进程 : ./nginx
停止nginx服务: (在nginx的 sbin目录下) ./nginx -s stop
重启nginx服务:nginx -s reload
启动jar包 : nohup java -jar shareniu.jar >temp.txt &
启动jar包并指定配置文件:nohup java -jar system.jar -Xmx1024m -Xms4096m --spring.config.location=./application.yml >temp.log&
查看内存使用:free -h或者(free -m、free -g)
查看磁盘使用情况:df -h(df:disc free)
磁盘挂载:mount /dev/vdb /data
修改root用户密码:sudo passwd root
添加用户:sudo adduser frq
切换用户:su root
修改文件读写权限:chmod,具体看菜鸟教程
假如我们要找一个nginx配置文件nginx.conf,那么我们可以通过find命令
查找:find . -name ‘nginx.conf’
创建一个叫test的文件夹:mkdir test
创建test1目录同时在test1下创建test2的文件夹:mkdir -p test1/test2
创建 一个文件,例如a.txt:touch test/a.txt
:wq保存并退出。
:!q不保存退出。
将文件内容编上行号::set number
linux输入法默认为为英文大写,按CapsLock+shift
linux查看JDK路径:which java
查看防火墙状态:systemctl status firewalld(出现Active: active (running)切高亮显示则表示是启动状态。出现 Active: inactive (dead)灰色表示停止,看单词也行。)
关闭防火墙:systemctl stop firewalld
压缩某个文件夹(压缩当前目录下的cache到/usr/mongo/backup/cache.tar.gz): tar -zcvf /usr/mongo/backup/cache.tar.gz /cache
在某个文件内搜索关键字:首先vim xxx.txt
,然后 /关键字
向下搜索,?关键字
向上搜索
启动tomcat:
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
命令行向上向下翻页:shift+pg up / shift pg dn
打开指定端口firewall-cmd --zone=public --add-port=8080/tcp --permanent
或者 nc -lp 23 &
(打开23端口,即telnet)netstat -an | grep 23
(查看是否打开23端口)
查看linux服务器最大进程数,根目录下执行命令cat /proc/sys/kernel/pid_max
查看linux服务器最大线程数,根目录下执行命令cat /proc/sys/kernel/threads-max
查看linux服务器内核,比如x86_64、x64、AMD64基本上是同一个东西,arm等信息:file /lib/systemd/systemd
或者arch
复制文件:cp xxx.zip xxx-副本.zip
复制文件夹:cp -r xxx/ xxx-副本/
编辑文件:vi test.txt ,进去之后按 i 进入编辑模式,在编辑模式里面的操作命令如下
vi操作:按esc后进行下面操作:
1.跳到文本的最后一行:按“G”,即“shift+g”、
2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。、
3.跳到第一行的第一个字符:先按两次“g”,、
4.跳转到当前行的第一个字符:在当前行按“0”。、
5.vi加密。进入vi,输入":" + “X” 之后就提示你输入两次密码。、
6.文件重新载入 :e!、
7.单行复制 将光标移到复制行 按 'yy’进行复制、
8.多行复制 将光标移到复制首行 按 'nyy’进行复制 n=1.2.3.4。。。。。、
9.粘贴 将光标移到粘贴行 按 'p’进行粘贴、10.查找 /pattern Enter
pm2 start app.js --name my-api # 命名进程
pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
pm2 start app.js -i 3 # 启动3个进程
pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster
pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)
pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
pm2 stop serverone # 停止 serverone 进程
pm2 start app.json # 启动进程, 在 app.json里设置选项
pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数
pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件,你也可以执行用其他语言编写的app ( fork 模式):
pm2 start my-bash-script.sh -x --interpreter bash
pm2 start my-python-script.py -x --interpreter python
pm2 list # 显示所有进程状态
pm2 monit # 监视所有进程
pm2 logs # 显示所有进程日志
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 startup # 产生 init 脚本 保持进程活着
pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete 0 # 杀死指定的进程
pm2 delete all # 杀死全部进程
#jar包启动的json
{
"apps" : {
"name":"waterlog_xc",
"script":"java",
"args":[
"-jar",
"-Xms128m",
"-Xmx512m",
"system.jar",
"--spring.config.location=application.yml"
],
"error_file":"./log/err.log",
"out_file":"./log/out.log",
"merge_logs":true,
"log_date_format":"YYYY/MM/DD HH:mm:ss",
"min_uptime": "60s",
"max_restarts": 30,
"autorestart": true,
"restart_delay": "60"
}
}
1、进入bin目录 输入./mongo #进入mongodb
2、进入后输入show dbs; #查看db的所有库
3、进入后输入db.getMongo(); #查看连接信息
4、新开窗口,进入bin目录下,输入命令/usr/mongo/bin/mongodump -h 127.0.0.1:27017 -d cache -o /usr/mongo/backup
#cache是库名称,第二步的其中一个,-h后面是连接信息,第三步获取的
#/usr/mongo/bin/mongodump使用绝对路径,否则会出现-bash: mongodump: command not found
5、如果出现-bash: /usr/mongo/bin/mongodump: Permission denie,cd命令返回bin的上一层,输入chmod -R 777 bin,赋予最高权限
6、压缩备份文件tar -zcvf /usr/mongo/backup/cache.tar.gz cache,拷贝到需要备份的服务器
7、输入还原命令:mongorestore -h 127.0.0.1:27017 -d cache C:\MongoDB\Server\4.2\backup\cache
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
tar 打包排除某些文件夹:
①tar -zcvf scheduler_20180508.tar.gz --exclude=scheduler/lib.bk --exclude=scheduler/logs scheduler
②tar -zcvf BenchmarkSQL.tar.gz --exclude=benchmarksql-5.0/logs benchmarksql-5.0
打包、分割命令:
①tar -cvf - test.pdf | split -b 1m - a.tar
②tar cvzf - ./dir | split -d -b 10m - dirname.tar.gz
③tar cvf - /home/桌面/迁移 | split -d -b 2048m - AK.tar.gz
分割打包后的解压、合并:
①cat AS.tar.gz* | tar -zxv
②cat AK.tar.gz.* | tar -zxv
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip -q -r FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.xz
解压:xz -d node-xxxx.tar.xz
查看node可用版本
nvm list available
下载某个版本nvm install 10.10.1
查看已下载安装的版本nvm list
使用已下载的某个版本nvm use 15.14.0
删除已下载的版本nvm uninstall 16.12.1
xz -d node-v12.13.0-linux-x64.tar.xz
、tar -xvf node-v12.13.0-linux-x64.tar
vi /etc/profile
#打开文件,并进入编辑模式
在文件末尾添加:
#node
NODE_HOME=/software/node #这里用你的解压目录
PATH=$PATH:$NODE_HOME/bin
NODE_PATH=$NODE_HOME/lib/node_modules
export PATH NODE_HOME NODE_PATH
##输入:wq退出编辑模式
source /etc/profile
④创建软链接:
ln -s /software/node/bin/node /usr/local/bin/node
ln -s /software/node/bin/npm /usr/local/bin/npm
查看 pyenv windows 支持的 python 版本列表:pyenv install -l
要安装 python 版本: pyenv install 3.5.2
要将 python 版本设置为全局版本:pyenv global 3.5.2
将 python 版本设置为本地版本:pyenv local 3.5.2(仅在此文件夹下使用这个版本)
要卸载 python 版本:pyenv uninstall 3.5.2
要查看此系统上安装的所有 python 版本:pyenv versions
2、数据库相关基本命令
查看 mysql启动状态 : service mysql status
开启mysql服务:service mysql start
进入本机mysql: mysql -uroot -p
进入192.168.140.127的mysql: mysql -uroot -p123456 -h 192.168.140.127 -P 3306(注释:123456是127的mysql密码其中p是小写,端口号3306前的P是大写的)
进入本机mycat:(1)维护人员用的 mysql -uEric -p123456 -P9066 -h192.168.140.127 (2)开发人员用的 mysql -uEric -p123456 -h192.168.140.127 -P8066
查询所有的库: show databases;
进入数据库“student”是库名: use student;
查询所有的表: show tables;
查询表,进行增删改查“class”是表: select * from class;
Linux配置JDK
export JAVA_HOME=/usr/local/ jdk1.8.0_181(注意此文件名与你的要一样)
export JRE_HOME=${JAVA_HOME}
export CLASSPATH=.:${JAVA_PATH}/lib:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
先按Esc然后输入:wq 按回车 保存退出
加完配置生效命令 source /etc/profile
输入java -version查看版本信息
3 linux调优相关命令
4、docker的使用:docker部署springboot项目
5、vue项目部署