【Linux操作系统】文件压缩及文件权限


《Linux兵书》读书笔记&3

只记录了一些常用命令,比较偏的命令没有记录

文件压缩

zip与unzip


zip命令以及unzip命令处理.zip文件,前者用于压缩文件,后者用于解压缩文件

zip命令用法

1.基本用法
zip file.zip test
将文件test压缩为file.zip
2.压缩后,删除原文件
zip -m file.zip test
参数m表明压缩文件test后删除它
3.将子目录一起压缩
zip -r file.zip *
参数r表明将子目录一起压缩
zip -j file.zip *
参数j表明忽略子目录内容
4.指定压缩率压缩文件
zip -9 file.zip *
指定压缩率为9,范围为1-9
一般建议取5,
5.压缩大量文件
zip -@ file.zip
file1.txt
file2.txt
按Ctrl+D输入确认,Ctrl+C取消
6.将不需要压缩的文件排除在外
zip file.zip * -x file1.txt

unzip命令用法

1.基本用法
unzip file.zip
解压缩
2.排除不需要解压缩的文件
unzip file.zip -x file1

gzip与gunzip


这两个命令可以用于压缩文件,但不能压缩多个文件
1.gzip命令基本用法
gzip file.txt
压缩文件file.txt
2.查看压缩包的内容
gzip -l file.gz
3.压缩率
gzip -9 file.txt
4.解压缩.gz文件
gunzip file.gz 或 gunzip -d file.gz

文件打包程序tar


tar命令的基本用法
tar 参数 打包后的文件名 要打包的文件
tar命令参数列表如下:

参数 说明
-c 创建新文件
-v 显示命令执行的信息
-f 指普通文件操作
-x 解开tar文件
-h 重新进行打包
-r 将一个新文件加入已打包的文件中

在使用时,可以添加多个参数,如打包文件时,可使用:
tar -cvf y.tar x.txt #此命令表示以普通文件的方式打包文件并且输出打包的相关信息
tar -cf y.tar x.txt #只打包文件,不输出信息

文件权限与文件所有权

文件权限简介


对每一个Linux系统中的文件,它所具有的权限分为四种:r(read,读),w(write,写),x(execute,执行),-(无权限)。每个文件又有三种不类的用户:文件所有者、文件所有者同组用户和其他用户3类,每类用户都对文件有着权限。

使用命令 ls -l 可以看到文件的权限,如下:
-rw-rw-r–. 1 student student 12 6月 15 05:52 x.txt

目录条目开始的一连串符号描述访问权限类别,共10个字符:
- 第一个字符是文件的类型:d表示目录;b表示系统设备,使用快输入/输出与外界交互,通常为磁盘;c表示系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备; . 表示普通文件,没有特殊属性;-表示文件
- 第2-4个字符表示文件的用户(owner)权限
- 第5-7个字符表示与文件的所有者同组用户的权限
- 第8-10个字符表示其他用户的权限

2、5、8用于表示 r 读权限;
3、6、9用于表示 w 写权限;
4、7、10用于表示 x 执行权限。

上述示例中,x.txt的文件所有者具有读和写两种权限,同组用户也具有读写两种权限,而其他用户就只具有读这一权限。

chmod命令修改文件/目录的访问权限


1.以数字表示法修改存取权限

数字表示法即把四种权限r、w、x、-依次用数字4、2、1、0表示,然后以数字的相加表示权限。
比如:rwx表示(421),相加即为7,这是就可以表示一类用户的权限;-rw-rw-r–,可以表示为-(420)(420)(400),即664,这就可以表示文件的访问权限。

修改文件权限时,使用命令:
chmod xxx 文件名
即可实现修改。

2.以文字表示法修改存取权限

文字表示法使用字母+/-/=权限来修改文件权限,命令格式如下:
chmod [who][+/-/=][mode] 文件名
操作对象who表示四种不同的用户:
- u表示“用户(user)”,即文件即目录的所有者
- g表示“同组(group)用户”,即与文件属主要相同组ID的所有用户
- o表示“其他(others)用户”
- a表示“所有(all)用户”,它是系统默认值

示例:
chmod u+r,g+w,o-r x.txt
chmod u=rwx x.txt

注:逗号前后都不能有空格,否则命令无法执行

3.目录权限的修改

目录权限的修改与文件差不多,如果要修改目录中所有文件的存取权限,应使用“*”
chmod 774 /home/student/*
如果目录中还有子目录,应加上参数R
chmod -R 774 /home/student/*

chown改变文件/目录的所有权


命令格式:chown 变更后的文件拥有者或组 文件
如:
chown root x.txt

相关内容