大家好,Linux 是后端开发、运维部署和数据科学领域不可或缺的操作系统。与 Windows 不同,Linux 没有盘符的概念,一切从根目录 / 开始。本文将系统性地讲解 Linux 的目录结构 、文件操作 、用户管理 、权限控制 、网络配置 以及常用工具,帮助你快速上手 Linux 环境。
一、Linux 目录结构
Linux 采用树形目录结构,所有文件和目录都从根目录 / 开始,没有 Windows 中的 C 盘、D 盘概念。
1.1 重要目录说明
| 目录 | 说明 |
|---|---|
/ |
根目录,整个文件系统的起点 |
/etc |
系统配置文件目录(如 /etc/apt/sources.list 为软件源配置) |
/root |
超级管理员(root)的家目录 |
/home |
普通用户的家目录(如 /home/zzy) |
/lib |
系统依赖库文件 |
/opt |
第三方软件存放位置 |
/proc |
进程目录,存放系统运行时的进程信息 |
/var |
软件工作区,存放日志等动态数据 |
/tmp |
临时文件目录,重启后通常被清空 |
/bin |
普通用户可执行的命令 |
/usr/bin |
普通用户可执行的命令 |
/sbin |
管理员可执行的系统命令 |
/usr/sbin |
管理员可执行的系统命令 |
# 查看当前所在目录
pwd
# 查看根目录下的内容
ls /

二、文件与目录管理
2.1 查看目录内容:ls
ls 用于列出目录中的文件和文件夹。
| 选项 | 说明 |
|---|---|
-l |
以列表形式展示详细信息 |
-h |
以人类可读方式显示文件大小 |
-a |
显示所有文件(包括以 . 开头的隐藏文件) |
-d |
显示目录本身的信息 |
ls -l # 列表形式展示
ls -lh # 列表形式 + 人性化大小
ls -alh # 显示所有文件(含隐藏)+ 列表 + 人性化大小

2.2 切换目录:cd
| 命令 | 说明 |
|---|---|
cd / |
进入根目录 |
cd .. |
进入父级目录 |
cd ~ |
回到家目录 |
cd - |
回到上次所在路径 |
cd / # 进入根目录
cd /home # 进入 /home 目录(普通用户的家目录)
cd .. # 回到上一级
cd ~ # 回到家目录
cd - # 回到上次所在的路径

2.3 创建目录:mkdir
mkdir my_folder # 创建单个文件夹
mkdir folder1 folder2 # 创建多个文件夹
mkdir -p a/b/c # 递归创建多级目录


2.4 删除目录:rmdir 与 rm -rf
rmdir empty_folder # 删除空文件夹
rm -rf my_folder # 递归强制删除文件夹(含所有内容)


2.5 创建文件:touch
touch file.txt # 创建单个文件
touch file1.txt file2.txt # 创建多个文件


2.6 删除文件:rm
rm file.txt # 删除文件
rm -f file.txt # 强制删除(不提示确认)


三、文件复制、移动与链接
3.1 复制:cp
cp 源文件 目标路径/ # 复制到目标路径(保持原名)
cp 源文件 目标路径/新文件名 # 复制并重命名
cp -r 源目录 目标目录 # 递归复制整个目录



3.2 移动/重命名:mv
mv 原文件 目标路径/ # 移动到目标路径
mv 原文件 目标路径/新文件名 # 移动并重命名
mv 旧文件名 新文件名 # 重命名(在同一目录下)

3.3 链接:ln
硬链接:多个文件名指向同一份数据,删除一个不影响另一个。
ln 原文件 硬链接名
# 特点:
# - 不能连接文件夹
# - 文件大小与源文件一致
# - 修改一个文件,另一个同步更新
# - 删除一个文件,另一个正常使用
软链接:相当于快捷方式,指向源文件。
ln -s 原文件 软链接名
# 特点:
# - 可以连接文件夹
# - 占用空间很小
# - 修改一个文件,另一个同步更新
# - 删除源文件,软链接失效
四、查看文件内容
4.1 基本查看命令
| 命令 | 说明 |
|---|---|
cat |
查看整个文件 |
head -n |
查看文件开头 N 行(默认 10 行) |
tail -n |
查看文件末尾 N 行(默认 10 行) |
more |
分页查看(每次翻一页) |
less |
分页查看(每次翻一行,适合仔细阅读) |
cat file.txt # 查看整个文件
head -n 5 file.txt # 查看前 5 行
tail -n 20 file.txt # 查看末尾 20 行
tail -f log.txt # 实时追踪日志
more file.txt # 分页查看(空格翻页,q退出)
less file.txt # 分页查看(更细粒度)
4.2 统计:wc
| 选项 | 说明 |
|---|---|
-l |
统计行数 |
-w |
统计单词数 |
-m |
统计字符数 |
wc -l file.txt # 统计行数
wc -w file.txt # 统计单词数
wc -m file.txt # 统计字符数


