目录

mkfs,mke2fs,fsck,fse2ck

blkid,e2label,dumpe2fs,tune2fs

mount,umount,fuser,

df,du,dd

/etc/fstab,mkswap,swapon,swapoff,free

gzip,bzip2,xz,zip,tar

一、文件系统管理工具

创建文件系统(格式化)mkfs.ext4   mkfs.xfs...

查看文件属性blkid   dumpe2fs   tune2fs

检测(修复)文件系统fsck.ext3  fsck.ext4   fsck.xfs...

1、创建文件系统(格式化)

mkfs

mkfs.FSTYPE   /dev/DEVICE   

mkfs -t FSTYPE   /dev/DEVICE         #两个命令是等效的

[root@Node3 ~]# mkfs.ext4 /dev/sdb1mke2fs 1.41.12 (17-May-2010)文件系统标签=操作系统:Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks655776 inodes, 2622603 blocks131130 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=268854886481 block groups32768 blocks per group, 32768 fragments per group8096 inodes per groupSuperblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成This filesystem will be automatically checked every 35 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.[root@Node3 ~]# mkfs -t ext4  /dev/sdb2mke2fs 1.41.12 (17-May-2010)mkfs.ext4: inode_size (128) * inodes_count (0) too big for a	filesystem with 0 blocks, specify higher inode_ratio (-i)	or lower inode count (-N).[root@Node3 ~]# mkfs -t ext4  /dev/sdb3mke2fs 1.41.12 (17-May-2010)无法对 /dev/sdb3 进行 stat 调用 --- 没有那个文件或目录The device apparently does not exist; did you specify it correctly?[root@Node3 ~]# mkfs -t ext4  /dev/sdb4mke2fs 1.41.12 (17-May-2010)无法对 /dev/sdb4 进行 stat 调用 --- 没有那个文件或目录The device apparently does not exist; did you specify it correctly?[root@Node3 ~]# mkfs -t ext4  /dev/sdb5mke2fs 1.41.12 (17-May-2010)文件系统标签=操作系统:Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks328656 inodes, 1313305 blocks65665 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=134637158441 block groups32768 blocks per group, 32768 fragments per group8016 inodes per groupSuperblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912, 819200, 884736正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成This filesystem will be automatically checked every 39 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.[root@Node3 ~]#

ext系列文件系统专用的格式化工具:

mke2fs         #选项和用户和mkfs都是一样的,只是mke2fs专用于ext系统文件系统

mke2fs [OPTION]... /dev/DEVICE

        -t {ext2|ext3|ext4},指明要创建的文件系统类型

        -b {1024|2048|4096},指明块的大小,其上限由page frame(内存叶框)大小决定,一般为4K

        -L NAMENAME   指定卷标名(盘符)

        -j 相当于-t ext3

      -i #:指明inode与字节的比率,即,每多少个字节给创建一个inode

      -N #:直接指明给此文件系统创建多少个inode

      -m #:指明预留空间的百分比,默认为5

      -O FEATURE [,...]: 默认开启特性 是调用 tune2fs命令

      -O FEATURE ^[...] :默认不开启特性  

2、查看和设定文件系统属性

blkid

       查看分区的UUID,格式,卷标

blkid  [/dev/DEVICE]

[root@Node3 ~]# blkid /dev/sdb1/dev/sdb1: UUID="bfc8b089-e137-41fa-b63d-4b6af5881249" TYPE="ext4"[root@Node3 ~]# blkid /dev/sdc2/dev/sdc2: UUID="aa498e76-237b-4b82-84e4-a198c23c843c" TYPE="ext4" LABEL="MYdata"

UUID:全局惟一标识符

UUID的作用及意义

原因1:它是真正的唯一标志符

       UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。

原因2:设备名并非总是不变的

       自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。

使用UUID对于挂载移动设备也非常有好处──例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。

原因3:ubuntu中的许多关键功能现在开始依赖于UUID

