linux常用命令总结使用阿里服务器部署项目的

一、linux

  • 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 8300netstat -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 进程号
      其中各参数的详细描述如下图:
      linux常用命令总结使用阿里服务器部署项目的_第1张图片

    • 查看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

linux常用命令总结使用阿里服务器部署项目的_第2张图片

  • 1-2:pm2的相关命令
 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-3:MongoDB备份与还原
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
  • 1.4 解压相关命令

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

  • 1-5:node版本管理工具nvm的相关命令

查看node可用版本 nvm list available
下载某个版本 nvm install 10.10.1
查看已下载安装的版本 nvm list
使用已下载的某个版本 nvm use 15.14.0
删除已下载的版本 nvm uninstall 16.12.1

  • linux安装node
    ①下载:https://cdn.npmmirror.com/binaries/node/v18.18.0/node-v18.18.0-linux-x64.tar.xz
    ②解压: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
  • 1-6:python版本管理工具 pyenv的相关命令

查看 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

添加环境变量 输入vi /etc/profile 进入
linux常用命令总结使用阿里服务器部署项目的_第3张图片
按a或者i进入编辑模式 出现INSERT
输入

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 按回车 保存退出
linux常用命令总结使用阿里服务器部署项目的_第4张图片
加完配置生效命令 source /etc/profile
输入java -version查看版本信息
在这里插入图片描述

  • 3 linux调优相关命令

    • 1、整机:top
      linux常用命令总结使用阿里服务器部署项目的_第5张图片
      其中重点关注:cpu、MEM(memory内存)、id(idle空闲率)、load average(如上图:分别表示系统一分钟五分钟十五分钟的平均负载[1.25+0.77+0.35]/3>60%就说明系统负担重)

    • 补充:查看整机性能低配版命令uptime
      在这里插入图片描述

    • 2、cpu:vmstat

      • (1)每隔两秒查询一次cpu使用情况,共查三次:vmstat -n 2 3linux常用命令总结使用阿里服务器部署项目的_第6张图片
      • (2)查看所有cpu核信息,每隔2秒查询一次:mapstat -P -All 2
      • (3)每个进程使用cpu的用量分解信息(两步):
        • 1)查看进程编号:ps -ef|grep java 或者 ps -ef | grep java | grep -v grep | awk '{print $2}'
        • 2)根据进程号分析此进程cpu使用情况:pidstat -u 1 -p 进程编号linux常用命令总结使用阿里服务器部署项目的_第7张图片
    • 3、内存:free

      • (1)应用程序可用内存
        • 1)单位字节:free
        • 2)单位g:free -g
        • 3)单位兆:free -m
          linux常用命令总结使用阿里服务器部署项目的_第8张图片
      • (2)内存查看额外:pidstat -p 进程号 -r 采样间隔秒数linux常用命令总结使用阿里服务器部署项目的_第9张图片
    • 4、硬盘:df

      • (1)查看磁盘剩余空间:df -h linux常用命令总结使用阿里服务器部署项目的_第10张图片
    • 5、磁盘IO:iostat

      • (1)磁盘性能评估:iostat -xdk 2 3 linux常用命令总结使用阿里服务器部署项目的_第11张图片

      • (2)磁盘查看额外:pidstat -d 采样间隔秒数 -p 进程号 linux常用命令总结使用阿里服务器部署项目的_第12张图片

    • 6、网络IO:ifstat

      • (1)自己装的虚拟机默认是没有ifstat的(阿里云有),需要先下载才能用 linux常用命令总结使用阿里服务器部署项目的_第13张图片
      • (2)执行命令每秒查看一次:ifstat 1
        linux常用命令总结使用阿里服务器部署项目的_第14张图片
  • 4、docker的使用:docker部署springboot项目

  • 5、vue项目部署

二、windows

  • 1、基本命令
    • 查看端口号为12001的进程号:netstat -ano|findstr 12001
    • 关闭上面的进程号:taskkill /pid 9352 /f

三、idea打jar包

linux常用命令总结使用阿里服务器部署项目的_第15张图片

你可能感兴趣的:(虚拟机,linux,nginx,tomcat)