Atar
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供网站制作、成都网站制作,网页设计,网站制作(企业站、成都响应式网站建设公司、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
-zxvf
filename.tgz
-C
/tmp
是调用gzip压缩工具,解压缩filename.tgz
文件到/tmp目录下。-C
类似
create,-C
用来指定解压缩的目的目录。卢韬旭
每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区
逻辑卷管理器LVM(Logicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整,而且可以将零碎的空间进行整合
• 物理卷(PV-Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘
• 卷组(VG-Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组
• 逻辑卷(LV-Logical Volume)
逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组
逻辑卷管理器和是主分区还是逻辑分区没有关系
vgdisplay 里的PE Size是指逻辑卷的最小单位。假设PE Size是4M;比如我向里写东西。我一个文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每个块都用了,但是每个块都有剩余位置的时候,会把每个区的剩余位置都拼凑一下,以供使用。但是只要还有没被占用的块,都不会使用用过的块。逻辑卷大小为这个PE Size的整数倍
处在它所在的文件夹的时候是无法卸载的
我现在想创建两个卷组,vg1和vg2。sdc1和sdc2给vg1,sdc3和sdc4给vg2
修改卷组属性,用来设置卷组是否处于活动状态,活跃状态的时候卷组无法被删除,非活动状态的卷组才能被删除掉。VG Status:resizable是表示可被调整大小的状态。lvremove时有可能因为逻辑卷里东西过多导致删除逻辑卷的时候假删除,即逻辑卷没了,但是里面东西还在,这时卷组觉得它里面还有东西,就会处于活跃状态,这时需要↓
接下来resize1要用来做块(逻辑卷)的放大,resize2要用来做块的缩小。设备放大时不论是挂载状态下或非挂载状态下都可以做放大,即在线放大。但是缩小的话设备要是非挂载的状态,即离线缩小
df -lh
发现size大小变小了。之前给的resize1是800M,resize2是784M,这里的大小表示文件系统(filesystem)大小(即这个设备能存多少东西),剩下的容量mkfs,挂载的时候都会损耗一定的容量大小。文件系统大小不会随着块的变大或缩小而改变,需要手动才能改变文件系统大小。
❉ 放大要先放大块的大小,再放大文件系统的大小
lvresize -L +200M /dev/vg3/resize1 放大逻辑卷
如果不带+,会出现warning,+时是在原有基础之上加200M,不加+的话就是将现有逻辑卷的大小调整成200M。如果比之前设置的逻辑卷小的话就证明是要将其缩小,会造成数据丢失
resize2fs /dev/vg3/resize1 调整文件系统大小,但是不会管你到底是放大还是缩小,就是将文件系统调整到它可以变大的最大程度
df -lh 看设备容量变大了
❉ 缩小的时候要先将文件系统缩小,再缩小逻辑卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出现提示 [请先输入e2fsck -f /dev/vg3/resize2 命令],将处于多个块当中的内容整理到一起,以便进行缩小。但是也不能百分百保证数据不丢失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/ 重新挂载回来
df -lh 看系统里设备和文件系统挂载的使用情况
发现size变小了,缩小成功
Truncate 命令 通常用于将文件缩小或扩展到指定的大小。如果文件大于指定的大小,则会丢失额外的数据。如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节。
系统环境
Centos 7
安装
通常操作系统会安装truncate 命令 ,该命令在coreutils安装包里面,如果没有安装可以使用下面命令安装:
[root@localhost ~]# yum provides truncateLoaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comcoreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo : baseMatched from:Filename : /usr/bin/truncatecoreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo : @anacondaMatched from:Filename : /usr/bin/truncate
可以看到truncate由coreutils安装包提供,下面安装coreutils安装包:
[root@localhost ~]# yum -y install coreutils
truncate常用选项
下面是truncate的常用选项:
-c, --no-create -- 不创建任何文件
-o, --io-blocks -- 将大小视为存储块的数量,而不是字节
-r, --reference=RFILE -- 参考指定的文件大小
-s, --size=SIZE -- 按照指定的字节设置文件大小
使用truncate清除文件内容
这对于清除日志文件很有用。truncate过程基本上删除了文件的所有内容。它不会删除文件本身,但会将它作为零字节文件保留在磁盘上。例如,让我们使用truncate将/var/log/yum.log清除为0个字节。
[root@localhost ~]# du -sh /var/log/yum.log
12K /var/log/yum.log
[root@localhost ~]# truncate -s 0 /var/log/yum.log
再次查看这个文件,发现字节为0了。查看内容是空的了。
[root@localhost ~]# du -sh /var/log/yum.log
0 /var/log/yum.log
[root@localhost ~]# cat /var/log/yum.log
truncate命令将保留文件所有权。可以使用ll -h命令进行确认:
[root@localhost ~]# ll -h /var/log/yum.log
-rw-------. 1 root root 0 Nov 4 18:39 /var/log/yum.log
使用truncate将文件设置为指定大小
下面的示例将文件填充为10K个字节。
[root@localhost ~]# touch file.txt
[root@localhost ~]# ll -h file.txt
-rw-r--r--. 1 root root 0 Nov 4 18:43 file.txt
[root@localhost ~]# truncate -s 10k file.txt
[root@localhost ~]# ll -h file.txt
-rw-r--r--. 1 root root 10K Nov 4 18:43 file.txt
单位有 K, M, G, T, P, E, Z, Y。
使用truncate扩展文件大小
也可以将文件的大小从当前扩展到所需状态。使用-s选项,在数字前面加上+
[root@localhost ~]# cat /etc/passwd file.txt
[root@localhost ~]# ll -h file.txt
-rw-r--r--. 1 root root 1009 Nov 4 18:47 file.txt
[root@localhost ~]# truncate -s +200k file.txt
[root@localhost ~]# ll -h file.txt
-rw-r--r--. 1 root root 201K Nov 4 18:47 file.txt
通过添加额外的200K,这会将文件大小从1K扩展到201K。
使用truncate减小文件大小
假设有一个500K的文件,并且希望将其缩小到250K。将使用-s选项,在数字前面加上-
[root@localhost ~]# touch file.txt
[root@localhost ~]# truncate -s 500k file.txt
[root@localhost ~]# ll -h
total 4.0K
-rw-------. 1 root root 1.3K Dec 29 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 500K Nov 5 08:36 file.txt
drwxr-xr-x. 5 root root 107 Nov 4 18:22 test
[root@localhost ~]# truncate -s -250k file.txt
[root@localhost ~]# ll -h
total 4.0K
-rw-------. 1 root root 1.3K Dec 29 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 250K Nov 5 08:36 file.txt
drwxr-xr-x. 5 root root 107 Nov 4 18:22 test
可以看到当前大小更改为250K。
总结
Truncate命令通常用于将文件缩小或扩展到指定的大小。如果文件大于指定的大小,则会丢失额外的数据。如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节。
这要看你用的是什么压缩命令,举个例子:tar -cjf xx.tar 文件1,文件2,文件3,你在打包里,尽量打几个开关字符,然后用tab自动补齐,这样会自动加上转义字符。