对于Linux操作系统相关基础知识进行复习和整理。
主要参考自:CyC2018/CS-Notes
1.常用操作及概念
A.快捷键
Tab:命令和文件名补全;
Ctrl+C:linux下面默认的中断键(Interrupt Key),当键入Ctrl-C时,系统会发送一个中断信号给正在运行的程序和shell。具体的响应结果会根据程序的不同而不同。一些程序在收到这个信号后,会立即结束并推出程序,一些程序可能会忽略这个中断信号,还有一些程序在接受到这个信号后,会采取一些其他的动作(Action)。当shell接受到这个中断信号的时候,它会返回到提示界面,并等待下一个命令。
- Ctrl+D:Linux下面标准输入输出的EOF,发送一个exit信号,相当于在在终端中输入exit后回车。在使用标准输入输出的设备中,遇到该符号,会认为读到了文件的末尾,因此结束输入或输出。
Ctrl+Z:linux下面默认的挂起键(Suspend Key),当键入Ctrl-Z时,系统会将正在运行的程序挂起,然后放到后台,同时给出用户相关的job信息。此时,程序并没有真正的停止,用户可以通过使用fg、bg命令将job恢复到暂停前的上下文环境,并继续执行。
在linux终端输入
stty -a
命令可以查看系统默认设置的所有快捷键,如下图。
B.帮助指令
help:指令的基本用法与选项介绍。
man: manual 的缩写,将指令的具体信息显示出来。例如,执行
man date
时,结果如下图所示。
上图中有 DATE(1)
出现,其中的数字代表指令的类型,常用的数字及其类型如下:
代号 | 类型 |
---|---|
1 | 用户在 shell 环境中可以操作的指令或者可执行文件 |
5 | 配置文件 |
8 | 系统管理员可以使用的管理指令 |
info:info 与 man 类似,但是 info 将文档分成一个个页面,每个页面可以进行跳转。
doc:/usr/share/doc 存放着所有已安装软件的说明文件,包括程序的说明文件,默认配置文件等。
C.关机
who:在关机前需要先使用 who 命令查看有没有其它用户在线。
sync:为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘上,因此关机之前需要先进行 sync 同步操作。
shutdown:关机命令(只有root用户可以执行),使用shutdown --help
查看其可选参数如下图所示。
D.环境变量
- env:使用env命令显示所有的环境变量
- PATH:常用环境变量之一,用户可以在环境变量 PATH 中声明可执行文件的路径,路径之间用
:
分隔,如下——。
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin
E.Root
获取root权限
- sudo+命令:sudo 允许一般用户使用 root 可执行的命令,不过只有在 /etc/sudoers 配置文件中添加的用户才能使用该指令。
- su:输入su,然后输入root密码即可从当前用户切换到root用户。
修改ubuntu默认root密码
Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。 我们可以在终端输入命令sudo passwd
,然后输入当前用户的密码,终端会提示我们输入新的UNIX密码并确认,此时的密码就是root新密码。
F.Linux平台上的软件包管理
软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。
在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包(通常表现为以 .rpm 扩展名结尾的文件)的 Linux 发行版本和 DEB 软件包(通常表现为以 .deb 扩展名结尾的文件)的 Linux 发行版本。
- RPM 全称为 Redhat Package Manager,最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为许多 Linux 系统的既定软件标准。
- 与 RPM 竞争的是基于 Debian 操作系统的 DEB 软件包管理工具 DPKG,全称为 Debian Package,功能方面与 RPM 相似。
更友好的包管理工具包括——YUM(基于 RPM 包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标 RPM 包并且安装,可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。此外,YUM 的另一个功能是进行系统中所有软件的升级。)、APT(Advanced Packaging Tools 。与 YUM 对应,它最早被设计成 DPKG 的前端软件,现在通过 apt-rpm 也支持 rpm 管理。APT 的主要包管理工具为 APT-GET,通过此工具可满足和上述 YUM 相似的功能要求。)
安装 RPM 包
# rpm -ivh package.rpm
安装 DEB 包命令
$ sudo dpkg -i package.deb
YUM安装指定软件
# yum -y install package-name
apt-get安装指定软件(较常用)
$ sudo apt-get install package-name
更新源索引
$ sudo apt-get update
将系统中所有软件升级到最新版本
$ sudo apt-get upgrade
将操作系统连同所有软件升级到最新版本
$ sudo apt-get dist-upgrade
卸载指定软件
$ sudo apt-get remove package-name
G.发行版
基于的包管理工具 | 商业发行版 | 社区发行版 |
---|---|---|
RPM | Red Hat | Fedora / CentOS |
DPKG | Ubuntu | Debian |
H.VIM
一般指令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;
编辑模式(Insert mode):按下 “i” 等按键之后进入,可以对文本进行编辑;
指令列模式(Bottom-line mode):按下 “:” 按键之后进入,用于保存退出等操作。
在指令列模式下,有以下命令用于离开或者保存文件。
命令 | 作用 |
---|---|
:w | 写入磁盘 |
:w! | 当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 |
:q | 离开 |
:q! | 强制离开不保存 |
:wq | 写入磁盘后离开 |
:wq! | 强制写入磁盘后离开 |
I.GNU
GNU 计划,译为革奴计划,它的目标是创建一套完全自由的操作系统,称为 GNU,其内容软件完全以 GPL 方式发布。其中 GPL 全称为 GNU 通用公共许可协议(GNU General Public License),包含了以下内容:
- 以任何目的运行此程序的自由;
- 再复制的自由;
- 改进此程序,并公开发布改进的自由。
2.磁盘
A.磁盘接口
IDE:IDE(ATA)全称 Advanced Technology Attachment,接口速度最大为 133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
SATA:SATA 全称 Serial ATA,也就是使用串口的 ATA 接口,抗干扰性强,且对数据线的长度要求比 ATA 低很多,支持热插拔等功能。SATA-II 的接口速度为 300MiB/s,而 SATA-III 标准可达到 600MiB/s 的传输速度。SATA 的数据线也比 ATA 的细得多,有利于机箱内的空气流通,整理线材也比较方便。
SCSI:SCSI 全称是 Small Computer System Interface(小型机系统接口),SCSI 硬盘广为工作站以及个人电脑以及服务器所使用,因此会使用较为先进的技术,如碟片转速 15000rpm 的高转速,且传输时 CPU 占用率较低,但是单价也比相同容量的 ATA 及 SATA 硬盘更加昂贵。
SAS:SAS(Serial Attached SCSI)是新一代的 SCSI 技术,和 SATA 硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。此外也通过缩小连接线改善系统内部空间等。
B.磁盘的文件名
Linux 中每个硬件都被当做一个文件,包括磁盘。磁盘以磁盘接口类型进行命名,常见磁盘的文件名如下:
- IDE 磁盘:/dev/hd[a-d]
- SATA/SCSI/SAS 磁盘:/dev/sd[a-p]
其中文件名后面的序号的确定与系统检测到磁盘的顺序有关,而与磁盘所插入的插槽位置无关。
3.文件系统
A.概述
文件系统是用户和硬盘数据打交道的接口,用户通过文件系统可以对文件内容进行各种操作。目前最常见的两种文件系统分别是: FAT和Ext。
(1)FAT系统
FAT文件系统曾经被广泛运用于DOS系统和早期的Windows系统,即使到了现在,部分U盘等存储设备使用的依然是FAT的文件系统格式。这种文件系统是最经典的一种文件系统。
FAT的基本思想是: 由于文件是由一个一个block构成类似链表格式而组成的。我们可以为之创建一个表专门表示block的分配信息。
FAT的作用是告诉我们在硬盘系统中怎么样将block数据块合成为一个文件,但是并没有告诉我们文件到底是从哪一个block开始的。所以我们还需要一个文件目录表(File Directory table)。
(2)EXT系统
另外一种流行的文件系统是Ext(Extended Format)。EXT系统被广泛运用于Linux上,它有Ext2, Ext3, Ext4等版本,不过他们的基本思想比较类似。在EXT文件系统中,每一个文件都有一个对应的inode数据结构对其进行描述,其最主要的几个组成部分如下:
- inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
- block:记录文件的内容,文件太大时,会占用多个 block(在 Ext2 文件系统中所支持的 block 大小有 1K,2K 及 4K 三种,不同的大小限制了单个文件和文件系统的最大大小)(一个 block 只能被一个文件所使用,未使用的部分直接浪费了。因此如果需要存储大量的小文件,那么最好选用比较小的 block)。
除此之外还包括:
- superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
- block bitmap:记录 block 是否被使用的位图。
关于inode
inode 具体包含以下信息:
- 权限 (read/write/excute);
- 拥有者与群组 (owner/group);
- 容量;
- 建立或状态改变的时间 (ctime);
- 最近读取时间 (atime);
- 最近修改时间 (mtime);
- 定义文件特性的旗标 (flag),如 SetUID…;
- 该文件真正内容的指向 (pointer)。
inode 具有以下特点:
- 每个 inode 大小均固定为 128 bytes (新的 ext4 与 xfs 可设定到 256 bytes);
- 每个文件都仅会占用一个 inode。
inode 中记录了文件内容所在的 block 编号,但是每个 block 非常小,一个大文件随便都需要几十万的 block。而一个 inode 大小有限,无法直接引用这么多 block 编号。因此引入了间接、双间接、三间接引用。间接引用让 inode 记录的引用 block 块记录引用信息。
B.分区与文件系统
对磁盘分区进行格式化是为了在分区上建立文件系统。一个分区通常只能格式化为一个文件系统,但是磁盘阵列等技术可以将一个分区格式化为多个文件系统。
C.文件读取
对于 Ext2 文件系统,当要读取一个文件的内容时,先在 inode 中查找文件内容所在的所有 block,然后把所有 block 的内容读出来。
而对于 FAT 文件系统,它没有 inode,每个 block 中存储着下一个 block 的编号。
Linux与Windows对比——假设要读取一个文件,Linux的处理方式是:
- 在inode区域中找到对应文件
- 得出文件所在的不同的block
- 设计出最佳路径在硬盘上得到(读出)这些block。
Windows的处理方式是:
- 在分配表中找到对应文件,读取第一个簇。
- 根据记录的下一个簇的位置,移动到下一个位置并读取。
- 重复第二步直到读完文件。
这样区别在于,如果文件在磁盘上比较零散,Windows需要绕更多圈寻找,而Linux可以制定读取顺序,一次全部读出。所以,对于Windows,文件摆放的集中有利于提高读取效率,这就是Windows需要磁盘碎片整理的原因。
D.磁盘碎片
指一个文件内容所在的 block 过于分散,导致磁盘磁头移动距离过大,从而降低磁盘读写性能。
磁盘碎片整理——用于合并计算机硬盘上存储在不同碎片上的文件和文件夹,从而使这些文件和文件夹中的任意一个都只占据磁盘上的一块空间。将文件首尾相接整齐存储而没有碎片时,磁盘读写速度将加快。
E.目录
(1)概述
建立一个目录时,会分配一个 inode 与至少一个 block。block 记录的内容是目录下所有文件的 inode 编号以及文件名。
可以看到文件的 inode 本身不记录文件名,文件名记录在目录中,因此新增文件、删除文件、更改文件名这些操作与目录的写权限有关。
(2)挂载
挂载利用目录作为文件系统的进入点,也就是说,进入目录之后就可以读取文件系统的数据。
(3)目录配置
为了使不同 Linux 发行版本的目录结构保持一致性,Filesystem Hierarchy Standard (FHS) 规定了 Linux 的目录结构。最基础的三个目录如下:
- / (root, 根目录)
- /usr (unix software resource):所有系统默认软件都会安装到这个目录;
- /var (variable):存放系统或程序运行过程中的数据文件。
4.文件
A.文件属性
用户分为三种:文件拥有者、群组以及其它人,对不同的用户有不同的文件权限。
使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x 3 root root 17 May 6 00:14 .config
,对这个信息的解释如下:
- drwxr-xr-x:文件类型以及权限,第 1 位为文件类型字段,后 9 位为文件权限字段
- 3:链接数
- root:文件拥有者
- root:所属群组
- 17:文件大小
- May 6 00:14:文件最后被修改的时间
- .config:文件名
常见的文件类型及其含义有:
- d:目录
- -:文件
- l:链接文件
9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。
文件时间有以下三种:
- modification time (mtime):文件的内容更新就会更新;
- status time (ctime):文件的状态(权限、属性)更新就会更新;
- access time (atime):读取文件时就会更新。
B.权限
- 文件默认权限:文件默认没有可执行权限,因此为 666,也就是 -rw-rw-rw- 。
- 目录默认权限:目录必须要能够进入,也就是必须拥有可执行权限,因此为 777 ,也就是 drwxrwxrwx。
可以通过 umask 设置或者查看默认权限,通常以掩码的形式来表示,例如 002 表示其它用户的权限去除了一个 2 的权限,也就是写权限,因此建立新文件时默认的权限为 -rw-rw-r–。
(1)目录权限
文件名不是存储在一个文件的内容中,而是存储在一个文件所在的目录中。因此,拥有文件的 w 权限并不能对文件名进行修改。
目录存储文件列表,一个目录的权限也就是对其文件列表的权限。因此,目录的 r 权限表示可以读取文件列表;w 权限表示可以修改文件列表,具体来说,就是添加删除文件,对文件名进行修改;x 权限可以让该目录成为工作目录,x 权限是 r 和 w 权限的基础,如果不能使一个目录成为工作目录,也就没办法读取文件列表以及对文件列表进行修改了。
C.链接
为解决文件的共享使用,Linux 系统引入了两种链接:实体链接/硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。
(1)实体链接/硬链接
若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。硬链接可由命令 link 或 ln 创建。如下是对文件 oldfile 创建硬链接的命令。
link oldfile newfile
ln oldfile newfile
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
- 文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
(2)软链接
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。因此软链接的创建与使用没有类似硬链接的诸多限制:
- 软链接有自己的文件属性及权限等;
- 可对不存在的文件或目录创建软链接;
- 软链接可交叉文件系统;
- 软链接可对文件或目录创建;
- 创建软链接时,链接计数 i_nlink 不会增加;
- 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
D.文件操作相关Linux命令
(1)文件与目录的基本操作
ls——列出文件或者目录的信息,目录的信息就是其中包含的文件。
# ls [-aAdfFhilnrRSt] file|dir
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据
cd——更换当前目录。
cd [相对路径或绝对路径]
mkdir——创建目录。
# mkdir [-mp] 目录名称
-m :配置目录权限
-p :递归创建目录
rmdir——删除目录,目录必须为空。
rmdir [-p] 目录名称
-p :递归删除目录
touch——更新文件时间或者建立新文件。
# touch [-acdmt] filename
-a : 更新 atime
-c : 更新 ctime,若该文件不存在则不建立新文件
-m : 更新 mtime
-d : 后面可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
-t : 后面可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]
cp——复制文件。如果源文件有两个以上,则目的文件一定要是目录才行。
cp [-adfilprsu] source destination
-a :相当于 -dr --preserve=all
-d :若来源文件为链接文件,则复制链接文件属性而非文件本身
-i :若目标文件已经存在时,在覆盖前会先询问
-p :连同文件的属性一起复制过去
-r :递归复制
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了
rm——删除文件。
# rm [-fir] 文件或目录
-r :递归删除
mv——移动文件。
# mv [-fiu] source destination
# mv [options] source1 source2 source3 .... directory
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
(2)修改权限
可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1。
# chmod [-R] xyz dirname/filename
示例:将 .bashrc 文件的权限修改为 -rwxr-xr–。
# chmod 754 .bashrc
也可以使用符号来设定权限。
# chmod [ugoa] [+-=] [rwx] dirname/filename
- u:拥有者
- g:所属群组
- o:其他人
- a:所有人
- +:添加权限
- -:移除权限
- =:设定权限
示例:为 .bashrc 文件的所有用户添加写权限。
# chmod a+w .bashrc
(3)链接
# ln [-sf] source_filename dist_filename
-s :默认是实体链接,加 -s 为符号链接
-f :如果目标文件存在时,先删除目标文件
1.实体链接:在目录下创建一个条目,记录着文件名与 inode 编号,这个 inode 就是源文件的 inode。删除任意一个条目,文件还是存在,只要引用数量不为 0。有以下限制:不能跨越文件系统、不能对目录进行链接。
# ln /etc/crontab .
# ll -i /etc/crontab crontab
34474855 -rw-r--r--. 2 root root 451 Jun 10 2014 crontab
34474855 -rw-r--r--. 2 root root 451 Jun 10 2014 /etc/crontab
2.符号链接文件保存着源文件所在的绝对路径,在读取时会定位到源文件上,可以理解为 Windows 的快捷方式。当源文件被删除了,链接文件就打不开了。因为记录的是路径,所以可以为目录建立符号链接。
# ll -i /etc/crontab /root/crontab2
34474855 -rw-r--r--. 2 root root 451 Jun 10 2014 /etc/crontab
53745909 lrwxrwxrwx. 1 root root 12 Jun 23 22:31 /root/crontab2 -> /etc/crontab
(4)获取文件内容
cat——取得文件内容。
# cat [-AbEnTv] filename
-n :打印出行号,连同空白行也会有行号,-b 不会
tac——是 cat 的反向操作,从最后一行开始打印。
more——和 cat 不同的是它可以一页一页查看文件内容,比较适合大文件的查看。
less——和 more 类似,但是多了一个向前翻页的功能。
head——取得文件前几行。
# head [-n number] filename
-n :后面接数字,代表显示几行的意思
tail——是 head 的反向操作,只是取得是后几行。
od——以字符或者十六进制的形式显示二进制文件。
(5)指令与文件搜索
which——指令搜索。
# which [-a] command
-a :将所有指令列出,而不是只列第一个
whereis——文件搜索。速度比较快,因为它只搜索几个特定的目录。
# whereis [-bmsu] dirname/filename
locate——文件搜索。可以用关键字或者正则表达式进行搜索。locate 使用 /var/lib/mlocate/ 这个数据库来进行搜索,它存储在内存中,并且每天更新一次,所以无法用 locate 搜索新建的文件。可以使用 updatedb 来立即更新数据库。
# locate [-ir] keyword
-r:正则表达式
find——文件搜索。可以使用文件的属性和权限进行搜索。
# find [basedir] [option]
example: find . -name "shadow*"
① 与时间有关的选项
-mtime n :列出在 n 天前的那一天修改过内容的文件
-mtime +n :列出在 n 天之前 (不含 n 天本身) 修改过内容的文件
-mtime -n :列出在 n 天之内 (含 n 天本身) 修改过内容的文件
-newer file : 列出比 file 更新的文件
+4、4 和 -4 的指示的时间范围如下:
② 与文件拥有者和所属群组有关的选项
-uid n
-gid n
-user name
-group name
-nouser :搜索拥有者不存在 /etc/passwd 的文件
-nogroup:搜索所属群组不存在于 /etc/group 的文件
③ 与文件权限和名称有关的选项
-name filename
-size [+-]SIZE:搜寻比 SIZE 还要大 (+) 或小 (-) 的文件。这个 SIZE 的规格有:c: 代表 byte,k: 代表 1024bytes。所以,要找比 50KB 还要大的文件,就是 -size +50k
-type TYPE
-perm mode :搜索权限等于 mode 的文件
-perm -mode :搜索权限包含 mode 的文件
-perm /mode :搜索权限包含任一 mode 的文件
5.压缩与打包
A.压缩文件名
Linux 底下有很多压缩文件名,常见的如下:
扩展名 | 压缩程序 |
---|---|
*.Z | compress |
*.zip | zip |
*.gz | gzip |
*.bz2 | bzip2 |
*.xz | xz |
*.tar | tar 程序打包的数据,没有经过压缩 |
*.tar.gz | tar 程序打包的文件,经过 gzip 的压缩 |
*.tar.bz2 | tar 程序打包的文件,经过 bzip2 的压缩 |
*.tar.xz | tar 程序打包的文件,经过 xz 的压缩 |
B.压缩指令
gzip——gzip 是 Linux 使用最广的压缩指令,可以解开 compress、zip 与 gzip 所压缩的文件。经过 gzip 压缩过,源文件就不存在了。有 9 个不同的压缩等级可以使用。可以使用 zcat、zmore、zless 来读取压缩文件的内容。
$ gzip [-cdtv#] filename
-c :将压缩的数据输出到屏幕上
-d :解压缩
-t :检验压缩文件是否出错
-v :显示压缩比等信息
-# : # 为数字的意思,代表压缩等级,数字越大压缩比越高,默认为 6
bzip2——提供比 gzip 更高的压缩比。查看命令:bzcat、bzmore、bzless、bzgrep。
$ bzip2 [-cdkzv#] filename
-k :保留源文件
xz——提供比 bzip2 更佳的压缩比。可以看到,gzip、bzip2、xz 的压缩比不断优化。不过要注意的是,压缩比越高,压缩的时间也越长。查看命令:xzcat、xzmore、xzless、xzgrep。
$ xz [-dtlkc#] filename
C.打包
压缩指令只能对一个文件进行压缩,而打包能够将多个文件打包成一个大文件。tar 不仅可以用于打包,也可以使用 gzip、bzip2、xz 将打包文件进行压缩。
$ tar [-z|-j|-J] [cv] [-f 新建的 tar 文件] filename... ==打包压缩
$ tar [-z|-j|-J] [tv] [-f 已有的 tar 文件] ==查看
$ tar [-z|-j|-J] [xv] [-f 已有的 tar 文件] [-C 目录]==解压缩
-z :使用 zip;
-j :使用 bzip2;
-J :使用 xz;
-c :新建打包文件;
-t :查看打包文件里面有哪些文件;
-x :解打包或解压缩的功能;
-v :在压缩/解压缩的过程中,显示正在处理的文件名;
-f : filename:要处理的文件;
-C 目录 : 在特定目录解压缩。
使用方式 | 命令 |
---|---|
打包压缩 | tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 |
查 看 | tar -jtv -f filename.tar.bz2 |
解压缩 | tar -jxv -f filename.tar.bz2 -C 要解压缩的目录 |