Linux系统的常见命令十,打包以及解包、链接(tar、ln)

目录

本文主要介绍Linux系统的打包以及解包、链接命令tar、ln。

gzip 和bzip2只能压缩文件,但是不能压缩目录。而zip可以压缩文件也可以压缩目录但是解压过后内容全部都丢失了。打包就是把一些零零散散的东西全部都堆到一起。

tar命令

tar(tape archive)命令可以用于创建归档文件、将多个文件打包成一个归档文件、以及从归档文件中提取文件。在Linux系统中,tar命令是一个非常常用的命令。

tar命令的语法如下:

bash 复制代码
tar [options] [filename]

其中,options表示命令的选项,常用的选项包括:

  • c:创建一个新的归档文件;
  • x:从归档文件中提取文件;
  • v:显示tar命令的详细操作过程;
  • f:用于指定归档文件的名称;
  • z:用gzip压缩或解压缩文件;
  • j:用bzip2压缩或解压缩文件。

filename表示要操作的文件名或目录名。

举个例子:

  • 创建归档文件
bash 复制代码
tar cvf archive.tar file1 file2 file3

该命令将会把文件file1、file2和file3打包成一个归档文件archive.tar。

  • 解压缩归档文件
bash 复制代码
tar xvf archive.tar

该命令将会把归档文件archive.tar中的所有文件解压缩到当前目录。

  • 用gzip压缩归档文件
bash 复制代码
tar czvf archive.tar.gz file1 file2 file3

该命令将会用gzip压缩文件,并把压缩后的归档文件保存为archive.tar.gz。

  • 用gzip解压缩归档文件
bash 复制代码
tar xzvf archive.tar.gz

该命令将会把gzip压缩的归档文件archive.tar.gz中的所有文件解压缩到当前目录。

tar命令非常强大,可以通过不同的选项和参数来实现不同的操作。

需要根据具体的需求来选择使用哪些选项和参数。

汇总:

打包语法 后缀名 解包语法
tar -cvf 包名.tar .tar tar -xvf 包名.tar
tar -czvf 包名.tar.gz 或者 tar -zcvf 包名.tar.gz .tar.gz tar -xzvf 包名.tar.gz 或者 tar -zxvf 包名.tar.gz
tar -cjvf 包名.tar.bz2 或者 tar -jcvf 包名.tar.bz2 .tar.bz2 tar -xjvf 包名.tar.gz 或者 tar -jxvf 包名.tar.gz

以上语法中的v都可以忽略不写

ln命令

ln命令是Linux系统中常用的命令之一,用于创建一个新的链接文件,也就是所谓的软链接或硬链接(也称为快捷方式),与Windows中的快捷方式类似。ln命令还可以用于删除链接文件。

ln命令的语法格式如下:

bash 复制代码
ln [OPTIONS] SOURCE [LINK_NAME]

其中,OPTIONS表示选项,常用的选项有:

  • -s:创建软链接,也称为符号链接或软连接。
  • -f:删除目标文件(如果存在)而不提示用户。
  • -i:交互式操作模式,在创建链接文件之前询问用户是否需要替换已存在的文件。
  • -n:强制重建链接,即使目标文件已经存在。

SOURCE表示要创建链接的源文件,LINK_NAME表示创建的链接文件名(可以不指定,使用默认名称)。

举个例子:

  • 创建软链接
bash 复制代码
ln -s /path/to/source /path/to/link

该命令将在/path/to/目录下创建一个名为link的软链接,指向源文件/path/to/source。

  • 创建硬链接
bash 复制代码
ln /path/to/source /path/to/link

该命令将在/path/to/目录下创建一个名为link的硬链接,指向源文件/path/to/source。硬链接与源文件的inode号相同,删除其中一个文件不会影响另一个文件。

  • 删除链接文件
bash 复制代码
rm /path/to/link

该命令将会删除/link链接文件。

需要注意的是,软链接与硬链接有一些区别,其中:

  • 软链接是一个指向源文件的文件名,删除源文件并不会影响软链接,但是软链接本身如果被删除了,源文件仍然存在;
  • 硬链接是源文件的一个别名,删除源文件或硬链接文件都会相互影响,即如果删除源文件,该文件所对应的所有硬链接都会失效。

因此,在使用ln命令进行链接操作时,需要根据具体情况和需求选择使用软链接还是硬链接。

选择软链接的情况:

  1. 软链接可以跨文件系统和硬盘分区,而硬链接只能在同一个文件系统内使用。

  2. 软链接可创建的目标可以是一个目录,而硬链接只能链接到一个文件上。

  3. 软链接可以创建一个指向一个不存在的文件或目录的链接,硬链接不行。

  4. 软链接与源文件的 inode 号不相同,删除软链接不会删除源文件。

  5. 软链接可以创建循环链接,硬链接不行。

选择硬链接的情况:

  1. 硬链接是指向同一个 inode 号的文件,因此文件系统会将它们视为同一个文件,修改其中一个文件,另一个文件也会发生变化。

  2. 硬链接可以避免在不同目录下保存同一份文件,使得空间能够更有效地利用。

基于上述差异,我们可以根据需要选择硬链接或软链接。例如,若想在一个文件夹下创建一个文件的副本,但又不想占用太多空间,就可以使用硬链接。而如果需要创建一个指向另一个文件或目录的快捷方式,就可以使用软链接。

无论是软链接还是硬链接,都提供了一种通用的方法来为文件或目录创建别名,能够更加灵活地操作文件或目录。

相关推荐
。puppy33 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色42 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源1 小时前
Kafka-linux环境部署
linux·kafka
EricWang13582 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming3 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh