Linux 基础命令完全指南:从文件操作到进程管理

引言

还记得第一次打开 Linux 终端时,面对黑底白字的命令行界面,我内心充满了茫然。不知道文件放在哪里,不知道命令怎么用,甚至连怎么搜索文件都要去搜索。但随着一步步学习,我发现 Linux 的命令行设计其实非常有逻辑------只要掌握了核心命令,大部分工作都可以高效完成。

今天,我将通过自己的学习笔记,系统性地整理 Linux 基础命令,包括文件操作、文件查看、find 搜索、grep 过滤、进程管理以及打包压缩等内容。

第一部分:文件操作命令

一、创建文件和目录

二、显示当前位置

三、列出目录内容

四、切换目录

复制代码
cd /home                # 切换到指定目录
cd ~                    # 切换到用户家目录
cd ..                   # 返回上一级目录
cd -                    # 返回上一次所在的目录

五、复制、删除、移动

复制cp

复制代码
删除(rm = remove)
复制代码
rm -r dir/              # 递归删除目录(必须加 -r)
rm -rf dir/             # 强制删除(⚠️ 危险!操作前务必确认)
移动/重命名(mv = move)
bash 复制代码
# 移动/重命名(mv = move)
mv file1 file2          # 重命名
mv file dir/            # 移动到目录
# 注意:mv 操作目录不需要 -r 参数

第二部分:文件查看命令

命令 功能 特点
cat 输出全部内容 适合小文件
more 分屏显示 只能向下翻页,不可回看
less 分屏显示 可上下翻页,功能更强
head 显示开头 默认前10行,可用 -n 指定
tail 显示末尾 默认后10行,可用 -n 指定
bash 复制代码
# 查看文件
cat /etc/passwd               # 输出全部内容
more /var/log/syslog          # 分屏显示(空格翻页,q退出)
less /var/log/syslog          # 分屏显示(可上下翻页,q退出)

# 查看文件头部/尾部
head -20 file.txt             # 显示前20行
tail -20 file.txt             # 显示后20行

# 实时查看日志(常用!)
tail -f /var/log/syslog       # 实时跟踪文件末尾更新

实例:

剩下的命令自己快去试试吧!

第三部分:find 命令------文件搜索

一、基本语法

bash 复制代码
find [路径] -name [文件名]

find 命令用于在系统中搜索文件,类似于 Windows 的文件搜索功能。

二、搜索特点

bash 复制代码
# 特点1:递归搜索
# find 会搜索指定路径下的所有子目录

# 特点2:可中断
# 按 Ctrl+C 可中断当前执行的 find 命令

# 特点3:搜索范围越大,耗时越长
find / -name "*.txt"      # 全盘搜索,非常慢
find . -name "*.txt"      # 当前目录搜索,较快

三、权限问题

bash 复制代码
# 当搜索到没有访问权限的目录时,会显示"权限不够"
find / -name passwd

# 输出示例:
# find: '/root': 权限不够
# find: '/etc/ssl/private': 权限不够
# /etc/passwd  ← 仍然能找到有权限的文件

# 解决方法:
# 1. 使用 sudo 提升权限
sudo find / -name passwd

# 2. 缩小搜索范围到有权限的目录
find /home -name passwd
find /etc -name passwd

第四部分:管道与 grep 命令

一、管道命令 |

管道的作用是:将一个命令的输出作为另一个命令的输入

bash 复制代码
命令1 | 命令2 | 命令3
# 命令1的输出 → 命令2的输入 → 命令2的输出 → 命令3的输入

例如 ps -ef | grep sleep #用来查找睡眠sleep的

二、grep 命令------字符串过滤

grep 用于在文件或命令输出中查找包含特定字符串的行。

bash 复制代码
# 基本语法
grep "字符串" 文件名

# 示例:在 passwd 文件中查找包含 root 的行
grep "root" /etc/passwd

# 输出:
# root:x:0:0:root:/root:/bin/bash

