其他相关博文:
目录
更多精彩博文详见:
一、文件权限管理
文件的权限分为三级,由所有者权限、所有者用户组权限、其他用户权限组成。所有者使用小写u表示,所有者用户组使用小写g表示,其他用户使用小写o表示。
每级权限都可以包含可读、可写、可执行权限。可读权限使用小写r表示,可写权限使用小写w表示,可执行权限使用小写x表示。如rwx表示在该权限级别上具有可读、可写、可执行的权限;rw-表示在该权限级别上具有可读、可写的权限;r--表示在该权限级别上只有可读的权限。
可读、可写、可执行权限通常还习惯使用数字表示。可读权限r,使用数字4表示;可写权限w,使用数字2表示;可执行权限x,使用数字1表示。可读、可写、可执行三个权限数值的和即为该级权限的数字。如某级权限为rwx,则该级权限使用数字表示为7,即4+2+1=7;如某级权限为rw-,则该级权限使用数字表示为6,即4+2+0=6;如某级权限为r--,则该级权限使用数字表示为6,即4+0+0=4;如某级权限为r-x,则该级权限使用数字表示为5,即4+0+1=5。
如下图所示,对于test01.txt文件,该文件的所有者具有rwx权限,即可读、可写、可执行权限,使用数字表示为7;所有者用户组具有rw-权限,即可读、可写权限,使用数字表示为6;其他用户具有r--权限,即可读权限,使用数字表示为4。所以,对于test01.txt文件,可以使用764来表示该文件的权限信息。
1、chmod
chmod命令用于控制文件或者目录的可读、可写、可执行权限。只有文件、目录的所有者以及超级用户可以修改文件、目录的权限。语法格式如下:
chmod [选项] [u,g,o,a] [+,-] [r,w,x] [文件名称 | 目录名称]
选项说明:
- -f:表示若该文件的权限无法被更改也不显示错误讯息。
- -v:表示显示该文件的权限变更详细信息。
- -R:表示对当前目录下的全部文件与子目录进行权限变更(即以递归方式变更)。
- --help:显示帮助说明。
参数说明:
- [u,g,o,a]:u表示该文件的拥有者,g表示该文件拥有者的同组用户;o表示其他用户;a表示包括u、g、o这三者。
- [+,-]:+表示增加对应的权限;-表示取消对应的权限。
- [r,w,x]:r表示可读权限;w表示可写权限;x表示可执行权限 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
(1)、文件新增权限
1)文件所有者新增权限
文件test02.txt的所有者新增可执行权限。
[root@node01 data_test]# chmod u+x test02.txt
2)文件所有者、所有者用户组新增权限
文件test03.txt的所有者新增可执行权限,所有者用户组新增可写权限。
[root@node01 data_test]# chmod u+x,g+w test03.txt
(2)、文件取消权限
1)文件所有者取消权限
文件test02.txt的所有者取消可执行权限。
[root@node01 data_test]# chmod u-x test02.txt
2)文件所有者、所有者用户组取消权限
文件test03.txt的所有者取消可执行权限,所有者用户组取消可写权限。
[root@node01 data_test]# chmod u-x,g-w test03.txt
(3)、目录递归新增权限
对/root/data_test目录下的全部文件及子目录的u、g、o都新增可写权限。
[root@node01 ~]# chmod -R a+w /root/data_test/
(4)、数字方式更改权限
将test01.txt文件的权限由766修改为644。
[root@node01 data_test]# chmod 644 test01.txt
2、chown
chown命令用于变更文件、目录的所属用户或者所属用户组,只有超级用户才能执行chown命令。语法格式如下:
chown [选项] username[:groupname] [文件名称 | 目录名称]
选项说明:
- -f:忽略命令执行的错误讯息。
- -v:显示变更的详细信息。
- -R:表示对当前目录下的全部文件与子目录进行变更(即以递归方式变更)。
- --help:显示帮助说明。
参数说明:
- username:新的文件、目录所属者的用户名称或者用户UID。
- groupname:新的文件、目录所属用户组的用户组名称或者GID。
(1)、变更文件所属用户
变更/root/data_test/test01.txt文件的所属用户为newuser用户。
[root@node01 ~]# chown newuser /root/data_test/test01.txt
(2)、变更文件所属用户及用户组
变更/root/data_test/test02.txt文件的所属用户为newuser用户,所属用户组为elasticsearch用户组。
[root@node01 ~]# chown newuser:elasticsearch /root/data_test/test02.txt
(3)、变更目录所属用户
变更/root/data_test/目录的所属用户为newuser用户,但是/root/data_test/目录下的文件及子目录不会改变。
[root@node01 ~]# chown newuser /root/data_test/
(4)、变更目录所属用户及用户组(递归)
变更/root/data_test/目录下的所有文件及子目录的所属用户为elasticsearch用户,所属用户组为elasticsearch用户组。
[root@node01 ~]# chown -R elasticsearch:elasticsearch /root/data_test/*
注意:此命令不会变更/root/data_test/目录的所属用户及用户组。
二、文件解压缩管理
1、zip/unzip
(1)、zip
zip命令用于压缩文件,压缩后的文件后缀名为“.zip”。与gzip命令或者bzip2不同的是,zip命令可以压缩多个文件或整个目录,并保留文件的目录结构。CentOS系统使用“yum install -y zip”命令安装zip工具。
语法格式如下:
zip [选项] [压缩文件名称.zip] [需要压缩的文件 | 需要压缩的目录]
- -r:递归压缩目录及其子目录中的所有文件。
- -e:为压缩文件设置密码保护。
- -q:静默模式,不显示压缩过程。
- -v:显示详细的压缩过程。
- -x:排除某些文件或目录不进行压缩。
1)、压缩单个文件
将test01.txt文件压缩为test01.zip
[root@node01 data_test]# zip test01.zip test01.txt
2)、压缩多个文件
将test02.txt、test03.txt两个文件压缩为test0203.zip
[root@node01 data_test]# zip test0203.zip test02.txt test03.txt
3)、递归压缩目录
递归压缩/root/data_test/目录为data_test.zip
[root@node01 ~]# zip -r data_test.zip /root/data_test/
4)、压缩并设置密码
将test04.txt文件压缩为test04.zip,并设置密码为123456
[root@node01 data_test]# zip -e test04.zip test04.txt
5)、压缩时排除指定文件
递归压缩/root/data_test/目录为data_test.zip,并排除/root/data_test/目录下的所有以“.log”结尾的文件。
[root@node01 ~]# zip -r data_test.zip /root/data_test/ -x "*.log"
(2)、unzip
unzip命令用于解压缩后缀名为“.zip” 格式的压缩文件。CentOS系统使用“yum install -y unzip”命令安装zip工具。
1)解压无密码zip文件
解压test0203.zip文件。
[root@node01 testDir]# unzip test0203.zip
2)解压有密码zip文件
解压有密码的test04.zip文件。执行解压命令后输入test04.zip文件的密码即可。
[root@node01 testDir]# unzip test04.zip
2、gzip/gunzip
(1)、gzip
gzip命令用于压缩单个文件,压缩后的文件后缀名为“.gz”。需要注意的是,执行gzip命令后,原文件会删除,只留下压缩后的.gz文件。语法格式如下:
gzip [选项] [文件名称 | 目录名称]
- -d:解压.gz文件。相当于使用gunzip命令。
- -r:递归压缩当前目录下的所有文件及子目录中的文件。
- -v:显示详细的压缩或解压过程。
- -l:显示.gz压缩文件的详细信息,如压缩率、原始大小等。
- -t:测试压缩文件的完整性,如果文件完整且无损坏,则不会有输出,否则会提示错误。
1)压缩单个文件
压缩test01.txt文件。
[root@node01 data_test]# gzip test01.txt

