1. Linux基础指令入门指南
作为一名从Windows转向Linux的老用户,我清楚地记得第一次面对黑色终端窗口时的手足无措。与图形界面操作完全不同,Linux的精髓在于命令行操作的高效与强大。掌握基础指令是每位Linux用户的必经之路,无论你是系统管理员、开发人员还是普通爱好者。
Linux指令系统源自Unix传统,经过几十年发展已形成一套完整的命令行生态。与Windows的图形化操作相比,命令行操作看似复杂,实则更加精确和高效。一个熟练的Linux用户通过命令行完成任务的效率往往是图形界面操作的数倍。
本文将系统介绍Linux中最核心的30个基础指令,涵盖文件操作、系统管理、文本处理等日常使用频率最高的场景。这些指令适用于绝大多数Linux发行版,包括Ubuntu、CentOS、Debian等。无论你使用的是实体机还是虚拟机,这些知识都能立即派上用场。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Linux文件系统基础概念
2.1 Linux目录结构解析
在开始学习具体指令前,理解Linux的文件系统结构至关重要。与Windows的盘符划分不同,Linux采用单一的树状结构,所有文件和设备都挂载在这个结构下。
几个关键目录需要特别关注:
- /:根目录,所有目录的起点
- /home:用户主目录,每个用户拥有独立子目录
- /etc:系统配置文件存放位置
- /var:经常变化的文件,如日志
- /bin和/usr/bin:可执行程序存放位置
- /dev:设备文件
提示:Linux中一切皆文件的概念非常重要,包括硬件设备也以文件形式存在于/dev目录下。
2.2 路径表示方法
Linux中有两种路径表示方式:
- 绝对路径:从根目录开始的完整路径,如/home/user/Documents
- 相对路径:相对于当前目录的路径,如../parent_dir
特殊符号表示:
- . 表示当前目录
- .. 表示上级目录
- ~ 表示当前用户的主目录
理解这些概念后,我们就能更好地使用文件操作指令了。
3. 基础文件操作指令
3.1 目录导航与查看
3.1.1 pwd - 显示当前目录
bash复制pwd
这个简单的指令会输出你当前所在的完整路径。当你在复杂的目录结构中迷失时,它能帮你快速定位。
3.1.2 ls - 列出目录内容
bash复制ls [选项] [目录]
常用选项:
- -l:详细列表显示
- -a:显示所有文件(包括隐藏文件)
- -h:人类可读的文件大小
- -t:按修改时间排序
示例:
bash复制ls -lah /home
这个组合会显示/home目录下所有文件(包括隐藏文件)的详细信息,并以易读的格式显示文件大小。
3.1.3 cd - 切换目录
bash复制cd [目录路径]
常用快捷方式:
- cd ~ 或 cd:返回用户主目录
- cd -:返回上一个工作目录
- cd ..:返回上级目录
注意:Linux的路径区分大小写,/home和/Home是不同的目录。
3.2 文件操作指令
3.2.1 cp - 复制文件/目录
bash复制cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
常用选项:
- -r:递归复制目录
- -i:覆盖前提示
- -v:显示复制过程
示例:
bash复制cp -ri /backup/data /home/user/documents/
3.2.2 mv - 移动/重命名文件
bash复制mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录
mv指令有两个功能:
- 当目标是一个不存在的文件名时,执行重命名
- 当目标是存在的目录时,执行移动操作
示例:
bash复制mv oldname.txt newname.txt # 重命名
mv file.txt /tmp/ # 移动文件
3.2.3 rm - 删除文件/目录
bash复制rm [选项] 文件...
常用选项:
- -r:递归删除目录
- -f:强制删除,不提示
- -i:删除前提示确认
警告:rm -rf / 这样的命令会删除系统所有文件,使用时务必小心!
3.2.4 mkdir - 创建目录
bash复制mkdir [选项] 目录名...
常用选项:
- -p:创建多级目录
- -v:显示创建过程
示例:
bash复制mkdir -pv project/{src,bin,doc}
这个命令会创建project目录,并在其中创建src、bin、doc三个子目录。
3.2.5 rmdir - 删除空目录
bash复制rmdir [选项] 目录名...
与rm -r不同,rmdir只能删除空目录,更安全但限制更多。
3.3 文件查看与编辑
3.3.1 cat - 连接并显示文件内容
bash复制cat [选项] 文件...
常用选项:
- -n:显示行号
- -b:对非空行编号
示例:
bash复制cat -n /etc/passwd
3.3.2 less/more - 分页查看文件
bash复制less 文件名
more 文件名
两者都用于查看大文件,支持翻页、搜索等功能。less功能更强大,支持向前向后浏览。
常用操作:
- 空格:下一页
- b:上一页
- /pattern:搜索
- q:退出
3.3.3 head/tail - 查看文件开头/结尾
bash复制head [选项] 文件
tail [选项] 文件
常用选项:
- -n:指定显示行数
- -f:实时追踪文件变化(常用于查看日志)
示例:
bash复制tail -f /var/log/syslog # 实时监控系统日志
3.3.4 nano/vi - 文本编辑器
bash复制nano 文件名
vi 文件名
nano是简单易用的文本编辑器,适合新手。vi/vim功能更强大但学习曲线陡峭。
4. 系统信息与进程管理
4.1 系统信息查询
4.1.1 uname - 显示系统信息
bash复制uname [选项]
常用选项:
- -a:显示所有信息
- -s:内核名称
- -r:内核版本
示例:
bash复制uname -a
4.1.2 df - 磁盘空间检查
bash复制df [选项] [文件...]
常用选项:
- -h:人类可读格式
- -T:显示文件系统类型
示例:
bash复制df -hT
4.1.3 du - 目录空间使用情况
bash复制du [选项] [文件...]
常用选项:
- -h:人类可读格式
- -s:只显示总计
- --max-depth=N:显示N级子目录
示例:
bash复制du -h --max-depth=1 /home
4.1.4 free - 内存使用情况
bash复制free [选项]
常用选项:
- -h:人类可读格式
- -s N:每N秒刷新一次
示例:
bash复制free -h
4.2 进程管理
4.2.1 ps - 进程状态
bash复制ps [选项]
常用组合:
bash复制ps aux # 显示所有用户的所有进程
ps -ef # 完整格式列表
输出字段说明:
- USER:进程所有者
- PID:进程ID
- %CPU:CPU占用率
- %MEM:内存占用率
- COMMAND:命令名称
4.2.2 top/htop - 动态进程查看
bash复制top
htop
top是Linux自带的动态进程查看工具,htop是其增强版(需额外安装)。
常用操作:
- q:退出
- k:终止进程
- M:按内存排序
- P:按CPU排序
4.2.3 kill - 终止进程
bash复制kill [选项] PID
常用选项:
- -9:强制终止
- -15:优雅终止(默认)
示例:
bash复制kill -9 1234 # 强制终止PID为1234的进程
4.2.4 jobs/fg/bg - 作业控制
bash复制jobs # 查看后台作业
fg %n # 将作业n调到前台
bg %n # 将作业n调到后台
这些命令用于管理在终端中启动的作业。
5. 权限与用户管理
5.1 文件权限基础
Linux中每个文件都有三组权限:
- 所有者权限
- 组权限
- 其他用户权限
每种权限又分为:
- r:读(4)
- w:写(2)
- x:执行(1)
权限可以用数字表示,如755表示:
- 所有者:rwx (7)
- 组:r-x (5)
- 其他用户:r-x (5)
5.2 chmod - 修改文件权限
bash复制chmod [选项] 模式 文件...
模式可以是数字或符号表示:
- 数字:chmod 755 file
- 符号:chmod u+x file
常用选项:
- -R:递归修改
- -v:显示修改过程
示例:
bash复制chmod -R 755 /webroot
5.3 chown - 修改文件所有者
bash复制chown [选项] 用户[:组] 文件...
常用选项:
- -R:递归修改
- -v:显示修改过程
示例:
bash复制chown -R user:group /project
5.4 useradd/userdel - 用户管理
bash复制useradd [选项] 用户名
userdel [选项] 用户名
常用选项:
- -m:创建用户主目录(useradd)
- -r:删除用户主目录(userdel)
- -s:指定shell
示例:
bash复制useradd -m -s /bin/bash newuser
5.5 passwd - 修改密码
bash复制passwd [用户名]
root用户可以修改任何用户的密码,普通用户只能修改自己的密码。
6. 网络相关指令
6.1 ifconfig/ip - 网络接口配置
bash复制ifconfig # 传统命令
ip addr # 新式命令
显示和配置网络接口信息。
6.2 ping - 测试网络连通性
bash复制ping [选项] 目标主机
常用选项:
- -c N:发送N个包后停止
- -i N:每隔N秒发送一个包
示例:
bash复制ping -c 4 google.com
6.3 netstat/ss - 网络状态
bash复制netstat [选项] # 传统命令
ss [选项] # 新式命令
常用选项:
- -t:TCP连接
- -u:UDP连接
- -l:监听中的端口
- -p:显示进程信息
- -n:数字形式显示地址
示例:
bash复制netstat -tulnp
ss -tulnp
6.4 wget/curl - 下载工具
bash复制wget [选项] URL
curl [选项] URL
常用选项:
- -O:保存为指定文件名
- -L:跟随重定向
- -c:断点续传(wget)
示例:
bash复制wget -c https://example.com/largefile.zip
curl -O https://example.com/file.txt
7. 文本处理三剑客
7.1 grep - 文本搜索
bash复制grep [选项] 模式 [文件...]
常用选项:
- -i:忽略大小写
- -v:反向匹配
- -r:递归搜索
- -n:显示行号
- -E:扩展正则表达式
示例:
bash复制grep -rin "error" /var/log/
7.2 sed - 流编辑器
bash复制sed [选项] '命令' [文件...]
常用命令:
- s:替换
- d:删除
- p:打印
示例:
bash复制sed 's/foo/bar/g' file.txt # 全局替换foo为bar
7.3 awk - 文本处理语言
bash复制awk '模式 {动作}' [文件...]
常用变量:
- NR:当前记录号
- NF:当前记录的字段数
- $0:整条记录
- $1,$2,...:第1,2,...个字段
示例:
bash复制awk '{print $1}' file.txt # 打印每行第一个字段
8. 压缩与归档
8.1 tar - 打包工具
bash复制tar [选项] 文件...
常用选项:
- -c:创建归档
- -x:解压归档
- -v:显示过程
- -f:指定文件名
- -z:gzip压缩/解压
- -j:bzip2压缩/解压
- -J:xz压缩/解压
常用组合:
bash复制tar -czvf archive.tar.gz dir/ # 创建gzip压缩包
tar -xzvf archive.tar.gz # 解压gzip压缩包
8.2 gzip/bzip2/xz - 压缩工具
bash复制gzip [选项] 文件
bzip2 [选项] 文件
xz [选项] 文件
这些工具通常与tar配合使用,单独使用时:
- 压缩:gzip file (生成file.gz)
- 解压:gzip -d file.gz 或 gunzip file.gz
9. 系统管理与维护
9.1 shutdown/reboot - 关机与重启
bash复制shutdown [选项] [时间] [消息]
reboot [选项]
常用选项:
- -h:关机
- -r:重启
- -c:取消关机
示例:
bash复制shutdown -r +10 "系统将在10分钟后重启"
9.2 crontab - 定时任务
bash复制crontab [选项]
常用选项:
- -e:编辑当前用户的crontab
- -l:列出当前用户的crontab
- -r:删除当前用户的crontab
crontab格式:
code复制* * * * * command
分 时 日 月 周 命令
示例:
bash复制0 3 * * * /backup/script.sh # 每天3点执行备份
9.3 systemctl - 服务管理
bash复制systemctl [命令] [服务]
常用命令:
- start:启动服务
- stop:停止服务
- restart:重启服务
- status:查看服务状态
- enable:设置开机启动
- disable:禁止开机启动
示例:
bash复制systemctl status sshd
10. 实用技巧与常见问题
10.1 命令组合与管道
Linux的强大之处在于可以将简单命令组合起来完成复杂任务。管道(|)将一个命令的输出作为另一个命令的输入。
示例:
bash复制ps aux | grep python | awk '{print $2}' | xargs kill -9
这个组合命令会:
- 列出所有进程
- 过滤出包含python的进程
- 提取第二列(PID)
- 杀死这些进程
10.2 命令历史与补全
- history:查看命令历史
- !n:执行历史中第n条命令
- !!:执行上一条命令
- Ctrl+R:反向搜索历史命令
- Tab键:命令/文件名补全
10.3 常见问题排查
-
命令找不到:
- 检查命令拼写
- 检查PATH环境变量
- 确认软件是否安装
-
权限不足:
- 使用sudo临时提升权限
- 检查文件权限(chmod)
- 检查文件所有者(chown)
-
磁盘空间不足:
- 使用df -h查看磁盘使用情况
- 使用du -h --max-depth=1查找大文件
- 清理日志文件(/var/log)和临时文件(/tmp)
10.4 学习资源推荐
-
手册页:
bash复制
man 命令 -
命令帮助:
bash复制命令 --help -
在线资源:
- Linux Documentation Project
- Arch Wiki
- Stack Overflow
掌握这些基础指令后,你已经可以完成Linux系统上80%的日常任务了。随着使用经验的积累,你会发现命令行操作远比图形界面更高效、更灵活。记住,学习Linux是一个渐进的过程,不要期望一夜之间掌握所有内容。从基础开始,逐步构建你的知识体系,最终你会成为一名真正的Linux高手。
