文件权限
每个文件和目录都具有以下访问权限,三种权限之间相互独立:
- 读取权限:浏览文件/目录中内容的权限
- 写入权限:对文件而言是修改文件内容的权限,对目录而言是删除、添加和重命名目录内文件的权限
- 执行权限:对可执行文件而言是允许执行的权限,对目录而言是进入目录的权限。
与文件权限相关的用户分类
- 文件所有者(Owner):建立文件或目录的用户
- 同组用户(Group):文件所属组群中的所有用户。
- 其他用户(Other):既不是文件所有者,又不是同组用户的其他所有用户。
访问权限的表示法
(1)字母表示法
Linux中每个文件的访问权限可用9个字母表示,利用“ls -l”命令可列出每个文件的权限,其表示形式和含义如图:
P145图
(2)数字表示法
|
字母表示形式 |
十进制数表示形式 |
权限含义 |
字母表示形式 |
十进制数表示形式 |
权限含义 |
|
--- |
0 |
无任何权限 |
r-- |
4 |
可读 |
|
--x |
1 |
可执行 |
r-x |
5 |
可读和可执行 |
|
-w- |
2 |
可写 |
rw- |
6 |
可读和可写 |
|
-wx |
3 |
可写和可执行 |
rwx |
7 |
可读、可写和可执行 |
修改文件权限的Shell命令
1. chmod命令
chmod 数字模式 文件 或 chmod 功能模式 文件 修改文件的访问权限
- 数字模式为一组三位数字
- 功能模式可由以下三部分组成
对象: u (user):文件所有者;g (group):同组用户;o (other):其他用户
操作符:+:增加权限;-:删除权限;=:赋予给定权限
权限: r (read):读取选项;w (write):写入权限;x (execute):执行权限
2. chgrp命令
chgrp 组群 文件 改变文件的所属组群
3. chown命令
chown 文件所有者 [:组群] 文件 改变文件的所有者,并可一并修改文件的所属组群
管理目录和文件的Shell命令
1. mkdir命令
mkdir [选项] 目录 创建目录
-m 访问权限 (mode):创建目录的同时设置目录的访问权限
-p (parents):一次性创建多级目录
2. mv命令
mv [选项] 源文件或源目录 目的文件或目的目录 移动或重命名文件或目录
-b (backup):若存在同名文件,则覆盖前备份原来的文件
-f (force):强制覆盖同名文件
3. cp命令
cp [选项] 源文件或源目录 目的文件或目的目录 复制文件或目录
-b (backup):若存在同名文件,则覆盖前备份原来的文件
-f (force):强制覆盖同名文件
-r 或 –R (recursive):按递归方式,保留源目录结构复制文件
4. rm命令
rm [选项] 文件或目录 删除文件或目录
-f (force):强制删除,不出现确认信息
-r 或 –R (recursive):按递归方式删除目录,默认只删除文件
5. ln命令
ln [选项] 目标文件 链接文件 建立链接文件,默认建立硬链接文件
-b (backup):若存在同名文件,则覆盖前备份原来的文件
-s (symbolic):建立符号链接文件
6. find命令
find [路径] 表达式 从指定路径开始向下搜索满足表达式的文件和目录。不指定路径时查找当前目录。当查找到用户不具有执行权限的目录时,屏幕将显示“权限不够”等提示信息。
-name 文件:按文件名查找,可使用通配符
-g 组群名:查找文件的所属组群为指定组群的文件
-user 用户名:查找文件所有者为指定用户的文件
-type 文件类型:按照文件类型查找,其中d为目录文件,l为符号链接文件
-size [+|-] 文件大小:查找指定大小的文件
7. grep命令
grep [选项] 字符串 文件列表 从指定文本文件或标准输出中查找符合条件的字符串,默认显示其所在行的内容。
-n (number):显示行号
-v (invert):显示不包含指定字符串的行
-I (ignore):查找时不区分大小写
8. du命令
du [选项] [目录或文件] 显示目录或文件大小,默认以KB为单位。参数为目录时,默认递归显示指定目录及其所有子目录的大小。
-a (all):显示指定目录及其所有子目录和文件的大小。默认只显示目录的大小。
-h (human):以易读方式显示目录或文件的大小。
-s (summarize):只显示指定目录的大小,而不显示其子目录的大小。
归档与压缩文件
tar.gz:用gzip压缩的tar文件
tar.bz2:用bz2压缩的tar文件
tar:未压缩的tar文件
zip:zip压缩文件
gz:gz压缩文件
bz2:bz2压缩r文件
ear、jar、war:Java环境下常用的压缩文件
归档与压缩文件的Shell命令
1. tar命令
tar 选项 归档/压缩文件 [文件或目录列表] 将多个文件或目录归档为tar文件,如果使用相关选项还可压缩归档文件。
-c (create):创建归档/压缩文件
-r:向归档/压缩文件追加文件和目录
-t (list):显示归档/压缩文件的内容
-u (update):更新归档/压缩文件
-x (extract):还原归档/压缩文件中的文件和目录
-v (verbose):显示命令的执行过程
-z (gzip):采用gzip方式压缩/解压缩归档文件
-j:采用bzip2方式压缩/解压缩归档文件
-f:tar命令的必须选项
2. gzip命令
gzip [选项] 文件|目录 压缩/解压缩文件。无选项参数时执行压缩操作。压缩后产生扩展名为.gz的压缩文件,并删除源文件。
-d (decompress):解压缩文件,相当于使用gunzip命令
-r (recursive):参数为目录时,按目录结构递归压缩目录中的所有文件
-v (verbose):显示文件的压缩比例
3. bzip2命令
bzip2 [选项] 文件|目录 压缩/解压缩文件。无选项参数时执行压缩操作。压缩后产生扩展名为.bz2的压缩文件,并删除源文件。bzip2命令也没有归档功能。
-d (decompress):解压缩文件,相当于使用bunzip2命令
-v (verbose):显示文件的压缩比例等信息
4. zip命令
zip [选项] 压缩文件 文件列表 可将多个文件归档后压缩
-m:压缩完成后删除源文件
-r (recursive):按目录结构递归压缩目录中的所有文件
5. unzip命令
unzip [选项] 压缩文件 解压缩扩展名为.zip的压缩文件
-l (list):查看压缩文件所包含的文件
-t (test):测试压缩文件是否已经损坏
-d 目录 (directory):指定压缩文件的目标目录
-n (no):不覆盖同名文件
-o:强制覆盖同名文件