Linux文件管理完全指南:从命名规则到压缩解压
一、文件命名规则:避免踩坑的关键
1. 允许的字符与命名建议
-
允许字符:除
/
外所有字符均可使用,但需避免<
,>
,?
,*
等特殊符号。 -
命名建议:
-
统一使用小写字母(Linux严格区分大小写)。
-
用下划线
_
分隔单词,如project_backup_2024.tar.gz
。
-
-
错误示例:
a b.txt # 含空格,需用引号包裹访问 my,file.log # 含逗号,易引发解析错误
2. 文件名长度与扩展名的真相
-
长度限制:不超过255字符,建议简短且语义明确(如
report_final.md
)。 -
扩展名:
-
Linux不依赖扩展名识别文件类型(通过权限位标识)。
-
约定俗成的扩展名:
-
.sh
:Shell脚本 -
.tar.gz
:压缩包 -
.rpm
:软件包(方便管理员识别)
-
-
二、目录管理:创建与删除
1. 创建目录
-
基础命令:
mkdir project # 创建单级目录
-
递归创建多级目录:
mkdir -p /opt/app/config # 自动创建父目录
2. 删除目录
-
删除空目录:
rmdir temp
-
批量删除空目录:
rmdir dir1 dir2 dir3
-
递归删除多级空目录:
rmdir -p parent/child # 从右向左逐级删除
三、文件管理:创建与删除
1. 创建文件
-
单文件创建:
touch README.md
-
批量创建文件:
touch file{1..5}.txt # 生成file1.txt到file5.txt
-
指定路径创建:
touch /var/log/app.log # 在指定路径下创建文件
2. 删除文件与目录
-
删除文件(需确认):
rm old_file.txt # 提示确认 rm -f old_file.txt # 强制删除,不提示
-
递归删除非空目录(慎用!):
rm -rf /tmp/cache # 强制删除目录及其内容
警告:
rm -rf
是 Linux 中最危险的命令之一,执行前务必确认路径!
四、复制与移动:灵活管理文件
1. 复制操作
-
复制文件:
cp source.txt /backup/ # 复制到目标目录 cp source.txt /backup/source_backup.txt # 复制并重命名
-
复制目录:
cp -r project /backup/ # -r 表示递归复制
2. 移动与重命名
-
移动文件/目录:
mv old_dir /new_location/ # 移动目录
-
重命名:
mv report_v1.md report_final.md # 文件重命名 mv app/ webapp/ # 目录重命名
对比 cp
与 mv
命令 | 用途 | 是否需要 -r |
---|---|---|
cp | 复制文件或目录 | 目录需加 -r |
mv | 移动或重命名 | 无需 |
五、打包与压缩:高效管理文件集合
1. 打包与压缩的区别
-
打包(
.tar
):将多个文件合并为一个文件,体积不变。 -
压缩(
.tar.gz
):减小文件体积,节省存储空间。
2. 常用压缩命令
-
打包并压缩:
tar -zcf project.tar.gz project/ # 使用gzip压缩 tar -jcf project.tar.bz2 project/ # 使用bzip2压缩(压缩率更高)
-
解压缩:
tar -zxf project.tar.gz # 解压到当前目录 tar -zxf project.tar.gz -C /opt/ # 解压到指定目录
3. ZIP压缩(跨平台兼容)
-
压缩文件/目录:
zip -r backup.zip /var/log/ # -r 递归压缩目录
-
解压ZIP文件:
unzip backup.zip -d /tmp/ # 解压到指定目录
压缩算法对比
格式 | 命令选项 | 压缩速度 | 压缩率 |
---|---|---|---|
.tar.gz | -z | 快 | 中等 |
.tar.bz2 | -j | 慢 | 高 |
.zip | zip | 中等 | 中等 |
六、总结与命令速查表
1. 最佳实践
-
命名规范:小写字母 + 下划线,避免特殊字符。
-
谨慎删除:使用
rm -rf
前反复确认路径。 -
压缩选择:优先用
tar.gz
,需跨平台时用zip
。
2. 常用命令速查表
操作 | 命令示例 | 说明 |
---|---|---|
创建目录 | mkdir -p /opt/app/config | 递归创建多级目录 |
删除文件 | rm -f old_file.txt | 强制删除,无提示 |
复制目录 | cp -r source/ backup/ | 递归复制目录内容 |
重命名文件 | mv report_v1.md report_final.md | 文件重命名 |
压缩文件夹 | tar -zcf project.tar.gz project/ | 使用gzip压缩 |
解压ZIP文件 | unzip data.zip -d /target/ | 解压到指定目录 |