例如grub──系统引导程序,现在可以识别UUID,打开你的/boot/grub/menu.lst,你可以看到类似如下的语句:

查看UUID:

[root@Node3 ~]# ls -l /dev/disk/by-uuid总用量 0lrwxrwxrwx 1 root root 10 12月  5 15:13 7e6bc97d-be6d-4ac9-bc26-8be3d80e715d -> ../../sda3lrwxrwxrwx 1 root root 10 12月  5 15:13 970e070d-b49f-439b-8bbb-11ef49ee95ce -> ../../sda1lrwxrwxrwx 1 root root 10 12月  5 19:35 aecd844e-01df-40df-b1e9-c7730c21b9a5 -> ../../sdb5lrwxrwxrwx 1 root root 10 12月  5 19:35 bfc8b089-e137-41fa-b63d-4b6af5881249 -> ../../sdb1lrwxrwxrwx 1 root root 10 12月  5 15:13 e0c0bc25-62e5-4896-8749-fce761bc3af7 -> ../../sda2lrwxrwxrwx 1 root root 10 12月  5 19:57 f0ffb31c-8f6a-42e9-9639-40bbad7f0488 -> ../../sda4[root@Node3 ~]# blkid /dev/sdb1/dev/sdb1: UUID="bfc8b089-e137-41fa-b63d-4b6af5881249" TYPE="ext4"

e2label     

       查看和设定卷标,不影响分区中的数据

查看:e2label  /dev/DEVICE

设定卷标:e2label /dev/DEVICE  LABELNAME

[root@Node3 ~]# e2label /dev/sdc2MYdata[root@Node3 ~]# e2label /dev/sdc2 sbdata[root@Node3 ~]# blkid /dev/sdc2/dev/sdc2: UUID="aa498e76-237b-4b82-84e4-a198c23c843c" TYPE="ext4" LABEL="sbdata"

dumpe2fs

      显示ext系列文件系统属性信息

dumpe2fs [-h] /dev/DEVICE    -h 表示只显示超级块的信息

tune2fs

        查看或修改ext系列文件系统的某些属性           #不影响分区中的数据

tune2fs -l  /dev/DEVICE      查看超级块分区的信息

修改指定文件系统的属性:

        -j:ext2-->ext3

        -L LABELNAME:修改卷标

        -m #:调整预留空间的百分比

       -o [^] mount_options:开启或关闭某种默认挂载选项。常用acl  

                      如:tune2fs -o acl /dev/DEVICE

       -O(大写):文件系统属性的启动或关闭

3、文件系统检测

     因进程意外终止或系统崩溃等原因导致写入操作非正常终止时,可能会导致文件损坏,此时,应修复文件系统,要先卸载

fsck

fsck -t FSTYPE /dev/DEVICE

      -a 自动修复所有错误                #只是移除状态不一致的文件

      -r 交互式修复错误,默认就有

      -f 强制检测 

ext系列文件系统的专用工具:

e2fsck:

    -y:对所有问题自动恢复为yes

    -f:即使文件系统处于clean状态也要强制进行检测

windows无法识别Linux上专用的文件系统,因此,有存储设备需要两种系统之间交叉使用时,应该使用windows支持的文件系统,linux对ntfs格式支持还不是很好。

mkfs -t vfat /dev/DEVICE

二、挂载文件系统

注意:在Linux系统上,所有的文件系统必须通过根文件系统的某个分支来访问

根文件系统:根关联到的分区,其余所有的其它文件系统如果想要被访问,都只能够通过“关联”至根文件系统上的某个目录来实现,这种操作即所谓的“挂载”也即mount,卸载umount

挂载点:mount_point 即用作为另一个文件系统的访问入口的目录,必须事先存在,应该使用别的进程未使用的目录

mount   挂载

mount [OPTIONS]...  [-t FSTYPE] [-o OPTION] DEVICE MOUNT_POINT

