#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=4w=2x=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命令行最常用的操作和命令,包括:

  • ✅ 文件与目录管理(lscdcpmvrm等)
  • ✅ 文件权限管理(chmodchown
  • ✅ 文本处理三剑客(grepsedawk
  • ✅ 压缩归档(tarzipgzip
  • ✅ 进程管理(pstopkill
  • ✅ 网络操作(netstatpingssh
  • ✅ 系统管理(datedffree
  • ✅ 实用技巧(Tab补全、快捷键、管道符)

命令行操作的核心在于多练多用 。建议在日常工作中尽量使用命令行完成任务,熟能生巧。遇到不熟悉的命令时,记得使用 man--help 查阅帮助文档。


📌 本文持续更新中,欢迎收藏!如有遗漏或错误,欢迎在评论区指正。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议。

相关推荐
做运维的阿瑞1 小时前
Linux ELF 文件
linux·运维·服务器
Escalating_xu1 小时前
【Makefile 进阶】从自动发现源文件、模式规则到目录分离与多模块递归构建
linux·开发语言
星辰徐哥1 小时前
鸿蒙PC平台 Gnote 笔记应用适配实战:从 Linux 到 鸿蒙PC 的 Electron 迁移
linux·笔记·electron·harmonyos·gnote
一直C1 小时前
Linux应用软件编程|嵌入式轻量级数据库SQLite3完整学习笔记(命令行+C语言API)
linux·sqlite
神威难绷泪1 小时前
TCP并发服务器:多进程 多线程 IO多路复用(select poll epoll)
linux·ipc·tcp并发服务器
kruptos1 小时前
嵌入式 Linux 驱动开发:第一个内核模块怎么写?
linux·运维·驱动开发·嵌入式硬件
wangqiaowq1 小时前
langfuse linux下的安装部署
linux·运维·服务器
NeilYuen1 小时前
用RDMA实现文件传输
linux
Discipline~Hai2 小时前
Linux网络编程05-sqlite3数据库
linux·c语言·网络·数据库·sqlite·linux应用软件编程