linux打包指令和移动指令

在Linux中,常用的文件夹打包命令是 tar,它可以将文件夹压缩打包成 .tar.tar.gz.tar.bz2 等格式的文件。以下是具体用法:

1. 基础打包(不压缩,生成 .tar 文件)

将文件夹 folder 打包为 folder.tar

bash 复制代码
tar -cvf folder.tar folder/
  • 参数说明
    • -c:创建新的归档文件(打包)。
    • -v:显示打包过程( verbose,可选,方便查看进度)。
    • -f:指定打包后的文件名(必须放在参数最后,紧跟文件名)。

2. 打包并压缩(常用格式)

(1)tar.gz 格式(高压缩率,推荐)

打包并通过 gzip 压缩,生成 .tar.gz 文件:

bash 复制代码
tar -zcvf folder.tar.gz folder/
  • 新增参数 -z:使用 gzip 压缩,文件后缀通常为 .tar.gz.tgz
(2)tar.bz2 格式(压缩率更高,速度稍慢)

通过 bzip2 压缩,生成 .tar.bz2 文件:

bash 复制代码
tar -jcvf folder.tar.bz2 folder/
  • 新增参数 -j:使用 bzip2 压缩,文件后缀为 .tar.bz2
(3)tar.xz 格式(高压缩率,较新格式)

通过 xz 压缩,生成 .tar.xz 文件:

bash 复制代码
tar -Jcvf folder.tar.xz folder/
  • 新增参数 -J:使用 xz 压缩,文件后缀为 .tar.xz

3. 打包多个文件夹

同时打包 folder1folder2multiple.tar.gz

bash 复制代码
tar -zcvf multiple.tar.gz folder1/ folder2/

4. 排除特定文件/子文件夹

打包时排除 folder 中的 temp 子文件夹和 *.log 文件:

bash 复制代码
tar -zcvf folder.tar.gz --exclude=folder/temp --exclude=folder/*.log folder/

5. 查看打包文件内容(不解压)

查看 folder.tar.gz 中包含的文件/文件夹:

bash 复制代码
tar -ztvf folder.tar.gz
  • 参数 -t:列出归档文件中的内容;-z 对应 .tar.gz 格式(若为其他格式,用 -j-J)。

总结

格式 命令 特点
.tar tar -cvf 文件名.tar 文件夹/ 仅打包,不压缩,体积大
.tar.gz tar -zcvf 文件名.tar.gz 文件夹/ 压缩率较高,速度较快
.tar.bz2 tar -jcvf 文件名.tar.bz2 文件夹/ 压缩率更高,速度较慢
.tar.xz tar -Jcvf 文件名.tar.xz 文件夹/ 压缩率最高,适合大文件

根据需求选择格式即可,日常使用中 .tar.gz 是最常用的选择。

在Linux系统中,将文件或文件夹压缩为ZIP包可以使用zip命令。以下是具体用法和示例:

基本语法

bash 复制代码
zip [选项] 压缩包名称.zip 要压缩的文件/文件夹

常用选项

  • -r:递归压缩(用于压缩文件夹,必须添加此选项,否则只会压缩文件夹本身,不会包含内部文件)。
  • -q:安静模式,不显示压缩过程的输出信息。
  • -m:压缩后删除原文件(谨慎使用)。
  • -9:最高压缩率(默认是中等压缩率,-0表示无压缩)。

示例

  1. 压缩单个文件

    file.txt压缩为archive.zip

    bash 复制代码
    zip archive.zip file.txt
  2. 压缩多个文件

    file1.txtfile2.jpg压缩为docs.zip

    bash 复制代码
    zip docs.zip file1.txt file2.jpg
  3. 压缩文件夹(关键)

    myfolder文件夹(包含内部所有文件和子文件夹)压缩为myfolder.zip,必须加-r

    bash 复制代码
    zip -r myfolder.zip myfolder
  4. 高压缩率压缩文件夹

    用最高压缩率(-9)压缩data文件夹:

    bash 复制代码
    zip -r -9 data_high.zip data
  5. 安静模式压缩

    压缩时不显示进度信息:

    bash 复制代码
    zip -r -q backup.zip /home/user/docs

注意事项

  • 如果系统中没有zip命令,需要先安装:
    • Ubuntu/Debian:sudo apt install zip
    • CentOS/RHEL:sudo yum install zip
    • Fedora:sudo dnf install zip
  • 压缩后可以用unzip命令解压(需安装unzip包):unzip 压缩包名称.zip

在Linux中,将某个ZIP文件移动到当前目录,使用 mv 命令即可,语法如下:

bash 复制代码
mv /路径/文件名.zip .

说明:

  • /路径/文件名.zip:需要移动的ZIP文件的完整路径(绝对路径或相对路径均可)。
  • .:表示当前目录(即目标位置)。

示例:

  1. 若ZIP文件在 /home/user/downloads 目录下,名为 data.zip,当前在 /home/user/docs 目录,执行:

    bash 复制代码
    mv /home/user/downloads/data.zip .

    执行后,data.zip 会被移动到 /home/user/docs 目录(当前目录)。

  2. 若ZIP文件在当前目录的上一级目录(../),名为 backup.zip,执行:

    bash 复制代码
    mv ../backup.zip .

注意:

  • 如果当前目录已存在同名ZIP文件,mv 会直接覆盖,无需确认。若需避免误覆盖,可添加 -i 选项(交互式提示):

    bash 复制代码
    mv -i /路径/文件名.zip .

    此时若存在同名文件,会提示 是否覆盖?,输入 y 确认覆盖,n 取消。

相关推荐
吴声子夜歌4 分钟前
TypeScript——基础类型(三)
java·linux·typescript
DA022121 分钟前
系统移植-STM32MP1启动详解(BootROM)
linux·bsp·系统移植
春日见30 分钟前
自驾算法的日常工作?如何提升模型性能?
linux·人工智能·机器学习·计算机视觉·自动驾驶
李彦亮老师(本人)41 分钟前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
minji...1 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
A.A呐1 小时前
【Linux第二十章】socket
linux
何中应1 小时前
Grafana如何重置密码
linux·运维·服务器·grafana
charlie1145141912 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
手握风云-2 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库
xlp666hub3 小时前
深度剖析 Linux Input 子系统(3):从零写一个 Input 驱动,最详细手把手(附完整代码)
linux·面试