Linux常用命令(适用 CentOS / Ubuntu)

# Linux 常用运维命令手册
> 适用 CentOS / Ubuntu,可直接复制保存为 linux-command.md
> 提示:# 代表注释,实际执行不要复制#后面内容

[TOC]

## 一、目录与文件操作
```bash
pwd                     # 查看当前所在路径
ls                      # 列出目录文件
ls -l                   # 详细信息(权限、大小、时间)
ls -la                  # 显示全部,包含隐藏文件
ls -lh                  # 人性化显示文件大小 KB/MB
ls -lt                  # 按修改时间排序

cd /home                # 进入指定目录
cd ..                   # 返回上一级
cd ~                    # 回到家目录
cd -                    # 回到上一次所在目录

mkdir test              # 创建文件夹
mkdir -p a/b/c          # 递归创建多级目录

rm file.txt             # 删除文件
rm -rf testdir          # 强制递归删除文件夹,谨慎使用!

cp a.txt /tmp/          # 复制文件
cp -r dir1 dir2         # 复制文件夹

mv old.txt new.txt      # 重命名 / 移动文件

find /home -name "*.log"   # 在/home下查找log文件
find . -type f -size +100M # 查找大于100M的文件

二、文件查看、编辑

cat app.log                 # 一次性输出全部文件
more app.log                # 分页查看,空格翻页 q退出
less app.log                # 推荐,查看大日志,上下翻页 q退出

tail app.log                # 查看文件末尾
tail -n 200 app.log         # 查看最后200行
tail -f app.log             # 实时跟踪日志输出
tail -F app.log             # 跟踪日志,文件轮转也可继续监听

head -n 100 app.log         # 查看前100行

grep "error" app.log                # 文件搜索关键词error
grep -i "error" app.log             # 忽略大小写搜索
grep -rn "Exception" /opt/          # 递归目录搜索文本

# 管道组合常用
cat app.log | grep "WARN"
cat app.log | grep "WARN" | wc -l   # 统计匹配行数

三、系统状态、资源

hostname                    # 主机名
uname -a                    # 内核版本信息
cat /etc/os-release         # 查看发行版本

top                         # 实时进程、CPU内存
htop                        # 更友好top(需安装)

free -h                     # 内存使用,人性化显示
df -h                       # 磁盘分区使用率
du -sh *                    # 当前目录各个文件夹大小
du -sh /opt/*               # 查看opt下各目录大小

uptime                      # 系统运行时间、负载
vmstat 1                    # 每秒输出系统状态

四、进程、端口

ps -ef                      # 查看全部进程
ps -ef | grep java          # 过滤java进程

kill 12345                  # 正常结束进程PID
kill -9 12345               # 强制杀死进程

netstat -tulnp              # 查看监听端口
ss -tulnp                   # 替代netstat,速度更快
ss -tulnp | grep 8080       # 查询8080端口占用

五、网络

ping baidu.com

curl www.baidu.com                  # http请求
curl -I www.baidu.com               # 只看响应头
curl -X POST -d '{}' http://127.0.0.1:8080/api

wget https://xxx/file.tar.gz        # 下载文件

ifconfig
ip addr                             # 查看网卡IP

telnet 127.0.0.1 8080               # 端口连通性测试
nc -zv 127.0.0.1 8080

nslookup baidu.com                  # DNS解析

六、压缩解压

# tar.gz
tar -zcvf file.tar.gz dirname/      # 压缩
tar -zxvf file.tar.gz               # 解压到当前目录
tar -zxvf file.tar.gz -C /opt       # 解压到指定目录/opt

# zip
zip -r out.zip folder/
unzip out.zip -d /opt

七、权限 用户

chmod 755 run.sh                # 修改文件权限
chmod +x run.sh                 # 添加可执行权限

chown user:group app.jar        # 修改属主属组
chown -R user:group /opt/app    # 递归修改目录权限

su - root                       # 切换用户
sudo command                    # 管理员权限执行命令

八、服务 systemctl(CentOS7+/Ubuntu)

systemctl status nginx          # 查看服务状态
systemctl start nginx           # 启动
systemctl stop nginx            # 停止
systemctl restart nginx         # 重启
systemctl enable nginx          # 开机自启
systemctl disable nginx         # 关闭开机自启

systemctl list-unit-files       # 查看所有服务开机状态

九、文本处理

wc -l app.log               # 统计文件行数

sed 's/old/new/g' file.txt  # 文本替换
awk '{print $1,$3}' test.txt # 按列输出第1、3列
sort
uniq

十、时间、输出重定向

date                        # 当前系统时间

command > out.log           # 输出覆盖写入文件
command >> out.log          # 输出追加写入文件
command 2> error.log        # 错误输出重定向
command > all.log 2>&1      # 标准输出+错误输出全部写入

# 后台运行程序
nohup java -jar app.jar > run.log 2>&1 &

十一、实用小技巧

history                     # 查看执行过的历史命令
!123                        # 执行history中编号123命令

clear                       # 清屏
exit                        # 退出ssh终端

十二、运维高频组合示例

# 查找大文件
find / -type f -size +500M

# 日志过滤导出
cat app.log | grep "Error" > error.log

# 看端口对应的进程
ss -tulnp | grep 8080
posted @ 2026-08-20 14:29  零伍柒  阅读(1)  评论(0)    收藏  举报