Linux 基础指令从入门到熟练:文件管理、目录操作与文本处理

大家好,Linux 是后端开发、运维、数据科学等领域不可或缺的操作系统。无论是部署项目、管理服务器,还是日常开发调试,掌握 Linux 基础指令都是必备技能。本文将系统性地讲解 Linux 中文件与目录管理文件操作文本查看与处理等核心命令,帮助你快速上手。


一、目录与路径操作

1.1 查看当前路径:pwd

pwd用于显示当前所在的目录路径。

复制代码
pwd
# /home/username/projects

1.2 查看目录内容:ls

ls(List)用于列出目录中的文件和文件夹。

常用选项 说明
-l 以列表形式展示详细信息
-a 显示所有文件(包括以 . 开头的隐藏文件)
-h 以人类可读的方式显示文件大小(KB、MB、GB)
-alh 组合使用:显示所有文件的详细信息,大小人性化显示

bash

复制代码
ls              # 显示当前目录的文件和文件夹
ls -l           # 列表形式展示详细信息
ls -a           # 显示所有文件(包括隐藏文件)
ls -lh          # 列表展示,大小人性化显示
ls -alh         # 显示所有文件的详细信息

# 列表信息说明
# drwxr-xr-x  第一个字母:d 代表文件夹,- 代表文件
# -rw-r--r--  文件权限信息

1.3 切换目录:cd

cd(Change Directory)用于切换当前工作目录。

命令 说明
cd / 进入根目录
cd ~ 回到家目录
cd .. 进入父级目录(上级目录)
cd - 回到上次所在的路径
cd 目录名 进入指定目录
复制代码
cd /            # 进入根目录
cd /home        # 进入 /home 目录
cd ..           # 回到上一级目录
cd ../..        # 回到上两级目录
cd ~            # 回到家目录
cd -            # 回到上次所在的路径
cd projects/    # 进入当前目录下的 projects 文件夹

二、文件和目录的创建与删除

2.1 创建目录:mkdir

mkdir用于创建新目录。

选项 说明
-p 递归创建多级目录
复制代码
mkdir my_folder              # 创建单个文件夹
mkdir -p a/b/c               # 创建多级目录(如果父目录不存在则自动创建)
mkdir dir1 dir2 dir3         # 同时创建多个目录

2.2 创建文件:touch

touch 用于创建空文件,或更新已有文件的时间戳。

复制代码
touch file.txt               # 创建空文件
touch file1.txt file2.txt    # 同时创建多个文件
touch existing_file.txt      # 更新文件的时间戳(如果文件已存在)

2.3 删除目录:rmdirrm -rf

命令 说明
rmdir 目录名 删除目录
rm -rf 目录名 强制删除非空目录(谨慎使用)
rm 文件名 删除文件
复制代码
rmdir empty_folder           # 删除空文件夹
rm -rf my_folder             # 强制删除文件夹(含所有子文件)
rm file.txt                  # 删除文件
rm -f file.txt               # 强制删除文件(不提示确认)

⚠️ 警告rm -rf 是非常强大的命令,使用不当可能导致数据丢失,请务必确认删除的对象。


三、文件复制、移动与链接

3.1 复制文件:cp

cp用于复制文件或目录。

复制代码
# 基本用法
cp 源文件 目标路径/

# 复制到目录(保持原名)
cp file.txt /home/user/backup/

# 复制并重命名
cp file.txt /home/user/backup/new_name.txt

# 复制目录(需要 -r 选项)
cp -r source_folder/ target_folder/
常用选项 说明
-r 递归复制(复制目录时使用)
-i 覆盖前提示确认

3.2 移动/重命名:mv

mv用于移动文件或目录,也可用于重命名。

复制代码
# 移动文件到目录
mv file.txt /home/user/documents/

# 移动并重命名
mv file.txt /home/user/documents/new_name.txt

# 重命名(在同一目录下)
mv old_name.txt new_name.txt

# 移动目录
mv my_folder/ /home/user/backup/

3.3 硬链接与软链接

硬链接软链接都是文件系统中的链接方式,但行为不同。

特性 硬链接 软链接
命令 ln 源文件 链接名 ln -s 源文件 链接名
能否链接目录 ❌ 不能 ✅ 可以
文件大小 与源文件一致 非常小(类似快捷方式)
修改同步 修改任一文件,另一个同步更新 修改任一文件,另一个同步更新
删除源文件 链接文件仍然可用 链接文件失效
本质 同一份数据的多个入口 指向源文件的指针
复制代码
# 硬链接
ln file.txt hard_link.txt
# 修改 hard_link.txt,file.txt 也会变化
# 删除 file.txt,hard_link.txt 仍然可用

# 软链接
ln -s file.txt soft_link.txt
# 修改 soft_link.txt,file.txt 也会变化
# 删除 file.txt,soft_link.txt 失效

四、查看文件内容

4.1 查看整个文件:cat

cat 一次性显示文件的全部内容。

