文章目录
- 前言
- [一、 Linux 概述与核心思想](#一、 Linux 概述与核心思想)
-
- [Linux 与 Windows 的核心差异](#Linux 与 Windows 的核心差异)
- [二、 Linux 目录结构解析](#二、 Linux 目录结构解析)
- [三、 APT 软件包管理](#三、 APT 软件包管理)
- [四、 核心基础命令速查](#四、 核心基础命令速查)
-
- [4.1 帮助与快捷键](#4.1 帮助与快捷键)
- [4.2 文件与目录流转](#4.2 文件与目录流转)
- [4.3 VIM 编辑器核心操作](#4.3 VIM 编辑器核心操作)
- [4.4 搜索与过滤](#4.4 搜索与过滤)
- [4.5 压缩与解压 (`tar`)](#4.5 压缩与解压 (
tar))
- [五、 用户与权限管理](#五、 用户与权限管理)
-
- [5.1 账号管理命令](#5.1 账号管理命令)
- [5.2 文件权限解析 (`chmod` / `chown`)](#5.2 文件权限解析 (
chmod/chown))
- [六、 系统监控与网络运维](#六、 系统监控与网络运维)
- [七、 自动化定时任务 (`crontab`)](#七、 自动化定时任务 (
crontab)) - 结语
前言
Linux是后端服务的核心操作系统,掌握其命令行与权限机制是开发者的必备技能。本文从目录结构到系统监控,梳理最常用的基础操作与运维技巧,助你快速建立服务器管理能力。
一、 Linux 概述与核心思想
Linux 是一套免费使用和自由传播的类 Unix 操作系统,以网络为核心,支持多用户、多任务、多线程。它最初由 Linus Torvalds 编写,目前世界上绝大部分的后端服务都运行在 Linux 之上。
Linux 与 Windows 的核心差异
| 对比维度 | Linux | Windows |
|---|---|---|
| 费用 | 开源且绝大多数免费 | 商业收费 |
| 系统稳定性 | 极高,适合长期高负载运行 | 相对较弱,需定期重启或打补丁 |
| 可定制性 | 极强,一切皆可修改 | 封闭系统,定制性差 |
| 操作逻辑 | 兼具图形界面与完全命令行操作(一切皆文件) | 高度依赖鼠标与图形界面 |
| 应用场景 | 服务器、云计算、后台服务架构 | 个人桌面、办公、游戏 |
二、 Linux 目录结构解析
Linux 的设计哲学是"一切皆文件 "。其目录结构呈单根的树状(以 / 为顶点):
| 目录名称 | 核心作用描述 |
|---|---|
/bin / /sbin |
存放常用可执行二进制命令(sbin 需超级用户权限)。 |
/etc |
存放系统管理所需的所有环境变量与配置文件。 |
/home |
普通用户的家目录,通常以账号名命名。 |
/root |
系统管理员(超级用户)的家目录。 |
/usr |
存放用户的应用程序和文件,类似于 Windows 的 Program Files。 |
/var |
存放经常变动的文件,如各种系统与服务日志。 |
/tmp |
存放临时文件,系统定期自动清理。 |
/dev |
设备目录,将所有硬件以文件的形式存储映射。 |
/mnt / /media |
用于挂载外部存储设备(如 U盘、光驱)。 |
/opt |
第三方或可选应用程序的安装目录。 |
三、 APT 软件包管理
APT(Advanced Packaging Tools)是 Debian/Ubuntu 体系下的核心包管理器,能够自动处理依赖关系。
- 更新软件源:
sudo apt update - 搜索软件:
sudo apt search <软件包名> - 安装软件:
sudo apt install <软件包名>(加-y参数可免确认) - 卸载软件:
sudo apt remove <软件包名> - 自动清理:
sudo apt autoremove(清理不再使用的依赖包)
四、 核心基础命令速查
4.1 帮助与快捷键
- 查阅手册:
man <命令>(例如man ls)。 - 内建命令帮助:
help <内建命令>。 - 快捷键:
Ctrl + L(清屏)、Ctrl + C(强制中止进程)、Tab(命令或路径补全)、Up/Down 箭头(翻阅历史命令)。
4.2 文件与目录流转
| 常用命令 | 语法示例与功能 |
|---|---|
pwd |
打印当前工作目录的绝对路径。 |
ls |
ls -al:列出当前目录下所有文件(含隐藏文件)及详细属性。 |
cd |
cd ~ (回家目录);cd - (回上一目录);cd .. (回上一级目录)。 |
mkdir |
mkdir -p a/b/c:递归创建多级空目录。 |
touch |
touch file.txt:创建一个空文件。 |
cp |
cp -r <源目录> <目标目录>:递归复制文件夹及内容。 |
rm |
rm -rf <目录>:强制递归删除目录及文件(危险操作需谨慎)。 |
mv |
mv <原名> <新名>:移动文件或重命名。 |
cat |
cat -n <文件>:查看小文件全部内容并显示行号。 |
tail |
tail -F <文件>:实时追踪并滚动输出文件尾部最新追加的内容。 |
4.3 VIM 编辑器核心操作
VIM 是 Linux 下最强大的文本编辑器,分为三种模式:一般模式、编辑模式、命令模式。
| 模式/按键 | 功能说明 |
|---|---|
| 进入编辑模式 | 敲击 i (光标前)、a (光标后)、o (下一行)。退出按 Esc。 |
yy / p |
(一般模式)复制当前行 / 粘贴到光标处。 |
dd |
(一般模式)删除(剪切)当前光标所在行。 |
u |
(一般模式)撤销上一步操作。 |
:wq |
(命令模式)保存并退出。 |
:q! |
(命令模式)强制退出且不保存修改。 |
4.4 搜索与过滤
find(查找文件):find / -name "*.txt"(按名字全盘查找);find ./ -size "+200M"(按大小查找)。grep(文本过滤): 结合管道符使用,如cat passwd | grep -n "user"(在文件中查找特定字符串并显示行号)。
4.5 压缩与解压 (tar)
- 打包并压缩:
tar -zcvf archive.tar.gz <文件或目录> - 解压到当前目录:
tar -zxvf archive.tar.gz - 解压到指定目录:
tar -zxvf archive.tar.gz -C /目标路径
五、 用户与权限管理
Linux 依靠严格的用户、用户组及文件权限机制来保障系统安全。
5.1 账号管理命令
| 命令 | 用途示例 |
|---|---|
su / sudo |
su - 切换为 root 并获取环境变量;sudo 临时提权。 |
useradd |
useradd -m -g group user1 创建新用户并指定主组及家目录。 |
passwd |
passwd user1 设置或修改用户密码。 |
userdel |
userdel -r user1 删除用户及其关联的家目录文件。 |
usermod |
usermod -g 新组 用户名 更改用户所在的组。 |
5.2 文件权限解析 (chmod / chown)
通过 ls -l 查看文件时,第一列(如 -rwxr-xr--)代表文件属性:
- 首位:
-代表普通文件,d代表目录,l代表软链接。 - 后九位(分三组): 属主权限 (User) / 属组权限 (Group) / 其他人权限 (Other)。
rwx含义:r= 读 (数字 4),w= 写 (数字 2),x= 执行 (数字 1)。
修改权限实操:
- 字母法:
chmod u+x,o-w file.txt(给属主加执行权,其他人减写权)。 - 数字法:
chmod 755 file.txt(等同于 rwxr-xr-x)。 - 更改所有者:
sudo chown -R root:root 目录名(递归修改目录所属主与组均为 root)。
六、 系统监控与网络运维
ps(进程快照):ps -ef(查看父子进程层级);ps -aux(查看进程 CPU 和内存占用率)。kill(杀进程):kill -9 <PID>(强制杀死指定进程);killall <名称>(按名称批量杀进程)。top(实时监控): 实时显示系统负载、CPU、内存资源消耗情况(类似任务管理器)。free(内存状态):free -m(以 MB 为单位查看物理内存与虚拟内存余量)。df/du(磁盘占用):df -h(查看挂载磁盘的总容量与余量);du -sh <目录>(统计当前目录及文件占用的物理空间)。netstat(网络与端口):netstat -nlp | grep <端口号>(精准查看特定端口的占用情况及归属进程)。
七、 自动化定时任务 (crontab)
Crontab 服务用于配置系统周期性执行的指令。
- 编辑任务:
crontab -e - 查看任务:
crontab -l
时间格式规范 (\* \* \* \* \* 命令):
五个星号分别代表:分钟(0-59) -> 小时(0-23) -> 日(1-31) -> 月(1-12) -> 星期(0-7)。
语法示例:
*/10 4 * * * command:每天凌晨 4 点,每隔 10 分钟执行一次。0 5 1,15 * * command:每月 1 号和 15 号的凌晨 5 点整执行一次。
结语
Linux的精髓在于命令行的熟练运用。掌握目录流转、权限配置与定时任务等核心技能,你将能独立应对日常的服务器运维与自动化管理需求。