返回文章列表

文件相关的命令

这是一个关于 Linux 文件管理命令的全面指南。内容涵盖了文件的基础操作(复制、删除、创建、移动、链接),文件内容的多种显示方式,强大的文件与内容查找功能,精细的权限管理,以及各种格式的文件归档与压缩解压技术

Tyverse
11 分钟阅读
2 次阅读
最后编辑于 2026-06-23 09:31
文件相关的命令

文件

复制、删除、创建

ls(list)

列出当前文件夹下的所有文件,(默认不包含 . 开头的文件)

shell
ls [参数] [文件/文件夹]

ls常用参数

参数说明
-a不隐藏任何以 . 开始的项目
-l使用较长格式列出信息(即显示详细信息)
--help显示帮助信息

文件夹内的特殊文件

  • 点( . ) 代表当前文件夹。
  • 两个点( .. ) 代表上一级文件夹。

pwd

显示当前工作路径

shell
pwd

cd

切换工作路径

shell
cd [路径]

在终端按 Tab 键能提示或自动补全路径等信息

点( . ) 代表当前文件夹 两个点( .. ) 代表上一级文件夹 波浪号( ~ ) 当前用户的家文件夹 减号( - ) 表示离开的文件夹

touch

创建空文件

shell
touch 文件路径1 [文件路径2] ...

rm

删除文件或文件夹

shell
rm [选项] 文件或文件路径1 [文件或文件路径2] ...

常用选项

选项说明
-f强制删除。忽略不存在的文件,不提示确认
-i每次删除前提示确认
-r递归删除目录及其内容
-d删除空目录

man

查看命令的各种格式,作用,选项等

shell
man 命令名称

常用选项

选项说明
1表示查看命令(默认)
2表示查看UNIX 标准库函数
3表示查看C 语言标准库函数

安装 man 2 和 man 3 手册

shell
sudo apt install manpages-dev manpages-posix-dev

mkdir

创建一个空的文件夹

shell
mkdir [选项] 路径

# 可以创建多个嵌套的文件夹
mkdir a/b/c/d/e

常用选项

选项说明
-p逐级创建外部的文件夹

rmdir

安全删除文件夹的命令(只有文件夹为空的时候才会删除)

shell
rmdir [选项] 路径

# 可以删除多个嵌套的空文件夹
rmdir a/b/c/d/e

常用选项

选项说明
-p递归删除空的文件夹

cp

复制文件或文件夹

shell
cp [选项] 源文件 目标文件路径

常用选项

选项说明
-i在覆盖目标文件之前提示用户确认
-f强制覆盖目标文件,不会提示用户
-p保留文件的权限、时间戳和其他属性
-r递归复制目录及其内容

常用 rm -rf 文件夹/文件

mv

用于移动文件或文件夹,也可以对文件和文件夹改名字

shell
mv [选项] 源文件/文件夹 目标文件/文件夹

ln 命令

作用:为文件创建硬链接或软连接。

  • 硬链接:是文件的别名(不占用存储空间)
    • 文件夹不能创建硬链接。
  • 软连接:是文件的快捷方式(占用存储空间)。

创建软链接

软链接文件内部记录的是目标文件的路径。也会占用内存空间,如果目标文件删除。则软连接文件依旧存在。但此时使用会出错。

命令格式

shell
ln -s 源文件 目标文件

示例

shell
touch ~/桌面/a.txt
ln -s ~/桌面/a.txt ./b.txt

创建硬链接

命令格式

shell
ln 源文件 目标文件

示例

shell
touch a.txt     # 创建硬链接
ln a.txt b.txt  # 为 a.txt 起了一个别名

文件内容显示

相关命令cat、more、less、head、tail命令

tree

树形结构显示文件夹

shell
tree [文件夹路径]

常用选项

选项说明
-L [level]设置文件夹显示的最大的深度

cat

作用将文件的内容打印到标准输出(即将文件输出到终端)

shell
cat 文件

可以输出任意文件包括二进制文件(虽然是乱码)

head 命令和tail 命令

作用:用户将文件的头几行(head) 或末尾几行(tail) 打印到屏幕终端上。

shell
head /etc/passwd      # 显示文件的前10行
tail /etc/passwd  # 显示文件的末尾10行
head -2 /etc/passwd   # 显示文件的前2行
tail -5 /etc/passwd  # 显示文件的末尾5行

more 命令

作用:用于分页显示大文件

shell
more 文件路径

快捷键

  • 回车 向下移动一行
  • 空格 向下移动一页
  • q  退出

less 命令

作用:用于分页显示大文件(可以上下翻页)

shell
less 文件路径

快捷键

  • j/k 上/下移动光标。
  • 空格 向下翻页
  • h 帮助
  • q 退出

xxd 命令

作用:用十六进制方式显示文件内容

命令格式:

shell
xxd 文件路径

文件查找

find 命令

作用:根据文件名、大小、创建日期信息查找指定的文件。

命令格式

code
find 路径 [选项和参数] 

示例:

查找 /etc下 source 开头的所有文件

shell
find /etc -name "source*"