mount:默认通过读取/etc/mtab文件来显示当前系统所以已经存在的挂在设备

命令选项:

       -r: 只读挂载

       -w: read and write 读写挂载,默认就是以读写挂载的

       -t FSTYPE:被挂载的设备上的文件系统类型,可省略,此时mount会自动使用blkid命令来判断

       -L:以卷标的方式指定要挂载的设备,此时DEVICE可省   moun -L  "LABLENAME" /DEVCIE

       -U:UUID 以UUID的方式指定要挂载的设备,此时DEVICE可省  mount -U "UUID" /DEVICE

       -a: 自动挂载所有的支持自动挂载的设备(/etc/fstab文件中定义的支持自动挂载的设备)

       -n: 默认情况下,设备挂载与否的改变结果会保存于/etc/mtab中一份,-n选项用于变动时不更新此文件:但可以用cat /proc/mounts查看

       -B:绑定目录至另一个目录上,就是mount不仅可以挂载设备也可以挂载文件

-o OPTION 挂载选项:

         async:异步写入

         sync:同步写入即使用同步I/O,

         atime/noatime:文件或目录在被访问时是否更新其访问时间戳

         diratime/nodiratime:目录在被访问时是否更新其访问时间戳

         auto/noauto:设备是否支持Mount命令使用-a选项时自动挂载

         dev/nodev:此设备上是否创建设备文件

         exec/noexec:是否允许执行此文件系统上的程序文件

         suid/nosuid:是否支持此设备上的文件上使用SUID权限

         remount:重新挂载       如:mount -o remount,acl  /dev/sdb1

          ro:只读

          rw:读写

          loop:用来把一个文件当成硬盘分区挂接上系统

          iocharset:指定访问文件系统所用字符集

          user/nouser:是否允许普通用户挂载此文件系统   

defaults,所有挂载选项均未指明时,其默认为:rw,suid,dev,exec,auto,nouser,async,and relatime

#挂载ISO文件(linux.iso文件使用Wincap 上传到 /root下)#mount -o loop/root/linux.iso/mnt/iso #挂载网络共享的文件夹#mount -t cifs -ousername=zhang,password=a1! //192.168.80.1/shipin /mnt/test/cifs  是共享windows文件夹系统

umount   卸载

umount DEVICE umount MOUNT_POINT

注意

       挂载点挂载之前的文件在挂载后会被隐藏,卸载后还会存在,设备卸载前保存的文件,卸载后也会保存,再此挂载就可以访问

       正在被进程访问的目录,不能被卸载

fuser

查看正在访问指定挂载点的进程:fuser -v MOUNT_POINT  或  lsof MOUNT_POINT

#fuser -cu /mnt/test  -c "mounted 文件系统" -u "显示当前哪个用户访问"#fuser -k /mnt/test  -k"结束当前用户的访问"

终止所有正在访问指定挂载点的进程:fuser -km MOUNT_POINT

三、文件系统等空间占用信息查看工具

1、df

       查看分区使用情况

df [OPTION] [挂载点或DEVICE]

-a  显示所有的文件系统信息,包括特殊文件系统,如/proc 

-h  使用习惯单位显示容量,如KB,MB,GB等  

-i  inode数量

-p  以Posix兼容的格式输出

-T 显示文件系统类型    

2、du

          评估文件大小

du [OPTION] [FILENAME]

    -a  显示每个子文件的磁盘占用量,默认是只统计子目录

    -h  使用。。。

    -s  只统计总占用量,而不列出子目录和子文件的大小

3、du命令和df命令的区别

     df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间);du是面向文件的,只会计算文件或目录占用的空间

四、/etc/fstab      

          定义开机可自动挂载的文件系统,每行一个文件系统

1、/etc/fstab文件的作用

      磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。

     系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。

    mount -a 将/etc/fstab的所有内容重新加载。