4.3 重定向与管道
# 重定向(覆盖写入)
ls -alh > info.txt
# 重定向(追加写入)
ls -alh >> info.txt
# 管道:将左侧输出作为右侧输入
cat file.txt | more
ls -alh | grep "txt"


4.4 过滤:grep
cat file.txt | grep "关键词"
cat file.txt | grep -n "关键词" # 显示行号
ps -ef | grep nginx # 查找指定进程

五、用户与权限管理
5.1 用户管理
# 创建用户(-m 自动创建家目录,-s 指定 shell)
useradd -m -s /bin/bash 用户名
# 删除用户(-r 删除家目录)
userdel -r 用户名
# 设置密码
passwd 用户名
# 切换用户
su 用户名 # 切换到指定用户
su # 切换到 root
exit # 退出当前用户
# 用户组管理
groupadd 组名 # 添加组
groupdel 组名 # 删除组
5.2 权限管理
Linux 中每个文件/目录有三组权限:
| 权限位 | 含义 |
|---|---|
r |
可读(4) |
w |
可写(2) |
x |
可执行(1) |
- |
无权限(0) |
三组权限分别对应:所有者(u) 、组(g) 、其他用户(o)。
# 数字方式修改权限
chmod 755 file.txt # u=rwx, g=rx, o=rx
chmod 644 file.txt # u=rw, g=r, o=r
chmod 777 file.txt # 所有用户都有读写执行权限
# 符号方式修改权限
chmod u+x file.sh # 为所有者添加执行权限
chmod go-w file.txt # 移除组和其他用户的写权限
chmod -R 755 folder/ # 递归修改目录权限
# 修改文件所有者
chown 用户名:组名 文件名

六、系统信息与网络工具
6.1 系统信息
| 命令 | 说明 |
|---|---|
uname |
查看操作系统信息 |
lscpu |
查看 CPU 信息 |
free -h |
查看内存使用情况 |
df -h |
查看磁盘使用情况 |
uname -a # 查看系统详细信息
lscpu # CPU 架构与核心信息
free -h # 内存(人类可读格式)
df -h # 磁盘分区使用情况


6.2 网络工具
| 命令 | 说明 |
|---|---|
ip address / ifconfig |
查看 IP 地址 |
ping |
测试网络连通性 |
netstat / ss |
查看网络端口和连接 |
ip addr # 查看 IP 地址
ping baidu.com # 测试网络连通
ss -tuln # 查看监听端口(t=tcp, u=udp, l=监听, n=数字)

6.3 下载与请求
wget https://example.com/file.zip # 下载文件
wget -O newname.zip 网址 # 下载并重命名
curl https://api.example.com/data # GET 请求
curl -I https://example.com # 查看响应头
七、进程管理
# 查看进程
ps -ef # 查看所有进程
ps aux # 查看所有进程(BSD 风格)
ps -ef | grep nginx # 查找指定进程
# 终止进程
kill -9 PID # 强制终止进程
pkill nginx # 按名称终止进程
八、软件管理与远程连接
8.1 apt 软件包管理
apt update # 更新软件源索引
apt install 软件名 # 安装软件
apt remove 软件名 # 卸载软件
apt install vim # 安装 vim 编辑器
apt remove vim # 卸载 vim
8.2 SSH 远程连接
# 安装 SSH 服务端
sudo apt install openssh-server
# 服务管理
service ssh status # 查看状态
service ssh start # 启动服务
service ssh stop # 停止服务
service ssh restart # 重启服务
# systemctl 方式(新版)
systemctl status ssh
systemctl start ssh
systemctl enable ssh # 设置开机自启
# 远程连接
ssh 用户名@服务器IP

