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等等命令看看它的详细文档.

=====

希望可以帮到题主, 欢迎追问

参考技术A Linux里面归档命令是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里面归档命令是啥?的主要内容,如果未能解决你的问题,请参考以下文章

cad归档的命令是啥

Linux里面关机命令是啥?

linux里面保存退出命令是啥?

alias命令在linux里面是啥意思????

Linux里面pwd命令作用是啥?

Linux里面ln -s命令作用是啥?