2、挂载的限制

 1)根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为根目录是所有目录的跟目录,其他木有都是由   根目录 /衍生出来的。

 2)挂载点必须是已经存在的目录。

 3)挂载点的指定可以任意,但必须遵守必要的系统目录架构原则

 4)所有挂载点在同一时间只能被挂载一次

 5)所有设备(分区)在同一时间只能挂在一次

 6)若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。

3、/etc/fstab文件中的参数

[root@localhost ~]# cat /etc/fstab ## /etc/fstab# Created by anaconda on Mon Jun  8 18:39:48 2015## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#UUID=3ca94f19-885f-4ceb-a358-e517936c29f5 /                       ext4    defaults        1 1UUID=dbfbfa8d-65ca-48eb-9bb1-59fa3e929de6 /home                   ext4    defaults        1 2UUID=5098319e-c317-441a-8997-dc2f8cf84dfb /usr                    ext4    defaults        1 2UUID=a6e82449-fe6d-44cd-995f-7b6e27849b64 /var                    ext4    defaults        1 2UUID=6e9b5627-b72d-4dcf-9d4b-5d42fc0f6bd4 swap                    swap    defaults        0 0tmpfs                   /dev/shm                tmpfs   defaults        0 0devpts                  /dev/pts                devpts  gid=5,mode=620  0 0sysfs                   /sys                    sysfs   defaults        0 0proc                    /proc                   proc    defaults        0 0UUID=c619d19f-3a52-4f3a-b295-79ed72e7c8d9  /test  ext4  defaults  0 0UUID=bfc5ca7b-e1f3-4211-b963-9ae4fc55267d  /data  ext4  defaults  0 0

第一列 要挂载的设备(分区)或伪文件系统

      磁盘设备文件名或者该设备的Label或者UUID

第二列 Mount point

      设备的挂载点,就是你要挂载到哪个目录下

第三列 filesystem

      磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等 

第四列 parameters(挂载选项)

      文件系统的参数

可选的参数有:

Async/sync       设置是否为同步方式运行,默认为async

auto/noauto     当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro                是否以以只读或者读写模式挂载

exec/noexec      限制此文件系统内是否能够进行"执行"的操作

user/nouser      是否允许用户使用mount命令挂载

suid/nosuid      是否允许SUID的存在

Usrquota          启动文件系统支持磁盘配额模式

Grpquota         启动文件系统对群组磁盘配额模式的支持

defaults        表示使用默认挂载选项:同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

                     多个选项间使用逗号分隔:如defaults,acl,noatime

第五列:转储频率    #能否被dump备份命令作用,一般不备份

                 dump是一个用来作为备份的命令。通常这个参数的值为0或者1

  0   代表不要做dump备份

  1   代表要每天进行dump的操作

  2   每隔一天进行dump操作

第六列:自检次序     #是否检验扇区

       开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

  0   不要检验

  1   最早检验(一般只有根文件可首先自检)

  2   1级别检验完成之后进行检验

   ...

五、SWAP文件系统

       linux上的交换分区必须使用独立的分区,也可以使用dd命令创建

free 查看系统内存使用状况:

       可用选项-b,-k,-m,-g

[root@Node3 ~]# free              total       used       free     shared    buffers     cachedMem:       1914492     412076    1502416          0      19952     285740-/+ buffers/cache:     106384    1808108Swap:      2047992          0    2047992[root@Node3 ~]# free -m             total       used       free     shared    buffers     cachedMem:          1869        402       1467          0         19        279-/+ buffers/cache:        103       1765Swap:         1999          0       1999

创建交换分区的步骤:

1、分区,并将分区格式id调整为82 swap格式

fdisk  /dev/DEVICE  t命令调整ID为82(不调整也可以,但不知道会出什么问题)

2、格式化交换分区

mkswap [OPTION] /deV/DEVICE

       -L LABLENAME

3、启用交换分区

