#Linux系统命令行操作指南

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 版权协议。

相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
_艾伦 耶格尔.4 天前
进程间通信
linux
Liuqy-054 天前
Linux IO编程——静态库、动态库
linux
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
AIgorithmGEEK4 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid
琥珀色糖4 天前
SimlpeHttp
linux·服务器
qeen874 天前
【Linux】操作系统之进程介绍(二)
linux·笔记·学习·进程
Zenova EdgeOS4 天前
Linux ss 工业边缘网络分析实战
linux·python·边缘计算·工业网关