Linux 实战从基础命令到 Shell 脚本自动化

Linux 实战技术博客:从基础命令到 Shell 脚本自动化

Linux 作为服务器领域的霸主,是运维、开发、测试人员必备技能。本文从零开始,覆盖常用命令、文件操作、权限管理、进程管理、日志排查、Shell 脚本自动化 六大核心模块,全是可直接运行的代码案例,新手也能快速上手,学完即可应对日常工作 90% 场景。


一、Linux 基础必备命令(高频使用)

1.1 系统信息查询

bash 复制代码
# 查看系统版本
cat /etc/os-release
hostnamectl

# 查看内核版本
uname -a

# 查看 CPU 信息
lscpu
cat /proc/cpuinfo | grep "model name"

# 查看内存使用
free -h
top -b -n 1 | grep Mem

# 查看磁盘空间
df -h
# 查看文件夹大小
du -sh /home

1.2 目录与文件导航

bash 复制代码
# 进入目录
cd /home

# 返回上一级
cd ..

# 查看当前目录
pwd

# 列出文件(详细+隐藏)
ls -al

# 创建文件夹
mkdir -p test/demo1

# 删除空目录
rmdir test

二、文件操作实战(增删改查)

2.1 文件创建/删除/复制/移动

bash 复制代码
# 创建空文件
touch test.txt

# 复制文件
cp test.txt test.bak.txt

# 移动/重命名
mv test.bak.txt test2.txt

# 删除文件(强制删除)
rm -f test2.txt

# 递归删除文件夹
rm -rf test/

2.2 文件内容查看

bash 复制代码
# 查看全部内容
cat test.txt

# 分页查看
less test.txt

# 查看前 10 行
head -10 test.txt

# 查看最后 20 行(常用看日志)
tail -20 test.txt

# 实时刷新日志
tail -f /var/log/messages

2.3 文件内容搜索(grep 神器)

bash 复制代码
# 在文件中搜索关键词
grep "error" test.txt

# 忽略大小写
grep -i "error" test.txt

# 显示行号
grep -n "error" test.txt

# 递归搜索目录下所有文件
grep -r "root" /etc/

三、权限管理(Linux 核心机制)

3.1 查看权限

bash 复制代码
ls -l test.txt

输出示例:

复制代码
-rw-r--r-- 1 root root 12 Mar 9 10:00 test.txt
  • rw-r--r--:所有者/组/其他用户权限
  • root root:所属用户、所属组

3.2 修改权限(chmod)

bash 复制代码
# 给文件所有者添加执行权限
chmod u+x test.txt

# 给所有用户读、写、执行权限(慎用)
chmod 777 test.txt

# 常用权限:脚本可执行
chmod +x run.sh

3.3 修改所有者(chown)

bash 复制代码
# 将文件归属改为 user1 用户
chown user1 test.txt

# 递归修改目录归属
chown -R user1:user1 /home/user1

四、进程与服务管理

4.1 查看进程

bash 复制代码
# 查看所有进程
ps -ef

# 过滤进程
ps -ef | grep nginx

# 动态查看进程(任务管理器)
top

4.2 杀死进程

bash 复制代码
# 正常杀死
kill 12345

# 强制杀死
kill -9 12345

# 杀死所有 nginx 进程
pkill -9 nginx

4.3 系统服务管理(systemd)

bash 复制代码
# 启动 nginx
systemctl start nginx

# 停止 nginx
systemctl stop nginx

# 重启
systemctl restart nginx

# 设置开机自启
systemctl enable nginx

# 查看服务状态
systemctl status nginx

五、网络与端口管理

5.1 查看端口占用

bash 复制代码
# 查看所有端口
netstat -tuln

# 查看 80 端口
netstat -tuln | grep 80

# 新式命令
ss -tuln | grep 80

5.2 测试网络

bash 复制代码
# ping 测试
ping www.baidu.com

# 查看路由
traceroute www.baidu.com

# 下载文件
wget https://www.baidu.com/index.html

# 端口连通性测试
telnet 192.168.1.100 22

六、Shell 脚本自动化(超多实战案例)

6.1 第一个脚本:Hello World

bash 复制代码
#!/bin/bash
echo "Hello Linux Shell!"

运行:

bash 复制代码
chmod +x hello.sh
./hello.sh

6.2 自动备份脚本

bash 复制代码
#!/bin/bash
# 备份 /home 目录到 /backup
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup"
SOURCE="/home"

# 创建备份目录
mkdir -p $BACKUP_DIR

# 打包压缩
tar -zcvf $BACKUP_DIR/home_$DATE.tar.gz $SOURCE

# 输出日志
echo "备份完成:$BACKUP_DIR/home_$DATE.tar.gz"

6.3 监控磁盘使用率脚本

bash 复制代码
#!/bin/bash
# 获取磁盘使用率
USE=$(df -h | grep /dev/vda1 | awk '{print $5}' | sed 's/%//g')

# 判断是否超过阈值 80%
if [ $USE -gt 80 ]; then
    echo "磁盘空间不足!当前使用率:$USE%"
else
    echo "磁盘正常:$USE%"
fi

6.4 自动清理日志脚本

bash 复制代码
#!/bin/bash
# 清理 7 天前的日志
find /var/log -name "*.log" -mtime +7 -delete
echo "旧日志清理完成"

6.5 一键部署项目脚本

bash 复制代码
#!/bin/bash
echo "停止旧服务..."
pkill -9 java

echo "备份旧包..."
cp app.jar app.jar.bak

echo "启动新服务..."
nohup java -jar app.jar > app.log 2>&1 &

echo "启动成功!"
tail -20 app.log

七、Linux 工作常用神器

7.1 查找文件

bash 复制代码
# 全局查找 nginx 文件
find / -name "nginx"

# 查找大于 100M 的文件
find / -size +100M

7.2 解压缩

bash 复制代码
# 解压 tar.gz
tar -zxvf file.tar.gz

# 压缩
tar -zcvf test.tar.gz test/

7.3 软链接(快捷方式)

bash 复制代码
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

八、总结

本文覆盖 Linux 命令 + 文件操作 + 权限 + 进程 + 网络 + Shell 脚本自动化 ,所有代码可直接复制运行,适合:

  • 运维人员日常工作
  • 后端开发部署项目
  • 测试人员环境操作
  • 学生学习 Linux 实战

Linux 核心就是多敲命令、多写脚本,坚持练习一周就能熟练掌握。


相关推荐
十年编程老舅2 小时前
Linux GDB 调试超详细教程:入门 + 实战
linux·c++·gdb
醇氧2 小时前
【OpenClaw】常见命令
linux·openclaw
金智维科技官方2 小时前
信通院认证,金智维的政务智能体让政务工作“智能自动化”
人工智能·ai·自动化·agent·智能体
Saniffer_SH2 小时前
【高清视频】SerialTek PCIe 5.0/6.0 协议分析仪API自动化编程演示
网络·人工智能·驱动开发·嵌入式硬件·测试工具·自动化·压力测试
-ONLY-¥2 小时前
Web基础与Nginx部署全攻略
linux
虾..3 小时前
Linux 网络基础(1)
linux·网络·智能路由器
野生工程师3 小时前
【Linux基础】CentOS Stream10详细安装教程
linux·运维·centos
爱装代码的小瓶子3 小时前
【c++与Linux进阶】轻量化进程与虚拟地址和页表
linux·开发语言·c++
liurunlin8883 小时前
Linux系统安装部署Tomcat
linux·运维·tomcat