swapon [option] [DEVICE]

                -a  启用/etc/fstab文件中所有的交换分区

                -p PRIORITY:设定其优先级

swapoff  [option] [DEVICE]    禁用交换分区

                 -a:禁用所有的交换分区   

系统使用交换分区的倾向设置:

[root@Node3 ~]# cat /proc/sys/vm/swappiness 60

linux允许将文件组织成设备的样子来使用,这就是本地回环设备

dd  命令使用

复制文件:

      dd  if=input_file  of=output_file  bs=N[b|k|m|g]默认单位为B count=N 

                                                           块大小                               块个数

dd if=/dev/cdrom of=/tmp/linux.iso   

cat /dev/cdrom >>/tmp/linux.iso                              #制作iso镜像

dd if=/dev/sda of=/tmp/myfile bs=512 count=1       #复制MBR

dd if=/dev/zero of=/tmp/file bs=   count= 

[root@Node3 ~]# dd if=/etc/issue of=issue.dd记录了0+1 的读入记录了0+1 的写出73字节(73 B)已复制,0.000298521 秒,245 kB/秒[root@Node3 ~]# cat issue.dd Welcome to CentOS release 6.5 (Final)Kernel \r on an \m\r \l \d \n \m

用dd命令复制文件和cp复制文件时,有什么不一样呢?

cp是在文件系统级别操作的

dd是绕过文件系统,直接在块级别操作,low-level复制,性能更好

六、常用的压缩、归档工具

1、gzip,gunzip        

                  不能压缩目录,压缩、解压都会删除原文件,后缀名为.gz

gzip  -c  将压缩结果送往标准输出,可以使用重定向将其保存为压缩文件,从而保留原文件

gzip -d   解压,相当于gunzip 

zcat   临时查看压缩文件的内容

2、bzip2,bunzip2

                    不能压缩目录,对大文件的压缩比更大,后缀名为.bz2

bzip2 -d     解压,相当于bunzip2

bzip2 -k     保留原文件

bzcat         临时查看压缩文件的内容

[root@Node3 src]# ls -lh messages -rw-r--r-- 1 root root 358K 12月  7 14:16 messages[root@Node3 src]# bzip2 messages [root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 24K 12月  7 14:16 messages.bz2[root@Node3 src]# bzip2 -d messages.bz2 [root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages[root@Node3 src]# bzip2 -k messages [root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages-rw-r--r-- 1 root root  24K 12月  7 14:16 messages.bz2[root@Node3 src]# bunzip2 -k messages.bz2 bunzip2: Output file messages already exists.[root@Node3 src]# bunzip2 -k messages.bz2 -f[root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages-rw-r--r-- 1 root root  24K 12月  7 14:16 messages.bz2[root@Node3 src]# bunzip2 messages.bz2 bunzip2: Output file messages already exists.[root@Node3 src]# bunzip2 messages.bz2 -f[root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages

3、xz

          新出的压缩工具,默认不保留原文件,压缩比最大,后缀.zx

xz -d   解压,相当于unxz

xz -k    保留原文件

xzcat   临时查看压缩文件的内容

注意:

         前面的压缩工具都不支持对目录进行压缩,对目录压缩要先打包再压缩

         都支持-N选项:指定压缩比1-9,不指定默认为6

4、zip  最通用的压缩,也可以归档(打包),支持压缩目录,windows也支持

            默认保留除原文件,-d选项不是解压

zip   压缩后文件   原文件

