Linux是对权限很严格的系统。在Linux系统中用户想要进行一些操作必须要有相应的权限。Linux的权限管理能够很好保证系统的安全性和完整性。
一.Linux文件权限
1.文件的读写执行
读(r):可读取文件内容。
写(w):能够写入文件。
执行(x):可执行文件。
#默认普通用户是没有执行权限。
2.目录的读写执行
读(r):可查看目录下存在哪些文件。
写(w):可以在目录进行文件(或者目录)的添加删除操作
执行(x):可切换到此目录下。
3.用二进制表示权限
将权限用二进制表示读写执行,1代表有这项权限,0代表没有这种权限。
000 无任何权限
001 可执行权限
010 可写权限
011 可写可执行权限
100 可读权限
101 可读可执行权限
110 可读可写权限
111 可读可写可执行权限
将二进制转换为10进制进行表示
0 无任何权限
1 可执行权限
2 可写权限
3 可写可执行权限
4 可读权限
5 可读可执行权限
6 可读可写权限
7 可读可写可执行权限
4.所属权
在Linux中有用户组,用户的概念。每个用户都存在一个主组,存在0个或者多个附属组。
根据这个性质,在文件创建时也存在三种所属权。#即针对改文件有三种类型用户
属主:拥有该文件或目录的用户账号。
属组:拥有该文件或目录的用户组账号
其他人others:不属于属主和属组的用户账号。
#当我们使用用户名为hua(在student的用户组下)创建了一个test.txt文件时,hua就是test.txt文件的属组;在student用户组下存在一个Lisa的用户,Lisa用户就是该文件的属组权限;而不在student用户组下的所有用户都是属于others权限
二.文件相关命令
1.查看目录ls
ls 文件名(目录名)
-l 显示更多详细信息
-a 显示隐藏文件
任何参数都不加时,表示显示当前目录含有哪些文件(但是隐藏文件不会显示)
蓝色字体表示该文件为目录,黑色字体表示为文件
第1列表示文件类型,
第2-4列表示属主对文件的读,写,执行权限,
第5-7列表示对属组对文件的读,写,执行权限,
第8-10列表示对文件的读,写,执行权限
第11列表示硬件链接数,对于文件,这是指向该文件的硬链接数;对于目录,这是该目录中子目录的数量(包括.和..)
第12列表示属主
第13列表示属组
第14列表示文件大小
第15列表示时间戳:文件最后一次修改时间
第16列表文件名
以上面第一,二列数据为例:
第一列,该文件时属于d类型,属主有对该目录读写执行权限,属组有对该目录读写执行权限,
其他人有对该目录可执行权限,含有2个子目录,文件大小为36,最后一次修改时间为9月28日,23点10分,目录名为ja
第二列,该文件时属于-类型,属主有对该文件读写权限,属组有对该文件读写权限,
其他人有对该目录读权限,含有1个链接速,文件大小为0,最后一次修改时间为9月28日,23点10分,目录名为jj。
2.修改文件/目录权限chmod
格式一:
chmod [ugoa] [+-=] [rwx] 文件名或者目录
[ugoa] : u表示修改属主权限,g表示修改属组权限,o表其他用户,a表示所有用户
[+-=]: +表示添加权限,-表示去除权限,=表示设置权限
[rwx]: r表示读,w表示写,x表示执行
-R :表示递归修改,即该目录下的所有文件和子目录的权限都进行修改
1.给test0文件的其他人增加可读权限
chmod o+r test0
2.给test1文件的属组减去可写权限
chmod g-w test1
3.给test2文件的属组权限设置为可读权限
chmod u=rw test2
4.给test3文件的属组,其他人权限设置为可读可写权限
chmod go=rw test3
格式二:
chmod nnn 文件或者目录 #之前提到10进制可以表示用户权限所有可以用数字表示用户权限
1.给Deam0文件修改为属主为可读写权限,属组和其他人为可读权限
chomod 600 Deam0 #6的二进制为110,所有对应可读可写
2.给Deam1文件修改为属主,属组和其他人为可读可写可执行权限
chmod 777 Deam1
3.设置文件/目录的归属chown
chown 文件/目录 所属主
-R 目录下的子目录也进行修改
将jj的文件归属改为zjw #只有root用户才能执行此命令
4.创建文件命令
1)touch
touch
命令通常用于修改文件的访问和修改时间,但如果你指定的文件不存在,它会创建一个空文件。
touch 文件名
2)重定向操作符
使用重定向符>就能够创建新文件
5.创建目录命令mkdir
mkdir 目录名
示例:mkdir zg #创建一个zg的目录
6.查看文件内容命令
1)cat
cat 文件名x #显示x的文件内容
2)tail
tail -n 文件名x #显示文件x 后n行数据
3)head
head -n 文件名x #显示文件x 前n行数据
7.复制文件及目录cp
cp 源文件 目标文件
-a 保留链接、文件属性,复制目录时可递归的复制目录
-f 如果目标文件或目录已经存在,则将其覆盖,并不作提示 (force)
-i 如果目标文件或目录已经存在,则对用户进行提示,可以用字母y确认,其他字母都是否认
-r 复制目录,实现将源目录下的文件和子目录一起复制到目标目录中
8.移动/命令名文件及目录mv
mv 源文件 目标文件
9.删除文件/目录
rm 目标文件
-f 强制删除文件或目录 (force)
-i 对用户进行提示,(inform)可以用字母y确认,其他字母都是否认
-r 目录删除,将指定目录下的所有文件及其子目录一并删除
10.用find命令查找文件
find 查找目录的路径 查找条件选项 对查找条件的设定
-name 通过文件名查找文件
-user 通过用户名查找文件
-type 通过文件类型查找文件
-size 通过文件大小查找文件
-atime 通过文件的最后访问日期查找文件(单位:天)
-mtime 通过文件的最后修改日期查找文件(单位:天)
-newer 查找比指定文件更新的文件
-amin 查找在指定时间内曾被存取过的文件(单位:分钟)
-cmin 查找在指定时间内被更改过的文件(单位:分钟)
-perm 查找符合指定权限数值的文件
11.查询字符串grep
grep 关键字 查找范围