三、常用参数

参数 功能 示例
-i 忽略大小写 grep -i "hello" file
-v 反向匹配(显示不包含的行) grep -v "error" log.txt
-n 显示行号 grep -n "root" /etc/passwd
-r 递归搜索目录 grep -r "TODO" ./src/

四、组合应用示例

bash 复制代码
# 1. ls + grep:查找目录下包含特定字符的文件
ls /bin | grep "pwd"
# 输出:/bin 目录下所有包含 "pwd" 的文件名

# 2. 查找 /etc 目录下的 .conf 文件
ls /etc | grep "\.conf$"

# 3. 查找当前目录是否存在指定文件
ls | grep "test"

# 4. 查看日志中的错误信息
cat /var/log/syslog | grep "error"

# 5. 排除干扰信息
cat log.txt | grep -v "debug"   # 显示不包含 debug 的行

五、例题演示

第五部分:进程管理命令

一、查看进程

命令 功能 示例
ps 查看进程快照 ps aux
top 动态实时查看 top
htop 更友好的 top(需安装) htop
bash 复制代码
# 查看所有进程
ps aux

# 查看特定进程
ps aux | grep nginx

# 动态监控进程
top
# 按 q 退出,按 M 按内存排序,按 P 按 CPU 排序

二、进程控制

命令 功能 示例
kill 终止进程 kill -9 PID
jobs 查看后台任务 jobs -l
fg 将后台任务调到前台 fg %1
bg 将任务放到后台运行 bg %1
Ctrl+Z 暂停当前任务 -
Ctrl+C 终止当前任务 -
& 后台运行 command &
bash 复制代码
# 后台运行程序
./long_task.sh &

# 查看后台任务
jobs
# 输出:[1]+  Running  ./long_task.sh &

# 将后台任务调到前台
fg %1

# 暂停当前任务(Ctrl+Z),然后放到后台
bg %1

# 终止进程
kill -9 12345

第六部分:常用命令速查表

一、文件操作

命令 说明 示例
touch 创建文件 touch test.c
mkdir 创建目录 mkdir -p a/b/c
cp 复制 cp -r src dst
rm 删除 rm -rf tmp/
mv 移动/重命名 mv old new
pwd 显示当前路径 pwd
ls 列出文件 ls -la
cd 切换目录 cd /home

二、文件查看

命令 说明 示例
cat 输出全部 cat file
more 分屏(只进) more file
less 分屏(可进退) less file
head 显示开头 head -20 file
tail 显示末尾 tail -f log

三、搜索与过滤

命令 说明 示例
find 搜索文件 find / -name "*.c"
grep 搜索内容 grep -r "hello" ./
` ` 管道

四、进程管理

命令 说明 示例
ps 查看进程 ps aux
top 动态监控 top
kill 终止进程 kill -9 PID
jobs 后台任务 jobs
fg / bg 前后台切换 fg %1

总结

一、核心要点

分类 核心命令
文件操作 touchmkdircprmmv
路径操作 pwdlscd
文件查看 catmorelessheadtail
文件搜索 findgrep
进程管理 pstopkilljobsfgbg
打包压缩 tar -czvftar -xzvf

二、学习建议

  1. 多动手:每个命令都要亲自敲一遍

  2. 善用管道| 是 Linux 命令行的精髓

  3. 学会使用 --helpls --help 查看帮助

  4. 养成好习惯rm 前先用 ls 确认

Linux 命令行的学习是一个循序渐进的过程。从最基础的 lscd,到 findgrep 等强大的搜索工具,再到进程管理和打包压缩,每一步都是构建命令行技能的重要基石。

掌握这些命令,你就能高效地管理文件、搜索内容、监控进程、打包数据。记住:最好的学习方法就是多实践。打开终端,从今天学到的命令开始,一步步探索 Linux 的世界。

相关推荐
A小辣椒12 小时前
TShark:基础知识
linux
AlfredZhao14 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux