文件查看与文本处理-cat 📄 — 查看文件内容

作用

cat(concatenate)用于查看小文件内容、合并多个文件、创建文件,是文件查看最基础的工具。

语法

1
cat [选项] 文件...

用法

cat 将文件内容输出到标准输出。-n 显示行号,-b 只给非空行编号,-s 压缩连续空行为一行,-E 在行尾显示 $。查看大文件建议用 less。合并文件:cat FILE1 FILE2 > MERGED

常用参数

参数 说明
-n 显示行号
-b 非空行编号
-s 压缩连续空行
-E 行尾显示 $
-T TAB 显示为 ^I
-v 显示非打印字符

示例

1
2
3
4
5
cat FILE.TXT                      # 查看文件内容
cat -n FILE.TXT # 显示行号
cat FILE1.TXT FILE2.TXT > MERGED.TXT # 合并多个文件
cat > NEWFILE.TXT # 创建新文件(Ctrl+D 结束输入)
cat -bs FILE.TXT # 非空行编号并压缩空行

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 3:文件内容查看 | Day 5:本周串联实操

文件与目录管理-ln 📁 — 创建链接文件

作用

ln(link)用于创建文件的硬链接或符号链接(软链接)。硬链接共享同一 inode(仅限同一文件系统),符号链接类似快捷方式(可跨文件系统)。

语法

1
ln [选项] 源文件 链接文件

用法

ln 默认创建硬链接:两个文件名指向同一数据块,删除一个不影响另一个。-s 创建符号链接:指向路径而非数据,源文件删除后链接失效。符号链接可指向目录、跨文件系统。-f 强制创建,-i 交互式提示。注意:硬链接不能跨分区,也不能链接目录。

常用参数

参数 说明
-s 创建符号链接(软链接)
-f 强制覆盖已有文件
-i 交互式提示
-n 若目标为目录的符号链接则视为普通文件
-v 显示详细过程
-b 覆盖前备份

示例

1
2
3
4
ln FILE.TXT LINK.TXT                    # 创建硬链接,共享同一数据块
ln -s /usr/local/bin/SCRIPT SHORTCUT # 创建符号链接(快捷方式)
ln -sf TARGET LINK # 强制覆盖已有链接文件
ln -sv DIR_LINK /PATH/TO/DIR # 创建目录的符号链接并显示过程

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 2:文件与目录操作 | Day 5:本周串联实操

文件与目录管理-locate 📁 — 快速搜索文件路径

作用

locate 通过预建的文件名数据库快速搜索文件路径,速度远快于 find,但数据库非实时更新(通常每日自动更新)。

语法

1
locate [选项] 模式

用法

locate 在数据库中搜索包含指定模式的文件路径。-i 忽略大小写,-c 显示匹配数量,-r 正则 使用正则表达式。刚创建的文件可能搜不到,需先运行 updatedb 更新数据库。适合快速定位已知文件名。

常用参数

参数 说明
-i 忽略大小写
-c 只显示匹配数量
-r 正则 使用正则表达式
-b 只匹配文件名(忽略目录路径)
-E 必须存在的文件
-L 输出时跟随符号链接

示例

1
2
3
4
5
locate ".conf"               # 搜索所有 .conf 文件
locate -i "README" # 忽略大小写搜索 README
locate -c ".log" # 只显示匹配数量
locate -r "\.sh$" # 正则匹配以 .sh 结尾的文件
locate -b "MYFILE" # 只匹配文件名不匹配路径

来源:菜鸟教程

文件与目录管理-ls 📁 — 列出目录内容

作用

ls(list)是 Linux 中最基础且使用频率最高的命令,用于列出指定目录下的文件和子目录。通过不同选项可查看文件的权限、所有者、大小、修改时间等元信息,支持排序、过滤和递归显示。

语法

1
ls [选项] [路径]

用法

ls 常与多种选项组合使用。-l 以长格式显示权限/大小/时间等详细信息;-A 显示隐藏文件(排除 ...);-h 以 K/M/G 格式显示大小(需配合 -l);-t 按修改时间排序;-S 按文件大小排序。支持通配符过滤,例如 ls *.TXT 只显示文本文件。

常用参数