grep

根据文件的内容来查找指定的行

shell
grep [选项] "查找的内容" 路径/文件 [路径1/文件1]

常用选项

选项说明
-r递归查找路径下的所有文件
-i忽略大小写
-l只列出包含匹配内容的文件名
-n显示行号

权限管理相关的命令

chmod、chown、chgrp 命令

chmod 命令

作用:修改文件或文件的权限位。

shell
rwx rwx rwx 

命令格式

shell
chmod [选项] 八进制模式或 模式,模式 文件...

常用选项

  • -R 递归对文件夹内部的文件进行同样的处理。

权限位

code
rwx   rwx   rwx
111   111   111
 7     7     7

chmod 777 a.txt

r-x   r--   --x
101   100   001
 5     4     1

chmod 541 a.txt 

模式:

  • u 表示用户权限组 user
  • g 表示组权限 group
  • o 表示其他 other
  • a ugo三个组(默认)

操作:

  • + 添加
  • - 去掉
  • = 设置

权限位:

  • r 读权限
  • w 写权限
  • x 执行权限
shell
rwx   r-x   rw-
 u     g     o
chmod u-r,g+w,o-w a.txt        
# 执行后-wx   rwx   r--

chgrp 命令

作用:修改文件所属于的组。

命令格式:

shell
chgrp [选项]... 用户组 文件...

示例:

shell
ls -l a.txt 
-rw------- 1 root root 2979 723 16:15 a.txt
# 把 /a.txt 改成 easthome 组
sudo chgrp easthome /a.txteasthome

chown命令

作用:修改文件所属于哪个用户和组。

命令格式:

shell
chown [选项]... [所有者][:[]] 文件...

文件归档相关的命令

  • gzip/gunzip命令
  • zip/unzip命令
  • xz/unxz命令
  • tar 命令

gzip/gunzip命令

作用:对单个文件用 zip 压缩算法进行压缩和解压缩

命令格式:

shell
gzip [选项] 文件gunzip [选项] 文件.gz

使用 gzip 压缩的文件后缀通常为 .gz

xz/unxz命令

作用:对单个文件用 xz 压缩算法进行压缩和解压缩

命令格式:

shell
xz [选项] 文件unxz [选项] 文件.xz

使用 xz 压缩的文件后缀通常为 .xz

zip/unzip命令

作用:使用通用的 zip 压缩算法对文件或文件夹进行压缩和解压缩。

命令格式:

code
zip [选项] 文件路径.zip  文件或文件夹1 [文件或文件夹1]

常用选项

选项说明
-r递归压缩文件夹(包含子文件夹)
-<压缩级别n>n是 1-9的数、1最快的压缩、9是最慢的压缩。

示例

shell
cp -r /etc/apt  ~/test
# 压缩 test文件夹为 test.zip 文件
zip -r test.zip ~/test/
# 解压缩 test.zip
cp test.zip ~/桌面
cd ~/桌面unzip test.zip

tar 命令

作用: 将多个文件或文件夹合成一个文件(默认不压缩)。

命令格式

shell
tar [选项...] [FILE]...

tar 默认递归归档文件夹内部的文件和文件夹。

常用选项

选项说明
-c创建归档
-x还原归档文件为文件或文件夹
-f <文件路径>指定文件
-v显示归档过程
-z使用 GNU Zip压缩算法进行压缩和解压缩
-j使用 gzip2压缩算法进行压缩和解压缩
-J使用 xz 压缩算法进行压缩和解压缩
-C <路径>解包到指定的路径

tar 不压缩的包名以 .tar 结尾

tar 以 gzip 压缩的包名以 .tar.gz 或 .tgz 结尾

tar 以 bzip2 压缩的包名以 .tar.bz2 结尾

tar 以 xz 压缩的包名以 .tar.xz 结尾

示例

压缩示例

shell
cp -r /etc/apt ~/testcd ~
# 打包不压缩为 test.tar 文件
tar -c -v -f test.tar test/
# 或tar -cvf test.tar test/
# 打包并用 gzip 压缩算法压缩为 test.tar.gz 文件
tar -czvf test.tar.gz test/
# 打包并用 bzip2 压缩算法压缩为 test.tar.bz2 文件
tar -cjvf test.tar.bz2 test/
# 打包并用 xz 压缩算法压缩为 test.tar.xz 文件
tar -cJvf test.tar.xz test/

解压缩 tar 包示例

shell
# 解压缩不压缩的 test.tar 包 到当前路径
tar -xvf test.tar
# 解压缩不压缩的 test.tar 包 到桌面
tar -xvf test.tar -C ~/桌面/
# 解压缩 gzip 压缩的 test.tar.gz 包到当前路径
tar -xzvf test.tar.gz
# 解压缩 bz2 压缩的 test.tar.bz2 包到当前路径
tar -xjvf test.tar.bz2
# 解压缩 xz 压缩的 test.tar.xz 包到当前路径
tar -xJvf test.tar.xz

发表评论

未登录评论需提供昵称和联系邮箱,提交后默认进入审核。

0/1000