linux打包命令方式,linux打包文件夹命令

linux下tar命令解压到指定的目录和用tar命令打包

1、linux下tar命令解压到指定的目录

创新互联建站是一家专业提供南木林企业网站建设,专注与成都做网站、网站制作、成都外贸网站建设H5页面制作、小程序制作等业务。10年已为南木林众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

tar zxvf node_modules.tar -C newFile  

把根目录下的node_modules.tar 解压到同级目录newFile下,前提要保证newFile这个目录存在。

2、用tar命令打包

tar zcvf node_modules.tar node_modules

将当前目录下的node_modules文件打包到根目录下并命名为node_modules.tar

Linux中用tar命令对文件夹进行打包压缩

打包: 指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署.

压缩或打包文件常见扩展名: *.tar, *.tar.gz, *.gz, *.bz2, *.Z;

Linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名是必须的.因为linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法.

将文件夹打包,也能将包解开成文件夹.

例1: 在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里,然后打包压缩成gz格式,要求显示压缩详情。

1)在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里.

注意: 拷贝非空目录要加 -r

2)将etc文件夹打包压缩成gz格式,并显示压缩详情.

tar -czvf 打包压缩后文件名 被打包压缩的文件夹

如果打包压缩成.bz2格式,那么tar命令的参数: -cjvf.

例2: 先删除etc目录,解压缩myetc.tar.gz到当前目录.

1)删除etc目录

2)解压缩myetc.tar.gz到当前目录

例3: 将myetc.tar.gz解压缩到指定目录/home

例4: 仅仅解压缩myetc.tar.gz里的某个目录,例如etc/udev

1)先删除etc目录

2)解压缩myetc.tar.gz到etc/udev目录

linux操作系统中对当前目录下文件打包的命令是(),解包的命令();

tar命令使用

压缩:tar cvfz 目标文件 源文件1 [源文件2...]

例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目标文件,hello.cpp和hello.h是源文件

tar cvzf xxx.tar.gz xxx/ 就压缩文件夹下所有的文件

tar xvjf xxx.tar.bz2 xxx/

解压:tar xvfz 目标文件

例如:tar xvfz m.tar.gz //在当前目录下将压缩包文件m.tar.gz解压缩

上面的简单用法基本够用了,以下是从别的地方转来的其他一些用法,但我从来没用过,暂时存放一下。

1.文件或目录打包:tar -cvf /u0/temp2.tar /usr/lib

将/usr/lib目录下的文件与子目录打包成一个文件库为/u0/temp2.tar。

tar -cvf /u0/temp2.tar /usr/lib *.c *.f

将/usr/lib目录下的*.c *.f等文件(不含子目录)打包。注意:如果指定文件如*.c *.f或*.*,则打包时均不含子目录。如果指定为.或*,则含子目录。

2.压缩:compress /u0/temp2.tar压缩为/u0/temp2.tar.z

3.解压:uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar

4.解包展开:tar -xvf /u0/temp2.tar

若以相对路径打包的,解包时,以相对路径存放展开的文件数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文件数据。若指定展开的文件名,须注意文件的目录路径。

5.显示:tar -tvf /u0/temp2.tar 显示文件库内的文件名称。当指定文件名时,亦须注意文件的路径。

linux--8、打包压缩文件命令

tar命令用于对文件打包压缩或解压:

$ tar [选项] [文件]

以下是tar命令的常用参数:

tar是个打包的命令,它的作用是将一堆的文件或目录归档成一个.tar结尾的文件。生成tar包后,就可以用其他的压缩程序来对tar包进行压缩。

我们在上面看到的 -z 参数就是对tar包用Gzip程序进行了压缩,最后才生成了 .tar.gz 结尾的压缩包。如果不用 -z 参数而使用 -j 参数,也就是用bzip2程序压缩tar包,最后就会生成 .tar.bz2 结尾的压缩包。

使用tar命令打包压缩的一个好处是,它会保留原始文件的权限和属性。

我们经常会在windows系统上使用 .zip 格式的压缩文件,在linux中也可以将文件和目录压缩成zip格式,或者解压zip格式的压缩包。

但是zip的缺点是不能保留文件的权限和属性,解压后需要我们自己用chmod重新设置文件的权限。

Linux文件相关命令

grep命令:

grep命令是非常重要的命令,可以对文本进行查找和搜索

常用参数如下:

常用实例:

1、在多个文件中查找:

grep "file" file_1 file_2 file_3

2、输出除之外的所有行 -v 选项:

grep -v "file" file_name

3、标记匹配颜色 --color=auto 选项:

grep "file" file_name --color=auto

4、使用正则表达式 -E 选项:

grep -E "[1-9]+"

egrep "[1-9]+"

5、只输出文件中匹配到的部分 -o 选项:

echo this is a test line. | grep -o -E "[a-z]+."

line.

echo this is a test line. | egrep -o "[a-z]+."

line.

6、统计文件或者文本中包含匹配字符串的行数-c 选项:

grep -c "text" file_name

2

7、输出包含匹配字符串的行数 -n 选项:

grep "text" -n file_name

cat file_name | grep "text" -n

8、多个文件

grep "text" -n file_1 file_2

9、搜索多个文件并查找匹配文本在哪些文件中:

grep -l "text" file1 file2 file3...

10、grep递归搜索文件

在多级目录中对文本进行递归搜索:

grep "text" . -r -n

11、忽略匹配样式中的字符大小写:

echo "hello world" | grep -i "HELLO"

hello

12、选项 -e 指定多个匹配样式:

