Linux 之 基本权限
文章目录
- 一、基本指令的补充
-
- 1.find
- 2.which
-
- 1.功能:查找指令在什么路径下( 这条命令主要是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令)
- 3.alias
-
- 1.功能:对指令进行重命名
- 4.top
-
- 1.功能:用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况
- 5.whereis
-
- 1.功能:特定路径下查找指定的文件名对应的指令或者文档( 这个命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广)
- 6.grep(文本内容行过滤工具)
-
- 1.功能:在默认情况下会匹配文本中的关键字,匹配上的会进行行显示
- 2.常用选项
-
- (1) -n 打印行号
- (2) -i 忽略大小写
- (3) -v 对没有匹配上的进行行显示
- 7.wc
-
- 1.功能:统计行数
- 8.sort
-
- 1.功能:文件内容按行按ASCII码排序,默认排序升序
- 9.uniq
-
- 1.功能:去重文件相邻行内容
- 10.zip/unzip
-
- 1.功能:zip指令负责打包压缩,unzip指令负责解包解压
- 2.安装:yum install -y(避免交互式) zip unzip
- 3.使用:
-
- (1)zip默认对一个目录进行打包压缩时,只对目录文件进行打包压缩,若要将目录中所包含的文件也一同打包压缩,要加选项-r
- (2)unzip默认在当前目录下进行解压,如果想要在指定路径下进行解压加选项-d
- 11.tar
-
- 1.功能:既可以打包压缩,也可以解包解压
- 2.选项:
-
- (1)-czf 打包并压缩
- (2)-xzf 解包并解压
- (3)-v 解压/压缩的时候,同步显示压缩文件列表
- (4)-t 显示压缩包内所包含的文件,但是并不打开压缩包
- (5)-c 解压到指定目录/路径下
- 12.bc
-
- 1.功能:计算器
- 13.uname
-
- 1.功能:输出当前操作系统的名称
- 2.常用选项:
-
- (1) -a :详细输出电脑和操作系统的详细信息
- (2) -r :查看操作系统内核版本
- 14.热键
-
- 1.Tab 命令自动补齐
- 2.ctrl+c 终止在前台的异常程序
- 3.上下键翻动可以查看历史命令
- 4.ctrl+r 输入曾经历史命令片段,据此可以查找历史命令(左右键即可选中)
- 5.ctrl+d 退出当前用户,退出一层
- 15.关机 shutdown
- 16.lscpu
-
- 1.功能:查看cpu信息
- 17.lsmen
-
- 1.功能:查看内存信息
- 18.df -h
-
- 1.功能:查看磁盘使用情况
- 19.who
-
- 1.功能:查看当前Linux系统d的当前用户
- 二、shell
-
- 1.命令行解释器的感性认识
- 2.命令行解释器的作用:
-
- (1)完成用户与操作系统的交互
- (2) 拒绝用户非法请求,保护操作系统
- 三、权限
-
- 1.基本的具体用户认识
-
- (1) root用户:超级管理员
- (2)普通用户:受权限约束的用户
- 2. 什么是权限
- 3.为什么设置权限
- 4.如何操作权限
-
- (1)chomd
-
- a.chomd u/g/o/a+-r/w/x filename
- b.八进制方案 chmod 3位八进制数 filename
- (2)chown 修改文件拥有者(普通用户要是想把文件给别人必须sudo进行短暂的提权)
- (3)chgrp 修改文件的所属组
- 补充
一、基本指令的补充
1.find
1.功能:搜索文件
2.常见选项:
-name 按照文件名搜查文件
2.which
1.功能:查找指令在什么路径下( 这条命令主要是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令)
其中的alias代表的是命令别名。这里需要说明的是which是可以分辨出命令的别名的,你也可以通过which 命令别名查找到命令的位置。
3.alias
1.功能:对指令进行重命名
4.top
1.功能:用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况
== ctrl+c 退出 ==
5.whereis
1.功能:特定路径下查找指定的文件名对应的指令或者文档( 这个命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广)
可以看到whereis还找到了ls命令的相关man文件。这条命令一般情况下只找的出命令相关的文件,并不能找出任意指定的文件。
6.grep(文本内容行过滤工具)
1.功能:在默认情况下会匹配文本中的关键字,匹配上的会进行行显示
2.常用选项
(1) -n 打印行号
(2) -i 忽略大小写
(3) -v 对没有匹配上的进行行显示
如果想要实现删除文档中的空格,将进行处理过后的文件内哦让那个存储到新创建的文件中,该怎样实现??
其中,命令行中出现的"^$"是空行的意思
以上的指令的意思,是test.txt中没有与空格成功匹配的行进行行显示到file文件中
7.wc
1.功能:统计行数
8.sort
1.功能:文件内容按行按ASCII码排序,默认排序升序
9.uniq
1.功能:去重文件相邻行内容
若要实现去重文件中的重复内容,无论是否相邻?
最好的办法:排序使得重复内容响铃,再借助uniq命令去重
10.zip/unzip
1.功能:zip指令负责打包压缩,unzip指令负责解包解压
2.安装:yum install -y(避免交互式) zip unzip
3.使用:
(1)zip默认对一个目录进行打包压缩时,只对目录文件进行打包压缩,若要将目录中所包含的文件也一同打包压缩,要加选项-r
(2)unzip默认在当前目录下进行解压,如果想要在指定路径下进行解压加选项-d
11.tar
1.功能:既可以打包压缩,也可以解包解压
2.选项:
(1)-czf 打包并压缩
(2)-xzf 解包并解压
(3)-v 解压/压缩的时候,同步显示压缩文件列表
(4)-t 显示压缩包内所包含的文件,但是并不打开压缩包
(5)-c 解压到指定目录/路径下
12.bc
1.功能:计算器
13.uname
1.功能:输出当前操作系统的名称
2.常用选项:
(1) -a :详细输出电脑和操作系统的详细信息
(2) -r :查看操作系统内核版本
14.热键
1.Tab 命令自动补齐
2.ctrl+c 终止在前台的异常程序
3.上下键翻动可以查看历史命令
4.ctrl+r 输入曾经历史命令片段,据此可以查找历史命令(左右键即可选中)
5.ctrl+d 退出当前用户,退出一层
15.关机 shutdown
16.lscpu
1.功能:查看cpu信息
17.lsmen
1.功能:查看内存信息
18.df -h
1.功能:查看磁盘使用情况
19.who
1.功能:查看当前Linux系统d的当前用户
二、shell
1.命令行解释器的感性认识
举一个不太恰当的例子,本博主十分不支持这样的生活方式。在相亲过程中,媒婆会为经济条件物质生活比较相当的男女拉红线。在比较早的年代,媒婆会跑到男女双方先是向对方描述个人情况,如果双方同意了解了解,那么媒婆会替男女双方向对方传话,而男女生是并不直接接触的。
在这里,男女双方就类似于用户和操作系统,命令行解释器作为中间方,即故事中媒婆的形象,完成用户和操作系统的交互。
2.命令行解释器的作用:
(1)完成用户与操作系统的交互
(2) 拒绝用户非法请求,保护操作系统
login指令:用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份。
logout指令:退出操作系统
三、权限
1.基本的具体用户认识
(1) root用户:超级管理员
(2)普通用户:受权限约束的用户
root用户切换为普通用户:su XXX(普通用户的用户名)
普通用户切换为root用户:su (需要输入root用户的密码,目前所处的路径不会发生变化,只是用户身份发生了变化)
root用户重新登陆:su -(也可以看作是由普通用户切换为root用户的指令)
是普通用户,但是想用root的身份执行一条命令,但是不想切换为root用户:sudo command(短暂的提权,要注意的是只有操作系统所信任的用户才可以执行该条指令)
== 有关文件的补充知识==
使用ll指令后,将显示文件的详细信息。由下图可见。
-rwxrwxrwx这文件的众多属性的第一列代表的是什么意思?
1.该列的第一个字符代表的是文件类型。(在Linux操作系统中文件类型与文件名后缀无关,与Windows操作系统不同,是通过ll显示的文件的众多属性的第一列的第一个字符来区分文件类型,但是在Linux操作系统中某些工具如gcc还是会对文件的后缀名有要求的)
当第一个字符为 - 时,代表普通文件(源代码、库文件、可执行程序、文档压缩包等)
当第一个字符为 d 时,代表目录文件
当第一个字符为 c 时,代表字符设备文件(键盘、显示器【存储的路径:/dev/tty】)
当第一个字符为 l 时,代表链接文件(软件的快捷方式)
当第一个字符为 p 时,代表管道文件(【mkfifo pipe 创建管道文件】)
2.除第一个字符外,其余三个字符为一组,分别代表的是文件的拥有者、所属组、其他人对文件的读写执行操作的权限(如拥有某个权限则对应r/w/x,如不拥有此权限则显示-)
2. 什么是权限
什么是权限,通俗地讲,权限是一件事情是否允许被谁做。权限包括对执行某件事情角色的约束,也包括某件事情本身的属性,是否允许被操作的约束。
在Linux操作系统中,有三种角色,分别是文件的拥有者,文件的所属组,文件的其他人。(Linux下可以说是一切皆文件,所以以上所讲的文件可以指Linux操作系统下的任一)
为什么要设置文件的所属组
这个问题的回复,将从反面来论证,可不可以不设置文件的所属组。假设只存在文件的拥有者和文件的其他人两种角色。在T公司中,有两团队要竞争去做一款软件,有团队A,团队B。最近新来两个实习生张三和李四,在公司的安排下,张三进入到了团队A中,李四进入到了团队B中。张三是个技术很高超的人,编写了一段对做这款软件有突破性的代码,并将其存储在某个文件中。团队A中的其他同事想要来看看这个文件,但是由于他们属于是这个文件的其他人角色,不具备查看这个文件的权限。张三就设置了该文件,其他人均可以看。那么这样不只张三团队中的其他同事可以看,另一个团队的其他人也可以看。这样,该文件存储的代码可能会被其他团队窃取去。设置文件的所属组就是防止以上的情况的发生。
3.为什么设置权限
便于操作系统进行安全管理
4.如何操作权限
(1)chomd
a.chomd u/g/o/a±r/w/x filename
b.八进制方案 chmod 3位八进制数 filename
(2)chown 修改文件拥有者(普通用户要是想把文件给别人必须sudo进行短暂的提权)
另外请注意,chown 文件的拥有者名称:文件的所属组名称 filename 可以修改文件的拥有者和所属组
(3)chgrp 修改文件的所属组
补充
Linux系统规定,目录的起始权限是777,普通文件的起始权限是666。
1.可我们平时在创建出来的新目录和新的普通文件的权限却不是777和666,这是为什么??
这是因为umask权限掩码在起作用。
2.什么是umask权限掩码?
umask是系统本身设置的,默认值为0002。凡是在umask中出现的权限,都必须在起始权限中去掉。
umask也可以由程序设置,只需要umask 0三位八进制但小于等于7大于等于0的数
3.第二个回答中出现的去掉是什么操作?
最终权限=起始权限& (~umask)
^
|
|
|
以上的最终权限的规定和chmod的八进制方案修改文件的权限并不冲突!!以上最终权限是新创建目录或者普通文件的权限,而chmod的八进制方案直接对已经存在的目录或者普通文件的权限进行修改,并且和umask没有任何的关系! ! ! ! !
4.在目录中,r权限允许显示目录所包含文件列表,w权限允许在目录中创建文件或者子目录,x权限允许进入目录操作。