Linux系统命令行操作指南
一篇带你从零开始掌握Linux命令行的超详细笔记,建议收藏!
一、前言
Linux系统以其强大的稳定性和灵活性,在服务器、嵌入式设备、云计算等领域占据着主导地位。而命令行(Command Line Interface,CLI)则是操作Linux系统最核心、最高效的方式。无论你是开发人员、运维工程师,还是刚接触Linux的新手,掌握命令行操作都是一项必备技能。
本文将系统性地梳理Linux命令行常用操作,从基础概念到实战命令,帮助你快速上手。
二、命令行基础
2.1 什么是终端(Terminal)
终端是与Linux系统交互的文本界面。你可以通过终端输入命令,系统执行后会返回结果。常见的终端模拟器有GNOME Terminal、Konsole、iTerm2等。
2.2 命令提示符
登录Linux后,你会看到类似这样的提示符:
bash
[root@localhost ~]#
# 或
[user@localhost ~]$
root/user:当前登录的用户名localhost:主机名~:当前所在目录(~表示用户家目录)#:表示当前是root用户(管理员),$表示普通用户
2.3 命令的基本语法
Linux命令通常遵循以下格式:
bash
命令 [选项] [参数]
例如:
bash
ls -la /home
ls:命令名-la:选项(-l显示详细信息,-a显示隐藏文件)/home:参数
2.4 获取帮助
man命令:查看命令的完整手册
bash
man ls # 查看ls命令的详细手册
man grep # 查看grep命令的手册
按 q 键退出手册页面。
--help选项:快速查看命令的简要帮助
bash
ls --help
三、文件与目录操作
3.1 查看目录内容 --- ls
ls 是最常用的命令之一,用于列出目录内容。
bash
ls # 列出当前目录内容
ls -l # 以长格式显示(权限、大小、修改时间等)
ls -a # 显示所有文件(包括以.开头的隐藏文件)
ls -lh # 以人类可读的格式显示文件大小(K、M、G)
ls -la # 组合使用,显示所有文件的详细信息
3.2 切换目录 --- cd
bash
cd /home # 进入/home目录
cd .. # 返回上一级目录
cd ~ # 回到当前用户的家目录
cd - # 回到上一个目录
3.3 查看当前路径 --- pwd
bash
pwd # 显示当前所在目录的绝对路径
3.4 创建目录 --- mkdir
bash
mkdir mydir # 创建名为mydir的目录
mkdir -p a/b/c # 递归创建多级目录
3.5 创建文件 --- touch
bash
touch file.txt # 创建一个空文件
touch -t 202501011200 file.txt # 修改文件时间戳
3.6 复制文件/目录 --- cp
bash
cp source.txt dest.txt # 复制文件
cp -r source_dir dest_dir # 递归复制整个目录
cp -i file1 file2 # 覆盖前提示确认
3.7 移动/重命名 --- mv
bash
mv old.txt new.txt # 重命名文件
mv file.txt /home/user/ # 移动文件到指定目录
3.8 删除文件/目录 --- rm
bash
rm file.txt # 删除文件
rm -r mydir # 递归删除目录
rm -rf /path/to/dir # 强制递归删除(⚠️ 危险操作,谨慎使用!)
⚠️ 警告 :
rm -rf是Linux中最危险的命令之一,删除后无法恢复,请务必确认路径正确!
3.9 查看文件内容
cat:一次性显示整个文件
bash
cat file.txt
cat -n file.txt # 显示行号
less :分页查看大文件(按上下键翻页,按 q 退出)
bash
less large.log
head / tail:查看文件的开头或结尾
bash
head -n 20 file.log # 查看前20行
tail -n 50 file.log # 查看最后50行
tail -f file.log # 实时跟踪文件更新(常用于查看日志)
3.10 查找文件 --- find
bash
find / -name "*.txt" # 在整个系统中查找所有.txt文件
find /home -type f -size +100M # 查找大于100MB的文件
find . -type d # 查找所有目录
which:查找可执行程序的位置
bash
which python # 查看python命令的路径
四、文件权限管理
4.1 查看权限
使用 ls -l 查看文件权限,输出类似:
-rwxr-xr-- 1 user group 1024 Jan 1 12:00 file.txt
- 第一位:
-表示文件,d表示目录 - 接下来三组:
rwx(所有者权限)、r-x(所属组权限)、r--(其他用户权限) r=读,w=写,x=执行
4.2 修改权限 --- chmod
bash
chmod +x script.sh # 添加执行权限
chmod 755 file.txt # 使用数字方式设置权限(rwxr-xr-x)
chmod u+x file.txt # 仅给所有者添加执行权限
权限数字对应关系:r=4,w=2,x=1
4.3 修改所有者 --- chown
bash
chown user:group file.txt # 修改文件所有者和所属组
chown -R user:group /path # 递归修改目录下所有文件
五、文本处理(Linux三剑客)
5.1 grep --- 文本搜索
grep 用于在文件中搜索指定的字符串或正则表达式。
bash
grep "error" log.txt # 在文件中搜索"error"
grep -i "warning" log.txt # 忽略大小写搜索
grep -r "TODO" ./src/ # 递归搜索目录下所有文件
grep -v "exclude" file.txt # 反向匹配(显示不包含该模式的行)
5.2 sed --- 流编辑器
sed 用于对文本进行流式编辑。
bash
sed 's/old/new/g' file.txt # 将所有old替换为new
sed -i 's/old/new/g' file.txt # 直接修改文件
5.3 awk --- 文本报告工具
awk 用于格式化和提取文本数据。
bash
awk '{print $1}' file.txt # 打印每行的第一列
awk -F: '{print $1}' /etc/passwd # 以:为分隔符打印第一列
六、压缩与归档
6.1 tar --- 打包归档
bash
tar -czvf archive.tar.gz /path # 创建.tar.gz压缩包
tar -xzvf archive.tar.gz # 解压.tar.gz文件
tar -xvf archive.tar # 解压.tar文件
6.2 zip / unzip
bash
zip -r archive.zip /path # 创建zip压缩包
unzip archive.zip # 解压zip文件
6.3 gzip / gunzip
bash
gzip file.txt # 压缩为.gz格式
gunzip file.txt.gz # 解压.gz文件
七、进程管理
7.1 查看进程 --- ps
bash
ps aux # 查看所有进程的详细信息
ps aux | grep nginx # 查找特定进程
7.2 动态查看进程 --- top
top 实时显示系统进程和资源占用情况。
bash
top # 动态显示进程(按q退出)
7.3 终止进程 --- kill
bash
kill 1234 # 正常终止进程(PID为1234)
kill -9 1234 # 强制终止进程
八、网络相关
8.1 查看网络状态 --- netstat
bash
netstat -tulnp # 查看所有监听端口
8.2 测试网络连通 --- ping
bash
ping www.baidu.com # 测试与百度服务器的连通性
8.3 远程连接 --- ssh
bash
ssh user@192.168.1.100 # 远程登录服务器
九、系统管理
9.1 查看系统信息
bash
date # 查看当前日期时间
cal # 查看当前日历
cal -y # 查看整年日历
df -h # 查看磁盘使用情况
free -h # 查看内存使用情况
du -sh * # 查看当前目录下各文件/目录的大小
9.2 关机与重启
bash
shutdown -h now # 立即关机
shutdown -r now # 立即重启
reboot # 重启系统
十、命令行实用技巧
10.1 Tab自动补全
输入命令或路径时,按 Tab 键可以自动补全,极大提高输入效率。
10.2 历史命令
bash
history # 查看所有历史命令
# 按 ↑ / ↓ 方向键可以快速调出之前执行过的命令
10.3 常用快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl + C |
终止当前正在执行的命令 |
Ctrl + D |
退出当前Shell / 终端 |
Ctrl + L |
清屏(相当于 clear 命令) |
Ctrl + A / Home |
光标跳到命令行开头 |
Ctrl + E / End |
光标跳到命令行末尾 |
Ctrl + U |
删除光标之前的所有内容 |
Ctrl + K |
删除光标之后的所有内容 |
Ctrl + Z |
挂起当前进程(用 fg 恢复) |
10.4 管道符 |
管道符可以将前一个命令的输出作为后一个命令的输入,实现命令组合。
bash
ps aux | grep python # 查找Python进程
cat log.txt | grep "error" | wc -l # 统计错误日志行数
十一、实战案例
案例1:批量修改文件后缀名
bash
for file in *.txt; do mv "$file" "${file%.txt}.bak"; done
案例2:实时监控日志并过滤关键词
bash
tail -f /var/log/syslog | grep "ERROR"
案例3:查找并删除7天前的日志文件
bash
find /var/log -name "*.log" -mtime +7 -delete
十二、总结
本文涵盖了Linux命令行最常用的操作和命令,包括:
- ✅ 文件与目录管理(
ls、cd、cp、mv、rm等) - ✅ 文件权限管理(
chmod、chown) - ✅ 文本处理三剑客(
grep、sed、awk) - ✅ 压缩归档(
tar、zip、gzip) - ✅ 进程管理(
ps、top、kill) - ✅ 网络操作(
netstat、ping、ssh) - ✅ 系统管理(
date、df、free) - ✅ 实用技巧(Tab补全、快捷键、管道符)
命令行操作的核心在于多练多用 。建议在日常工作中尽量使用命令行完成任务,熟能生巧。遇到不熟悉的命令时,记得使用 man 或 --help 查阅帮助文档。
📌 本文持续更新中,欢迎收藏!如有遗漏或错误,欢迎在评论区指正。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议。