zip   打包后文件   原目录/*          #要这样才能打包目录

[root@Node3 src]# zip messages messages   adding: messages (deflated 88%)[root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages-rw-r--r-- 1 root root  45K 12月  7 14:47 messages.zip[root@Node3 src]# unzip messages.zipArchive:  messages.zipreplace messages? [y]es, [n]o, [A]ll, [N]one, [r]ename: y  inflating: messages                [root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages-rw-r--r-- 1 root root  45K 12月  7 14:47 messages.zip[root@Node3 src]# zip messages.bak messages  adding: messages (deflated 88%)[root@Node3 src]# ls -lh messages*-rw-r--r-- 1 root root 358K 12月  7 14:16 messages-rw-r--r-- 1 root root  45K 12月  7 14:48 messages.bak-rw-r--r-- 1 root root  45K 12月  7 14:47 messages.zip[root@Node3 src]# zip -d messages.bak zip error: Nothing to do! (messages.bak)[root@Node3 src]# unzip  messages.bak Archive:  messages.bakreplace messages? [y]es, [n]o, [A]ll, [N]one, [r]ename: y  inflating: messages

压缩目录:

[root@Node3 src]# zip pam.d.zip pam.d/*        #要这样压缩目录

5、归档工具

tar    将多个文件,打包成一个文件

tar [options] -f file.tar file1 ...

        -c   创建归档文件

        -x   展开归档文件

        -t   不展开而直接查看被归档的文件

        -z   调用gzip压缩

         -j   调用bazip2压缩

        -J    调用xz压缩 

       -C 指定解压后存放的目录

       -p :使用原档案的原来属性(属性不会依据使用者而变)

   -h, --dereference  follow symlinks; archive and dump the files they point to

   --hard-dereference  follow hard links; archive and dump the files they refer to

   -h,它会把符号链接文件视作普通文件或目录,从而打包的是源文件

[root@Node3 src]# tar -cf  pam.d.tar pam.d[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root  50K 12月  7 14:59 pam.d.tar[root@Node3 src]# xz pam.d.tar[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root 6.4K 12月  7 14:59 pam.d.tar.xz[root@Node3 src]# unxz pam.d.tar.xz [root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root  50K 12月  7 14:59 pam.d.tar[root@Node3 src]# mv pam.d pam.d.bak[root@Node3 src]# tar -xf pam.d.tar [root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.ddrwxr-xr-x 3 root root 4.0K 12月  7 15:05 pam.d.bak-rw-r--r-- 1 root root  50K 12月  7 14:59 pam.d.tar

归档并压缩:

[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d[root@Node3 src]# tar -zcf pam.d.tar.gz pam.d[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root 6.9K 12月  7 15:13 pam.d.tar.gz[root@Node3 src]# tar -jcf pam.d.tar.bz2 pam.d[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root 7.2K 12月  7 15:13 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:13 pam.d.tar.gz[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root 7.2K 12月  7 15:13 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:13 pam.d.tar.gz[root@Node3 src]# tar -Jcf pam.d.tar.xz pam.d[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz

解压并展开:

[root@Node3 src]# mv pam.d pam.d.bak[root@Node3 src]# [root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz[root@Node3 src]# tar -zxf pam.d.tar.xz  #调用不同的压缩工具不能解压gzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz[root@Node3 src]# tar -Jxf pam.d.tar.gzxz: (stdin): File format not recognizedtar: Child returned status 1tar: Error is not recoverable: exiting now[root@Node3 src]# tar -Jxf pam.d.tar.xz [root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.ddrwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz

其实解压并展开时,tar会智能选择相应的工具来解压的:

[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.ddrwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz[root@Node3 src]# rm pam.d -rf[root@Node3 src]# tar -xf pam.d.tar.xz[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.ddrwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz[root@Node3 src]# rm pam.d -rf[root@Node3 src]# tar xf pam.d.tar.bz2[root@Node3 src]# ls -ldh pam.d*drwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.ddrwxr-xr-x 2 root root 4.0K 12月  7 14:50 pam.d.bak-rw-r--r-- 1 root root 6.9K 12月  7 15:16 pam.d.tar.bz2-rw-r--r-- 1 root root 7.2K 12月  7 15:16 pam.d.tar.gz-rw-r--r-- 1 root root 6.4K 12月  7 15:16 pam.d.tar.xz