这些命令包含自己整理的常用代码以及查询到的资料和AI,主要用作词典
命令 | 说明 | 示例 |
---|---|---|
| 查看当前目录 |
|
| 进入目录 |
|
| 返回上一级 |
|
| 查看目录下文件( |
|
| 查看目录下文件 在大部分linux版本中其实是ls -l的简写 |
|
| 创建目录 |
|
| 删除文件/目录 |
|
| 复制文件 |
|
| 移动或重命名 |
|
| 查看文件内容(只读) |
|
| 查看并可以修改文件内容。按i进入编辑模式,按esc退出编辑模式,在编辑模式里输入:后输入q退出编辑、输入w保存编辑、输入wq保存并退出、输入q!不保存退出。不在编辑模式可以输入/关键词来搜索,按n切换下一个;输入gg跳转到文件开头,输入G跳到文件末尾,数字G跳过第N行。 |
|
| 实时查看日志 |
|
| 实时查看日志,但只显示指定数字行数 |
|
| 查看日志最后100行 |
|
| 搜索日志内容 |
|
| 搜索并显示行号 |
|
| 递归搜索目录内所有文件 |
|
命令 | 说明 | 示例 |
---|---|---|
| 查看所有进程 |
|
| 查看带关键词的进程名对应的进程 |
|
| 停止进程 |
|
| 强制杀死 |
|
| 查看使用端口号的进程信息 |
|
分为使用账号有管理员权限和没有管理员权限
有管理员权限时,直接install指令
sudo yum install java-1.8.0-openjdk -y # CentOS
sudo apt install openjdk-8-jdk -y # Ubuntu/Debian
java -version
没有管理员权限时
wget https://download.oracle.com/java/8/latest/jdk-8uXXX-linux-x64.tar.gz # 下载包
mkdir -p ~/jdk #递归创建目录
tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C ~/jdk # 解压包到指定目录
# 然后去编辑 ~/.bashrc 文件 设置环境变量
export JAVA_HOME=~/jdk/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc # 刷新文件
java -version # 验证安装
如果没网或者只能连接内网,那么需要自己上传安装包(通常是tar格式)
同样分为是否有管理员权限的情况,有管理员权限时:
sudo tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/ # 解压到指定目录
sudo ln -s /usr/local/jdk1.8.0_xxx /usr/local/java # 创建软链接(类似windows快捷方式)
# 修改环境变量 可能在/etc/profile文件
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
# 刷新并验证
source /etc/profile
java -version
如果没有管理员权限,跟之前有网没管理员权限差不多,就是要使用ftp之类的上传包:
# 上传包省略
mkdir -p ~/jdk #递归创建目录
tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C ~/jdk # 解压包到指定目录
# 然后去编辑 ~/.bashrc 文件 设置环境变量
export JAVA_HOME=~/jdk/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc # 刷新文件
java -version # 验证安装
java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 &
java -jar myapp.jar
是jar包执行固定语句,如果想在后台运行,则需要在前面加一个nohup
--spring.profiles.active=prod
是启动jar包时的额外设置,这里是指定配置文件,除了这个还有一些常用的:
--server.port=8081 # 设置端口号
--logging.file.name=/home/logs/myapp.log # 修改日志路径
--spring.config.location=/opt/config/application-prod.yml # 指定外部配置文件
# 注意这两个需要放在java -jar的中间 也就是java -Xms512m -Xmx1024m -jar app.jar这样
-Xms512m # 设置jvm初始内存 k对应kb m对应mb g对应gb
-Xmx1024m # 设置jvm最大内存 k对应kb m对应mb g对应gb 初始值(-Xms)建议和最大值(-Xmx)设置成一样,避免运行时动态扩容导致性能抖动。
>app.log
是指定日志输入文件,可以调整路径,如果不输出可以调整为>/dev/null
这个路径是官方指定黑洞
2>&1
是将第2个输出流(错误日志等)归并到第一个里,这样就只会有一个日志,然后会根据前面输入的文件路径输入到那里
&
表示后台运行
后台运行指令示例:
nohup java -jar name.jar > name.log 2>&1 &
nohup java -jar name.jar >/dev/null 2>&1 &
如果启动需要的参数较多,可以编写启动脚本,这里是一个简单的示例:
#!/bin/bash
JAR_NAME="myapp.jar"
LOG_FILE="logs/app.log"
# 检查是否已经启动
PID=$(ps -ef | grep "$JAR_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
echo "服务已运行 (PID=$PID),请先停止。"
exit 1
fi
echo "启动服务..."
nohup java -jar $JAR_NAME --spring.profiles.active=prod > $LOG_FILE 2>&1 &
sleep 3
ps -ef | grep "$JAR_NAME" | grep -v grep
以及对应的停止脚本:
#!/bin/bash
JAR_NAME="myapp.jar"
PID=$(ps -ef | grep "$JAR_NAME" | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then
echo "服务未运行。"
else
kill -9 $PID
echo "服务已停止 (PID=$PID)"
fi
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。