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. 硬链接可以避免在不同目录下保存同一份文件,使得空间能够更有效地利用。

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

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

相关推荐
張萠飛4 分钟前
Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题
linux·网络·tcp/ip
孙同学_29 分钟前
【Linux篇】自主Shell命令行解释器
android·linux
莲动渔舟1 小时前
Nyquist插件基础:LISP语法-自定义函数
服务器·开发语言·lisp·音频处理·audacity
敲上瘾1 小时前
高并发内存池(二):Central Cache的实现
linux·服务器·c++·缓存·哈希算法
一只努力学习的Cat.1 小时前
Linux:环境变量
linux
安顾里1 小时前
Linux命令-tar
linux·运维·服务器
沐土Arvin1 小时前
Nginx 核心配置详解与性能优化最佳实践
运维·开发语言·前端·nginx·性能优化
不爱敲代码的阿玲2 小时前
西门子s7协议
服务器·网络·tcp/ip
有莘不破呀2 小时前
服务器磁盘卷组缓存cache设置介绍
linux·运维·服务器
DBWYX2 小时前
gcc 链接顺序,静态库循环依赖问题
linux·运维·服务器