Linux 命令通用性

大部分核心命令(ls, cd, cat, grep, find 等)在不同发行版中通用,遵循 POSIX 标准。

差异主要在包管理器:

发行版 包管理器
Red Hat / CentOS / Fedora yum / dnf
Debian / Ubuntu / Mint apt
Arch / Manjaro pacman
openSUSE zypper

常用文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat file             # 显示文件内容
tail -n 10 file # 查看文件末尾 10 行
tail -n 10 file | grep "error" # 结合 grep 过滤

mkdir dir # 创建文件夹
mkdir -p a/b/c # 创建多层级目录
mkdir -v dir # 显示创建详情

rmdir dir # 删除空目录
rm -r dir # 递归删除非空目录
rm -rf dir # 强制删除(慎用!)

touch file # 创建文件
rm file # 删除文件

写入与条件判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 覆盖写入
echo "Hello" > file.txt

# 追加写入
echo "World" >> file.txt

# sudo 只能提升命令本身的权限,不能提升重定向(>)的权限
# 正确做法:
sudo sh -c 'echo "config" > /etc/somefile'

# 文件存在判断
if [ -f "./path/to/file" ]; then
echo "文件存在"
else
echo "文件不存在"
fi

高并发常见调优

JVM 层面

垃圾回收(GC)

  • 高并发下频繁 GC 会导致停顿
  • 调优方向:使用 G1 / ZGC、增大堆内存(-Xms / -Xmx)、减少短生命周期对象

缓存区满

  • 增加缓存区大小
  • 优化缓存策略(如 LRU)

Nginx 层面

1
2
3
worker_processes auto;           # 增加工作进程数
keepalive_timeout 65; # 调整连接超时
proxy_cache_path /path levels=1:2 keys_zone=my_cache:10m; # 开启缓存

系统参数

1
2
3
4
5
6
7
8
9
10
11
12
# 查看当前值
sysctl net.ipv4.tcp_max_syn_backlog
sysctl net.core.somaxconn

# 临时修改(重启失效)
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.core.somaxconn=256

# 永久修改
echo "net.ipv4.tcp_max_syn_backlog = 2048" >> /etc/sysctl.conf
echo "net.core.somaxconn = 256" >> /etc/sysctl.conf
sysctl -p

磁盘空间

1
2
3
4
5
6
7
8
df -h                           # 查看磁盘使用情况

# 治标——清理临时文件
sudo rm -rf /tmp/*

# 清理包管理器缓存
sudo apt-get clean # Debian 系
sudo yum clean all # Red Hat 系