echo this is a text line | grep -e "is" -e "line" -o

is

line

13、也可以使用 -f 选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。

cat patfile

aaa

bbb

echo aaa bbb ccc ddd eee | grep -f patfile -o

14、在grep搜索结果中包括或者排除指定文件:

只在目录中所有的.php和.html文件中递归搜索字符"main()"

grep "main()" . -r --include *.{php,html}

15、在搜索结果中排除所有README文件

grep "main()" . -r --exclude "README"

16、在搜索结果中排除filelist文件列表里的文件

grep "main()" . -r --exclude-from filelist

touch abc.txt 创建一个名为abc.txt的文件

touch -r 指定文件时间与参考文件相同

touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件为指定的时间

touch temp 创建一个名为temp的文件

vi编辑器有三种模式,命令行模式、编辑模式、底行模式。

vi 文件名进入命令行模式,Insert进入编辑模式,编辑完成Esc退出编辑模式,:wq进入底行模式并保存修改,:q直接退出保存。

tar命令用于打包压缩文件,常用的压缩命令还有bzip2,gzip

bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件

bzip2 file1 压缩一个叫做 'file1' 的文件

gunzip file1.gz 解压一个叫做 'file1.gz'的文件

gzip file1 压缩一个叫做 'file1'的文件

gzip -9 file1 最大程度压缩

rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包

rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'

rar x file1.rar 解压rar包

unrar x file1.rar 解压rar包

tar -cvf archive.tar file1 创建一个非压缩的 tarball

tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件

tar -tf archive.tar 显示一个包中的内容

tar -xvf archive.tar 释放一个包

tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下

tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包

tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包

tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包

tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包

zip file1.zip file1 创建一个zip格式的压缩包

zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

unzip file1.zip 解压一个zip格式压缩包

which命令用于用户查找命令所有路径

命令格式

file命令用于获取文件属性

命令格式

file 文件名或目录名

命令示例:

使用说明

命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName

cat file1 从第一个字节开始正向查看文件的内容

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

使用示例

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里

cat -n textfile1 textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里

cat -b textfile1 textfile2 textfile3

清空 /etc/test.txt 文档内容

cat /dev/null /etc/test.txt

tac [filename]

从最后一行开始反向查看一个文件的内容,ac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。

nl [-bnw] 文件

选项与参数:

-b: 指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在荧幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

more file1 查看一个长文件的内容,支持一页一页翻动

运行的时候,支持以下几个按键:

空白键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f :立刻显示出档名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该文件内容。

b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作

less运行时可以输入的命令有:

空白键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字串 :向下搜寻『字串』的功能;

?字串 :向上搜寻『字串』的功能;

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q :离开 less 这个程序;

head [-n number]

head -2 file1 查看一个文件的前两行

tail [-n number]

tail -2 file1 查看一个文件的最后两行

tail -f /var/log/messages 实时查看被添加到一个文件中的内容

文件权限列中三位为一组,分别代表相关的用户、组、其它用户的权限

权限列中三位为一组,分别代表相关的用户、组、其它用户的权限

所以修改权限可以分别修改或一同修改,系统中权限分为数字权限与字符权限

数字权限:r=4,w=2,x=1

字符权限:+ 增加 -去除 a取消所有加上给定的

修改权限的命令chmod,命令格式:

chmod 权限 文件名或目录名 修改权限格式

chmod -R 权限 目录名 递归将目录及其下面所有内容权限全部修改

chown 改变文件或目录的属主(所有者)

chown 用户名 文件名或目录名

chown 用户名.组名 文件名或目录名

修改所属组也可用chgrp 命令来完成

当你用ls -l 查看到文件的属主、属组为数字时,就表明该文件的创建用户已被删除。

文件的特殊权限

chattr +i(-i) 文件名 锁定文件(取消锁定)不可删除与清空

chattr +a(-a) 文件名 添加内容(只可添加内容)

使用lsattr 文件名 查看文件的特殊权限

由此可以看出

root用户默认创建的目录权限是755,文件权限是644

普通用户默认创建的目录权限是775,文件权限是664

这也是系统默认的比较安全的权限分配,其实这些默认权限全部都是由umask值来决定的

系统规定了

文件的权限值是从666开始计算(默认权限=权限值-umask值)

目录的权限值是从777开始计算(默认权限=权限值-umask值)

文件1的权限=444 (666-232=434——43(3+1)4)

linux tar打包、解包命令

解压

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

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

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

范例:

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc==打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc==打包后,以 bzip2 压缩

特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

上述指令在执行的时候,会显示一个警告讯息:

『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说

我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz

则解开的目录会在 /usr/local/src/etc ,另外,如果您进入 /usr/local/src/etc

则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

另外:tar命令的C参数

$ tar -cvf file2.tar /home/usr2/file2

tar: Removing leading '/' from members names

home/usr2/file2

该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:

使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来

。使用tar命令解压缩后会出现以下情况:

$ tar -xvf file2.tar

$ ls

…… …… home …… ……

解压缩后的文件名不是想象中的file2,而是home/usr2/file2。

$ tar -cvf file2.tar -C /home/usr2 file2 该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意

:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前

使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:

$ tar -xvf file2.tar -C /home/usr2

而tar不用-C dir参数时是无法做到的:

$ tar -xvf file2.tar /home/usr2

tar: /tmp/file: Not found in archive

tar: Error exit delayed from previous errors


当前文章:linux打包命令方式,linux打包文件夹命令
本文链接:http://cdiso.cn/article/hdcjed.html

其他资讯