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

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

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

相关推荐
wd5i8kA8i6 小时前
自研多线程 SSH 极速文件传输助手(附 GitHub 源码)
运维·ssh·github
Boop_wu6 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
m0_694845577 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
菱玖8 小时前
SRC常见漏洞情况分类
运维·安全·安全威胁分析
码云数智-大飞8 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
SkyXZ~8 小时前
Jetson有Jtop,Linux有Htop,RDK也有Dtop!
linux·运维·服务器·rdkx5·rdks100·dtop
黑牛儿9 小时前
MySQL 索引实战详解:从创建到优化,彻底解决查询慢问题
服务器·数据库·后端·mysql
舒一笑9 小时前
一次“翻车”的部署,让我看清了技术、权力和职场的真相
运维·程序员·创业
starvapour9 小时前
Ubuntu系统下基于终端的音频相关命令
linux·ubuntu·音视频
杨云龙UP10 小时前
Oracle Data Pump实战:expdp/impdp常用参数与导入导出命令整理_20260406
linux·运维·服务器·数据库·oracle