2)显示压缩文件详细信息
显示压缩文件test01.txt.gz的详细信息。
[root@node01 data_test]# gzip -l test01.txt.gz
3)解压文件
解压test01.txt.gz文件。
[root@node01 data_test]# gzip -d test01.txt.gz
4)递归压缩目录
递归压缩/root/data_test/目录下的所有文件及子目录中的所有文件。
注意,此处不压缩目录,只压缩目录中的文件。如果需要压缩多个文件或整个目录,通常先用tar命令对目录进行归档,再用gzip命令进行压缩。
[root@node01 ~]# gzip -r /root/data_test/
(2)、gunzip
gunzip命令用于解压由gzip命令压缩的.gz文件。语法格式如下:
gunzip [选项] [压缩文件名称]
- -c:将解压后的文件内容输出到标准输出(而不是写入文件)。
- -f:强制解压,即使当前目录下已经存在同名的解压文件。
- -l:显示压缩文件的详细信息,包括压缩前后的文件大小、压缩比等。
- -r:递归地解压缩指定目录下的所有文件。
- -t:测试压缩文件的完整性,而不进行实际的解压缩操作。
- -v:显示解压文件的过程。
1)解压单个文件
解压文件test.txt.gz
[root@node01 testDir]# gunzip test.txt.gz
2)递归解压目录下的所有压缩文件
递归解压/root/data_test/目录下的所有压缩文件及子目录下的所有压缩文件。
[root@node01 ~]# gunzip -r /root/data_test/
3、bzip2/bunzip2
(1)、bzip2
bzip2命令用于压缩文件,CentOS系统使用“yum install -y bzip2”命令安装bzip2工具。注意,bzip2命令无法递归压缩目录。语法格式如下:
bzip2 [选项] [文件名称 | 目录名称]
- -d:解压.bz2文件,相当于使用bunzip2命令。
- -k:保留原始文件,不删除。
- -v:显示详细的压缩过程。
- -t:测试压缩文件的完整性。
- -h:查看bzip2命令更多帮助选项。
1)压缩文件
压缩test01.txt文件
[root@node01 data_test]# bzip2 test01.txt
2)压缩文件并保留原始文件
压缩test02.txt文件并保留原始文件。
[root@node01 data_test]# bzip2 -k test02.txt
3)解压文件
解压test01.txt.bz2文件
[root@node01 data_test]# bzip2 -d test01.txt.bz2
(2)、bunzip2
bunzip2命令用于解压.bz2格式的压缩文件。语法格式如下:
bunzip2 [选项] [压缩文件名称]
- -f:强制解压,覆盖已有的同名文件。
- -k:保留源压缩文件。
- -v:显示解压过程。
1)解压文件
解压 test01.txt.bz2文件。
[root@node01 data_test]# bunzip2 test01.txt.bz2
2)解压文件并保留源压缩文件
解压test02.txt.bz2文件并保留源压缩文件。
[root@node01 data_test]# bunzip2 -k test02.txt.bz2
4、tar
tar命令用于将多个文件和目录打包成一个归档文件,归档后的文件后缀为“.tar”。tar命令还可以与压缩工具(gzip或bzip2)结合使用,创建压缩的归档文件(如.tar.gz或.tar.bz2)。语法格式如下:
tar [选项] [归档文件名称] [源文件名称 | 源目录名]
- -f:归档文件名称。
- -c:创建一个新的归档文件。
- -x:解压归档文件。
- -z:使用gzip工具压缩归档文件。
- -j:使用bzip2压缩归档文件。
- -v:显示归档过程。
- --help:显示tar命令更多选项。
(1)、创建归档文件
1)创建归档文件
将test01.txt、test02.txt、test03.txt、test04.txt文件及testDir目录归档为test.tar文件。
[root@node01 data_test]# tar -cvf test.tar test01.txt test02.txt test03.txt test04.txt testDir/
2)创建归档文件并用gzip压缩
将test01.txt、test02.txt、test03.txt、test04.txt文件及testDir目录归档并使用gzip工具压缩为test.tar.gz文件。
[root@node01 data_test]# tar -czvf test.tar.gz test01.txt test02.txt test03.txt test04.txt testDir/
3)创建归档文件并用bzip2压缩
将test01.txt、test02.txt、test03.txt、test04.txt文件及testDir目录归档并使用bzip2工具压缩为test.tar.bz2文件。
[root@node01 data_test]# tar -cjvf test.tar.bz2 test01.txt test02.txt test03.txt test04.txt testDir/
(2)、解压归档文件
1)解压归档文件
解压归档文件test.tar
[root@node01 testDir]# tar -xvf test.tar
2)解压使用gzip压缩的归档文件
解压使用gzip压缩的归档文件test.tar.gz
[root@node01 testDir]# tar -zxvf test.tar.gz
3)解压使用bzip2压缩的归档文件
解压使用bzip2压缩的归档文件test.tar.bz2
[root@node01 testDir]# tar -jxvf test.tar.bz2



































1187

被折叠的 条评论
为什么被折叠?