8.3 远程传输:scp
# 上传文件到服务器
scp 文件名 用户名@IP:目标路径/
# 上传文件夹(-r 递归)
scp -r 文件夹名 用户名@IP:目标路径/
# 从服务器下载
scp 用户名@IP:文件名 本地路径/
九、Vim 编辑器基础
9.1 三种模式
| 模式 | 说明 |
|---|---|
| 普通模式 | 浏览、删除、复制、粘贴 |
| 插入模式 | 输入文本 |
| 命令模式 | 保存、退出、搜索 |
9.2 普通模式常用操作
| 操作 | 命令 |
|---|---|
| 光标移动 | h 左、j 下、k 上、l 右 |
| 文件开头 | gg |
| 文件末尾 | G |
| 跳转到指定行 | :行号 |
| 复制当前行 | yy |
| 复制 N 行 | N yy |
| 粘贴 | p |
| 删除当前行 | dd |
| 删除字符 | x |
| 删除光标后内容 | D |
| 撤销 | u |
| 重做 | Ctrl + r |
9.3 插入模式
| 命令 | 说明 |
|---|---|
i |
光标前插入 |
I |
行首插入 |
a |
光标后插入 |
A |
行尾插入 |
o |
当前行下方新建一行 |
O |
当前行上方新建一行 |
9.4 命令模式
:wq # 保存并退出
:q! # 强制退出(不保存)
:set nu # 显示行号
:set nonu # 隐藏行号
# 搜索
/关键词 # 向下搜索
?关键词 # 向上搜索
n # 查找下一个
N # 查找上一个
9.5 交换文件处理
非正常关闭 Vim 会产生 .swp 交换文件。处理方法:
# 查看并删除 .swp 文件
ls -la # 找到 .file.txt.swp
rm .file.txt.swp # 删除交换文件
vim file.txt # 重新打开
十、Nginx 与 Ollama
10.1 Nginx 安装与使用
# 安装
apt install nginx
# 服务管理
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl status nginx
10.2 Ollama 部署
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 启动服务(允许远程访问)
OLLAMA_HOST=0.0.0.0:11434 ollama serve
# 模型管理
ollama list # 查看已下载的模型
ollama pull 模型名 # 下载模型
ollama rm 模型名 # 删除模型
ollama run 模型名 # 运行模型(未下载则自动下载)
ollama ps # 查看正在运行的模型
ollama stop 模型名 # 停止模型
10.3 CUDA 简介
CUDA 是 NVIDIA 推出的并行计算平台,允许程序利用 GPU 进行加速运算。在部署 AI 模型时,安装 CUDA 可以显著提升推理速度。
十一、常用命令速查表
| 分类 | 常用命令 |
|---|---|
| 目录操作 | pwd、ls -alh、cd ~、mkdir -p |
| 文件操作 | touch、cp -r、mv、rm -rf、ln -s |
| 文件查看 | cat、head -n、tail -f、less、wc -l |
| 文本处理 | grep -n、` |
| 权限管理 | chmod 755、chown user:group |
| 用户管理 | useradd -m、passwd、su、groupadd |
| 进程管理 | ps -ef、top、kill -9 |
| 网络工具 | ip addr、ping、ss -tuln、wget、curl |
| 软件管理 | apt update、apt install |
| 远程连接 | ssh user@ip、scp、service ssh start |
| Vim 编辑 | i(插入)、dd(删除行)、:wq(保存退出) |
十二、总结
| 分类 | 核心内容 |
|---|---|
| 目录结构 | 根目录 / 为起点,无盘符概念 |
| 文件操作 | ls、cp、mv、rm、ln -s |
| 权限管理 | r=4、w=2、x=1,chmod 数字/符号方式 |
| 用户管理 | useradd、passwd、su、exit |
| 文本处理 | cat、head、tail、grep、wc、管道 |
| 网络工具 | ping、ssh、scp、curl、wget |
| 进程管理 | ps、top、kill |
| 软件管理 | apt update、apt install、systemctl |
Linux 操作系统的学习重在实践。建议在自己的服务器或虚拟机中反复练习这些命令,逐步形成操作习惯。掌握这些基础技能,是迈向运维开发、服务部署和自动化管理的重要一步。
如果觉得这篇内容对你有帮助,欢迎收藏备用。