参数 说明
-l 长格式显示详细信息
-A 显示所有文件(含隐藏,排除 ...
-h 人类可读大小(配合 -l
-t 按修改时间排序
-r 反向排序
-S 按文件大小排序
-R 递归子目录
-d 只显示目录本身
-i 显示 inode 编号
-F 文件类型标识(/ 目录、* 可执行)

示例

1
2
3
4
5
ls -la           # 长格式显示所有文件(含隐藏文件)
ls -lh # 长格式,以 K/M/G 显示大小
ls -ltr # 按修改时间逆序排列
ls -R /home # 递归列出 /home 下所有内容
ls *.TXT # 通配符过滤,仅显示 .TXT 文件

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 1:路径与目录切换 | Day 5:本周串联实操

文件与目录管理-mkdir 📁 — 创建目录

作用

mkdir(make directory)用于创建新目录,支持单级和多级目录创建,并可同时设置目录权限。

语法

1
mkdir [选项] 目录...

用法

mkdir 最常见用法是 mkdir -p DIR/SUB/SUB2 创建多级嵌套目录(自动创建父目录)。不加 -p 时若父目录不存在则报错。-m 755 在创建时直接设置权限。建议创建嵌套目录时始终加 -p

常用参数

参数 说明
-p 自动创建父目录
-m 权限 设置目录权限
-v 显示创建过程

示例

1
2
3
4
5
mkdir NEWDIR                 # 创建单级目录
mkdir -p A/B/C/D # 创建多级嵌套目录
mkdir -m 755 SECUREDIR # 创建目录并设置权限 755
mkdir DIR1 DIR2 DIR3 # 批量创建多个目录
mkdir -pv PARENT/CHILD # 递归创建并显示过程

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 2:文件与目录操作 | Day 5:本周串联实操

文件与目录管理-mv 📁 — 移动或重命名文件

作用

mv(move)用于将文件或目录从一个位置移动到另一个位置(剪切),或在同一目录下重命名。与 cp 不同,mv 不增加文件数量,仅改变路径或名称。

语法

1
2
mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录

用法

mv 在同一文件系统内仅修改文件元数据,速度快;跨文件系统时执行复制+删除。移动目录不需要 -R 参数。-i 覆盖前提示,-f 强制覆盖,-n 不覆盖已有文件,-u 仅在源文件更新时执行。注意:默认若目标存在则直接覆盖(部分系统 mv 别名为 mv -i)。

常用参数

参数 说明
-i 覆盖前提示确认
-f 强制覆盖不提示
-n 不覆盖已有文件
-u 源文件更新时才执行
-v 显示详细过程
-b 覆盖前备份
-S 后缀 指定备份文件后缀

示例

1
2
3
4
5
6
mv FILE1.TXT FILE2.TXT      # 重命名文件
mv FILE.TXT /TARGET/ # 移动到目标目录
mv DIR1 DIR2/ # 将 DIR1 移动到 DIR2 下
mv -i FILE.TXT /TARGET/ # 覆盖前提示确认
mv -f FILE.TXT /TARGET/ # 强制覆盖不提示
mv -v *.TXT /TARGET/ # 显示移动过程

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 2:文件与目录操作 | Day 5:本周串联实操

文件与目录管理-pwd 📁 — 显示当前工作路径

作用

pwd(print working directory)输出当前 Shell 所在目录的绝对路径,帮助用户确认当前位置。

语法

1
pwd [选项]

用法

pwd 在脚本中常被用于获取当前目录路径。-P 显示物理路径(绕过符号链接),-L 显示逻辑路径(保留符号链接)。在不含符号链接的目录中两者无区别。

常用参数

参数 说明
-P 显示物理路径(绕过符号链接)
-L 显示逻辑路径(保留符号链接,默认)

示例

1
2
3
pwd            # 显示当前工作目录路径
pwd -P # 显示物理路径(绕过符号链接)
pwd -L # 显示逻辑路径(保留符号链接)

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 1:路径与目录切换 | Day 5:本周串联实操

文件与目录管理-rm 📁 — 删除文件或目录

作用

rm(remove)用于永久删除文件或目录,操作不可逆(不经过回收站)。默认不能删除目录,需加 -R 递归删除。

语法

1
rm [选项] 文件...

用法

rm 直接删除数据块,无法通过常规手段恢复。-f 强制删除忽略警告,-R 递归删除目录及内容,-i 交互式逐文件确认。极度危险操作rm -rf / 会删除整个系统(现代 Linux 默认启用 --preserve-root 保护)。建议养成交互删除习惯或先 ls 确认。

常用参数

参数 说明
-f 强制删除,忽略不存在的文件
-i 交互式逐一确认
-R 递归删除目录
-d 删除空目录
-v 显示详细过程
--preserve-root 禁止删除 /(默认启用)

示例

1
2
3
4
5
6
7
rm FILE.TXT              # 删除文件(默认交互确认)
rm -f FILE.TXT # 强制删除不提示
rm -i FILE.TXT # 逐文件确认删除
rm -rf DIR/ # 递归强制删除目录
rm -rfv DIR/ # 递归强制删除并显示过程
rm -d EMPTYDIR/ # 删除空目录
rm -rf DIR/* # 删除目录下所有内容

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 2:文件与目录操作 | Day 5:本周串联实操

文件与目录管理-rmdir 📁 — 删除空目录

作用

rmdir(remove directory)用于删除空目录,非空目录需使用 rm -r-p 可递归删除空父目录。

语法

1
rmdir [选项] 目录...

用法

rmdir 只能删除空目录,若目录非空则报错。实际工作中 rmdir 不常用,多数场景直接使用 rm -rf 替代。-p 选项可自底向上删除空父目录链。-v 显示删除过程。

常用参数

参数 说明
-p 递归删除空父目录
-v 显示详细过程
--ignore-fail-on-non-empty 忽略非空目录错误

示例

1
2
3
4
rmdir EMPTYDIR                 # 删除空目录
rmdir -p A/B/C # 递归删除空父目录(删除 C 后尝试删 B,再删 A)
rmdir DIR1 DIR2 DIR3 # 批量删除多个空目录
rmdir -v TEMPDIR # 删除空目录并显示过程

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 2:文件与目录操作 | Day 5:本周串联实操

文件与目录管理-stat 📁 — 显示文件详细状态信息

作用

stat 显示文件的完整元数据,包括 inode 编号、文件大小、块数、权限、所有者、访问/修改/变更时间等,比 ls -l 更详细。

语法

1
stat [选项] 文件...

用法

stat 输出文件的全部属性信息,数据量远多于 ls。-f 查看文件系统信息(而非文件本身),-t 简洁格式(一行),-c 格式 自定义输出(类似 printf 格式符)。适合脚本中提取文件元数据。

常用参数

参数 说明
-f 显示文件系统信息
-t 简洁格式(一行输出)
-c 格式 自定义输出格式
-L 跟随符号链接
-Z 显示 SELinux 上下文

示例

1
2
3
4
5
stat FILE.TXT                        # 显示文件完整元数据
stat -f /home # 显示 /home 的文件系统信息
stat -t FILE.TXT # 简洁格式一行输出
stat -c "%N %S %Y" FILE.TXT # 自定义格式:文件名、大小、修改时间
stat -L LINK.TXT # 显示符号链接指向的文件信息

来源:菜鸟教程

0%