Linux 权限操作
Linux 权限操作
1.用字母的方式改变权限用u表示文件所有者,g表示同组用户,o表示其他用户用r表示可读,用w表示可写,用x表示可执行,文件的权限就可以表示为字母等式的组合
使文件所有者具有可读可写可执行:
使同组用户和其他用户可读不可写可执行:
在原来的基础上,为同组用户增加可写属性:
在原来的基础上,收回其他用户可执行的属性:
文件所有者可读不可写可执行,同组用户收回可写属性,其他用户增加可写属性:
2.修改文件的所有者与所属组chown
增加用户aaa:
将文件a01.txt的所有者改为aaa:
1 2 3
| [root@master ~] [root@master ~] -r-xr-xrw-. 1 aaa root 0 11月 27 08:15 a01.txt
|
Linux权限数字表达
由 智谱清言 生成回答, 可能含有不正确的内容, 如有错误欢迎指正.
在Linux中,文件和目录的权限可以用数字来表示,这些数字对应于权限的读(r)、写(w)和执行(x)。以下是各个权限对应的数字:
无权限(-)对应的数字是0。权限的设置是通过组合这些数字来实现的。例如,读和执行权限的组合(r-x)对应的数字是5(4+1),读和写权限的组合(rw-)对应的数字是6(4+2)。
在Linux中,权限的设置通常遵循以下模式:
- 第一位数字:文件所有者的权限
- 第二位数字:文件所属组的权限
- 第三位数字:其他用户的权限
例如,权限模式755表示:
- 所有者(owner):7(读、写、执行权限)
- 组(group):5(读、执行权限,无写权限)
- 其他用户(others):5(读、执行权限,无写权限)
在Linux中,还有一些特殊的权限设置:
- 600(rw-------):所有者有读写权限,组和其他用户无权限。
- 644(rw-r--r--):所有者有读写权限,组和其他用户只有读权限。
- 666(rw-rw-rw-):所有者有读写权限,组和其他用户也有读写权限(但通常不会同时给予)。
- 700(rwx------):所有者有读写执行权限,组和其他用户无权限。
- 744(rwxr--r--):所有者有读写执行权限,组和其他用户只有读权限。
- 755(rwxr-xr-x):所有者有读写执行权限,组和其他用户有读和执行权限,但无写权限。
- 777(rwxrwxrwx):所有者有读写执行权限,组和其他用户也有读写执行权限(但通常不会同时给予)。在实际操作中,可以使用
chmod
命令来设置或修改文件和目录的权限。例如:
这个命令会将文件file.txt
的权限设置为所有者可读写执行,组和其他用户可读执行。
课堂练习:
将命令和结果粘贴在桌面的release目录下,模块A提交的结果文件中。要求命令参数文件路径使用绝对路径。
- 建立文件夹/aaa/a01
- 转移到/aaa/a01目录下,并显示当前路径
- 在文件夹/aaa/a01下新建文件myHadoop01.txt,内容为:Hello HadoopHello HDFSHello spark
1 2 3 4 5
| cat >> /aaa/a01/myHadoop01.txt << EOF Hello Hadoop Hello HDFS Hello spark EOF
|
- 新建文件夹/bbb/b01
- 将文件/aaa/a01/myHadoop01.txt,复制到/bbb/b01目录下,并改名为myHadoop02.txt。
1
| cp /aaa/a01/myHadoop01.txt /bbb/b01/myHadoop02.txt
|
- 在/bbb/b01/myHadoop02.txt末尾,新增加一行内容:Hello Yarn
1
| echo "Hello Yarn" >> /bbb/b01/myHadoop02.txt
|
- 比较/aaa/a01/myHadoop01.txt和/bbb/b01/myHadoop02.txt的不同之处。
1
| diff /aaa/a01/myHadoop01.txt /bbb/b01/myHadoop02.txt
|
- 打印/aaa/a01/myHadoop01.txt的前两行内容。
1
| head -n 2 /aaa/a01/myHadoop01.txt
|
- 打印/bbb/b01/myHadoop02.txt的最后1行内容。
1
| tail -n 1 /bbb/b01/myHadoop02.txt
|
- 将文件夹/aaa,拷贝为/ccc
- 删除/ccc/a01/myHadoop01.txt文件。
1
| rm -rf /ccc/a01/myHadoop01.txt
|
- 分别删除文件夹/ccc/a01,/ccc
1 2
| rmdir /ccc/a01 rmdir /ccc
|
- 为文件/aaa/a01/myHadoop01.txt,建立软连接/aaa/a01/myHadoop
1
| ln -s /aaa/a01/myHadoop01.txt /aaa/a01/myHadoop
|
- 用tar命令将/bbb/b01/myHadoop02.txt压缩为/bbb/b01/myHadoop02.tar.tz
1
| tar -C /bbb/b01/ -czvf /bbb/b01/myHadoop02.tar.tz myHadoop02.txt
|
- 查找电脑中所有以myHadoop字符开头的文件。
- 查找/aaa/a01/myHadoop01.txt中所有包含Hadoop的行。
1
| grep "Hadoop" /aaa/a01/myHadoop01.txt
|
- 显示/aaa/a01/myHadoop01.txt的属性,并用文字说明该文件的文件所有者、同组用户、其他用户分别具有什么权限。
1 2
| [root@MySQL01 aaa] -rw-r--r--. 1 root root 36 1月 1 12:48 /aaa/a01/myHadoop01.txt
|
- 文件所有者: 读写权限
- 同组用户,其他用户: 读权限
- 用数字的方式,将myHadoop01.txt的权限设置为文件所有者可读不可写可执行,同组用户只可读,其他用户只可执行。
1
| chmod 541 /aaa/a01/myHadoop01.txt
|
- 用字母的方式,将myHadoop01.txt的权限设置为一切用户均可读可写可执行。
1
| chmod a=rwx /aaa/a01/myHadoop01.txt
|
- 新建用户aaa
- 将文件夹/aaa的所有者设置为aaa用户,并显示/aaa的属性
1
| chown aaa /aaa && stat /aaa
|