Linux里面归档命令是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux里面归档命令是啥?相关的知识,希望对你有一定的参考价值。
题主你好,
linux中归档命令是tar.
理解归档命令: 所谓"归档"用大白话来说就是"打包".
如我有一个文件夹叫test, 里面有1-8共8个文件:
我现在要对test文件夹的所有或部分内容进行归档(打包):
语法: tar cf 自定义的归档文件名.tar 文件名或文件夹名
我想要将test目录下的所有文件进行归档,归档后的文件名为all.tar:
tar cf all.tar .
可以看到all.tar这个归档文件已经生成了.
我们还可以对部分文件进行归档,如我只归档1-4这四个文件:
tar cf 1-4.tar 1 2 3 4
-----
我用打包来描述归档了,好理解一些, 既然上面有打包, 就相应有解包, 命令还是tar,只是参数不同:
我先将1-8这8个文件都删了,只留两个tar文档做实验:
我先将1-4.tar这个包解开:
tar xf 1-4.tar
可以看到1-4这四个文件都被解压出来了.我们再把1-4给删掉,试试解压all.tar这个包:
tar xf all.tar
可以看到1-8这8个文件都解压出来了.
写在最后:
归档用的最多的原因应该就是管理和传输方便一些, 从管理上来说, 如我这一个文件夹里是100首歌曲,则打包后命名为music_100.tar,这样你一看到这个包名就知道里面是100首歌,此时你想给这100首歌换个位置,直接把这个文件移动到其它文件夹中即可, 而不用去移动那100个歌曲文件. 传输上也一样, 我想把这100首歌传给朋友,如果使用归档文件的话, 传一个就行了,否则还要传100个.
另外,上面解释归档时,其实很笼统, 有很多细节没有讲到, 如果题主想要进一步的理解其它功能,可以使用tar --help 或man tar 或info tar等等命令看看它的详细文档.
=====
希望可以帮到题主, 欢迎追问
详细内容如下:
1、tar 打包压缩
1)【打包】 为什么要打包,压缩?
-zcvf 打包组合 zcf
z 压缩(gzip压缩)
c 创建
v 显示过程
f 针对文件
语法:
命令 选项
tar zcf 【压缩包的名字.tar.gz】 【要打包的东西】
装东西的筐 苹果
练习1:把/etc/目录打包到/opt下面。
ls -d /etc #检查有没有要打包的目录
cd / #切换到打包目录的上一级
tar zcf /opt/etc.tar.gz ./etc
执行过程:
[root@oldboy ~]# cd /
[root@oldboy /]# tar zcvf /opt/etc.tar.gz ./etc/
[root@oldboy /]# ls /opt/
etc etc.tar.gz services
练习2:把/usr/local目录打包到/tmp下面。
[root@oldboy /]# ls -ld /usr/local/
drwxr-xr-x. 12 root root 131 5月 7 2021 /usr/local/
[root@oldboy /]# cd /usr
[root@oldboy usr]# tar zcf /tmp/local.tar.gz ./local/
v 显示过程 工作中和领导汇报工作。
关键:
1)结果:赚100万。
2)过程:怎么赚的100万?
2)【查看包里内容】
t 查看包里内容
tar tf 包名
[root@oldboy usr]# tar tf /tmp/local.tar.gz
3)【解包】
组合zxvf,缩写xf
x 解压
cd /opt
tar zxvf etc.tar.gz #解压到了当前目录
tar zxf etc.tar.gz
tar xf etc.tar.gz
-C 指定路径解压
[root@oldboy opt]# tar xf etc.tar.gz -C /home/oldboy/
[root@oldboy opt]# ls /home/oldboy/
-p 保持属性(zcfp)
-j 通过bzip2命令压缩或解压(非常少了)
tar jcvf 包名.tar.bz2 包名
[root@oldboy opt]# tar jcvf /tmp/a.tar.bz2 /etc/hosts #打包实践
tar: 从成员名中删除开头的“/”
/etc/hosts
[root@oldboy opt]# ls /tmp/
a.hosts a.tar.bz2 etc local.tar.gz services
[root@oldboy opt]# cd /tmp/
[root@oldboy tmp]# tar zxvf a.tar.bz2
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
两种解压方法:
[root@oldboy tmp]# tar jxvf a.tar.bz2
etc/hosts
[root@oldboy tmp]# tar xf a.tar.bz2 #gzip,bzip统一解压方法。
排除打包--exclude=
tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1
命令 参数 包名 目录 排除的文件
环境准备
[root@oldboy tmp]# mkdir /oldboy -p
[root@oldboy tmp]# cd /oldboy/
[root@oldboy oldboy]# ls
[root@oldboy tmp]# mkdir /oldboy -p
[root@oldboy tmp]# cd /oldboy/
[root@oldboy oldboy]# ls
[root@oldboy oldboy]# touch file1..5
[root@oldboy oldboy]# ls
file1 file2 file3 file4 file5
[root@oldboy oldboy]# cd ../
练习排除打包
排除file1
[root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1
./oldboy/
./oldboy/file2
./oldboy/file3
./oldboy/file4
./oldboy/file5
排除file1到file3 ###--exclude=file1..3
[root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1..3
./oldboy/
./oldboy/file4
./oldboy/file5
指定要排除的文件### --exclude=file1,3,5
[root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1,3,5
./oldboy/
./oldboy/file2
./oldboy/file4
###--exclude=file1 --exclude=file2
[root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1 --exclude=file2
./oldboy/
./oldboy/file3
./oldboy/file4
./oldboy/file5
从文件中排除打包--exclude-from(-X)
建立排除的文件paichu.log,内容就是排除的文件名
cat >paichu.log<<EOF
file1
file5
EOF
[root@oldboy /]# cat paichu.log
file1
file5
[root@oldboy /]# tar zcvfX /tmp/pai.tar.gz paichu.log ./oldboy/
./oldboy/
./oldboy/file2
./oldboy/file3
./oldboy/file4
tar zcvfX /tmp/pai.tar.gz paichu.log ./oldboy/
存储排除文件名的文件
-h 打包软链接
/etc/rc.local是软链接文件,指向真实路径/etc/rc.d/rc.local
默认打包的时候,只打包了软链接文件。
tar zcvf /backup/rc.local_1.tar.gz /etc/rc.local
【而加上-h打包,可以打包软链接对应的真实文件】
[root@oldboy etc]# tar zcvfh /backup/rc.local_1.tar.gz /etc/rc.local
tar: 从成员名中删除开头的“/”
/etc/rc.local
[root@oldboy etc]# cd /backup/
[root@oldboy backup]# tar xf rc.local_1.tar.gz
[root@oldboy backup]# cat etc/rc.local
#!/bin/bash
touch /var/lock/subsys/local
Linux里面ln -s命令作用是啥?
参考技术A 对源文件创建软链接
,沿链接方向访问实际路径下文件。如:ln
-s
/usr/local/nginx-1.14.0/
/usr/local/nginx
意思是访问/usr/local/nginx
实际上就是访问真实的
/usr/local/nginx-1.14.0这个路径内的文件。 参考技术B chown是linux中权限控制命令,功能是改变文件或目录的所有者,配合权限777进行文件控制。
以上是关于Linux里面归档命令是啥?的主要内容,如果未能解决你的问题,请参考以下文章