复制代码
cat file.txt                 # 查看文件全部内容
cat file1.txt file2.txt      # 同时查看多个文件

4.2 查看文件开头:head

head 显示文件的前 N 行(默认 10 行)。

复制代码
head file.txt                # 显示前 10 行
head -n 5 file.txt           # 显示前 5 行
head -n 20 file.txt          # 显示前 20 行

4.3 查看文件末尾:tail

tail 显示文件的末尾 N 行(默认 10 行)。

复制代码
tail file.txt                # 显示末尾 10 行
tail -n 5 file.txt           # 显示末尾 5 行
tail -f log.txt              # 实时追踪文件新增内容(常用于查看日志)

4.4 分页查看:less / more

当文件内容很多时,使用分页查看更方便。

复制代码
less file.txt                # 分页查看(按 q 退出)
more file.txt                # 分页查看(按 q 退出)
快捷键 说明
空格键 向下翻一页
Enter 向下翻一行
b 向上翻一页
q 退出
/关键词 搜索关键词
n 查找下一个匹配

五、统计与文本处理

5.1 统计:wc

wc(Word Count)用于统计文件的行数、单词数和字符数。

选项 说明
-l 统计行数(line)
-w 统计单词数(word)
-m 统计字符数(character)
复制代码
wc file.txt                  # 显示行数、单词数、字符数
wc -l file.txt               # 仅显示行数
wc -w file.txt               # 仅显示单词数
wc -m file.txt               # 仅显示字符数

5.2 过滤:grep

grep 用于在文件中搜索匹配的文本行。

复制代码
# 基本用法
grep "关键词" file.txt

# 常用选项
grep -n "error" log.txt      # 显示匹配行及其行号
grep -i "error" log.txt      # 忽略大小写
grep -v "debug" log.txt      # 排除匹配的行(反向匹配)

# 在多个文件中搜索
grep "TODO" *.py             # 搜索所有 Python 文件

# 递归搜索目录
grep -r "function" .         # 在当前目录及子目录中搜索

5.3 重定向:>>>

操作符 说明
> 覆盖写入(如果文件已存在,会覆盖原内容)
>> 追加写入(在原文件末尾追加内容)
复制代码
# 将命令输出保存到文件(覆盖)
ls -alh / > info.txt

# 将命令输出追加到文件末尾
ls -alh / >> info.txt

# 将多个命令结果合并
date > log.txt
echo "操作完成" >> log.txt

5.4 管道:|

管道 | 将左侧命令的输出作为右侧命令的输入,实现命令的组合。

复制代码
# 查看当前目录内容并分页
ls -alh | less

# 查找包含 "error" 的行并显示行号
cat log.txt | grep -n "error"

# 统计当前目录下文件数量
ls -l | grep "^-" | wc -l

# 查看系统进程并筛选
ps aux | grep python

六、常用命令速查表

命令 说明
pwd 显示当前路径
ls -alh 列出目录内容(含隐藏文件,详细信息,人性化大小)
cd / 进入根目录
cd .. 进入父级目录
cd ~ 回到家目录
mkdir 文件夹名 创建文件夹
mkdir -p a/b/c 创建多级目录
touch 文件名 创建文件
rm 文件名 删除文件
rm -rf 文件夹名 强制删除文件夹
cp 源 目标 复制文件
mv 源 目标 移动/重命名文件
ln -s 源 链接名 创建软链接
cat 文件名 查看整个文件
head -n 10 文件名 查看前10行
tail -n 10 文件名 查看末尾10行
tail -f 文件名 实时追踪文件变化
less 文件名 分页查看
wc -l 文件名 统计行数
grep "关键词" 文件名 搜索文本
grep -n "关键词" 文件名 搜索并显示行号
命令 > 文件 重定向输出(覆盖)
命令 >> 文件 重定向输出(追加)
`命令1 命令2`

七、总结

分类 核心命令
目录操作 pwdlscd
创建与删除 mkdirtouchrmdirrm -rf
复制与移动 cpmv
链接 lnln -s
文件查看 catheadtailless
文本处理 wcgrep
重定向与管道 >>>、`

Linux 指令的学习重在实践。建议在日常开发中多使用终端操作,逐步形成肌肉记忆。这些基础命令是后续学习 Shell 脚本、服务器运维和自动化部署的重要基础。

如果觉得这篇内容对你有帮助,欢迎收藏备用。

相关推荐
三言老师12 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
ltl13 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl13 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl13 小时前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju13 小时前
编译与调试完全指南—第6章 性能分析工具
linux
躺不平的理查德14 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明15 小时前
centos7无法安装tcpreplay
linux·运维
吹什么轩15 小时前
linux网络:TCP套接字基础
linux·网络·tcp/ip
时空无限16 小时前
ubuntu dpkg -l 输出第一列解释
linux·运维·ubuntu
叮咚侠18 小时前
Ubuntu 24.04 安装zabbix-agent 5.0 服务
linux·ubuntu·zabbix·zabbix-agent