跳到主要内容

谈谈linux常用命令

光标移动技巧​

  • Ctrl+a跳到本行的行首,Ctrl+e则跳到页尾
  • Ctrl+u删除当前光标前面的文字 ctrl+k-删除当前光标后面的文字
  • Ctrl+w 删除当前行, 如果删除错误,使用Ctrl+y进行恢复
  • Ctrl+L进行清屏操作
快捷键含义最简单的记忆方法
Ctrl + A到行首A = Alphabet 的第一个 → 行首
Ctrl + E到行尾E = End(结尾) → 行尾
Ctrl + U删除光标前U = Up(往上拉掉前面)
Ctrl + K删除光标后K = Kill(砍掉后面)
Ctrl + W删除一个单词W = Word(删一个词)
Ctrl + Y恢复上次删除Y = Yank(从剪贴板拉回来)
Ctrl + L清屏L = Look(清屏后看得更清楚)

which 判断命令安装​

  • 安装命令技巧,可通过which命令可以判断,判断命令不存在,才安装命令
bash
which pm2 || npm i -g pm2
which pnpm || npm i -g pnpm

grep 命令 搜索技巧​

  • -i : 忽略大小写
  • -r 或 -Rr:递归搜索,用于目录下所有文件
  • -c: 统计出现的次数
  • -R:递归搜索目录 + 符号链接(软链接)
bash
# 根据域名查找nginx配置文件
grep -R "www.example.com" /etc/nginx/

# 忽略大小写,在file文件中,不区分大小写查询
grep -i "keyword" filename
# 忽略大小写、递归,在src目录中,查询关键字
grep -ir "keyword" ./src
# 统计查询关键字的出现的次数
grep -c "keyword" filename

netstat 端口命令技巧​

netstat 是跨平台(Windows/Linux)的网络状态分析工具

查看端口​

  • window
bash
# 查看所有端口占用
netstat -ano
# 筛选特定端口
netstat -ano | findstr 8080

a => 显示所有连接和侦听端口 (all) n => 以数字形式显示地址和端口号 (number) o => 显示拥有的与每个连接关联的进程 ID (owner)

  • linux
bash
# 查看所有端口占用
netstat -tulnp
# 筛选特定端口
netstat -tulnp | grep 8080
# 简单命令

t => 显示 TCP 连接 u => 显示 UDP 连接 l => 仅显示处于 监听(LISTEN) 状态的端口 n => 以数字形式显示地址和端口 -p => 显示对应的 进程名和 PID

cp命令拷贝技巧​

  • -r:递归复制参数。如果源路径是一个目录,此参数会让 cp 命令递归地复制目录及其所有子文件和子目录。
  • -f:强制覆盖参数。即使目标位置存在同名文件,也会直接覆盖,不会提示确认。

/data/www/vue/dist 复制到 /data/www/project/ 目录下,并覆盖目标目录中已有的文件

bash
cp -rf /data/www/vue/dist /data/www/project/

free 内存命令技巧​

  • 用于查看服务器的内存情况
bash
# Mem: 16384 12000 400 (精确数值分析)
free -m
# Mem: 16G 12G 400M (可直观、可读性更好)
free -h
参数含义最简单的记忆方式
-m以 MB(Megabytes)显示m = MB
-h人类可读(自动选择 KB/MB/GB)h = human-readable

ln 软链接命令技巧​

  • 用于部署构建的时候切换版本,静态资源通过软链接指向真实路径
bash
# 语法
ln -s [源文件] [目标路径]
# 软链接例子
ln -sfn /var/www/html/releases/20251115/dist /var/www/html/current
ln -sfn /app/releases/v3 /app/current
参数作用
ln创建链接
-s创建软链接(symbolic link)
-f强制覆盖旧链接
-n保持链接行为,不跟随目录

s=软 (symbolic(软链接) f=强制 (force(强制) n = not follow(不要跟随原链接)

切换版本部署流程​

  • 1、创建一个新的目录版本
  • 2、把打包构建好的资源,拷贝到新的目录版本中
  • 3、新的目录版本在通过软链接 指向到nginx的web目录中

cicd命令脚本

bash
# 定义变量赋值的命令 date是linux自带的命令,显示系统时间
VERSION=v$(date +%Y%m%d%H%M%S)

mkdir -p /app/releases/$VERSION

# 上传 dist
cp -r dist/* /app/releases/$VERSION/

# 切换软链接
ln -sfn /app/releases/$VERSION /app/current

# 清理旧版本,只保留 5 个
ls -1dt /app/releases/* | tail -n +6 | xargs rm -rf