- 越权执行
- find 查找
- 查看文件
- 管道 |
- > 和 >>
- 符号> 的含义是覆盖
- 符号>>的含义是追加
- rpm
- tar
- 文件分发
sudo 越权执行
格式: sudo 要执行的命令
这里的sudo实际上是去借root用户的权限执行命令,前提是root用户给这个用户分配了权限
root用户可以用visudo命令修改配置文件进行权限分配,具体的做法是打开一个文件,文件位置是/etc/sudoers
普通用户可以借助 sudo -l 查看当前权限
具体的操作流程:
登录用户test
尝试使用命令
权限不足,就需要root用户来给其分配权限
通过visudo这个指令进入文件,然后在root ALL=(ALL)ALL这一行的下面,给用户test增加权限
先来分配全部权限看看
保存退出,在来到test用户这里
此时可以执行全部的指令,但是一般不会这么给权限,因为这样root和test用户权限都一样了
一般像这样只给一项权限
或者给多项权限,权限之间用逗号做分隔
再查看一下test用户现在可以使用的权限
使用权限时,要加上sudo,不然依旧会报权限不足的错误
这里就成功的创建了文件
格式: find 开始查找路径 [选项] [条件]
开始查找路径指从哪个路径里面查找
选项(筛选条件):
- -name
*表示匹配所有
?表示匹配一个
例如从test目录 /test 开始查找后缀为.txt,find /test -name " *.txt " - -type
d:表示目录
f:表示文件
例如从test目录 /test 开始查找文件,find /test -type f - -size
- -user
- -group
其中的-size,按照文件的大小来查找,这里如果想查看文件的大小,可以用 ll --block-size=单位
例如图上就是以k为单位进行显示,ll --block-size=k
发现1002 和 11月之间有了 0K,1K等文件大小
然后按照文件大小进行筛选查找
+表示大于
-表示小于
什么都不写就是等于
比如这里查找/usr/local/test文件夹下面大于1k的文件
要注意的是,图上的 +1k 里面的 k 是小写,如果是大写的K,就会报下面这样的错
再举两个例子
像这样是直接给出文件名,然后查找这个文件
像这样是查找所有以.txt为结尾的文件
cat 查看文件的内容
格式: cat [选项] 文件的全路径或文件名称
选项:
-
-n 显示的时候加上行号
-
more 分页查看(只会加载部分文件)
底下会显示加载了多少内容
这时候可以有以下三种操作:
回车:显示下一行
s:显示下一页
q:直接退出 -
less (加载完毕,但是只显示一部分内容)
此时按回车,可以输入具体的行数,然后往下显示相对应行数的内容
比如输入3,继续展示下面三行的内容
同样是按 q 退出 -
head 查看文件的头部
只展示前面几行的内容(默认是显示十行的内容,这里就不全部截图了)
用 -数字 的方式来控制展示前面几行的内容
-
tail 查看文件的尾部
与head类似,会默认显示最后十行,也可以用 -数字 的方式来控制显示几行内容
|: 管道,把前面一部分的内容交给后面去处理
本来的 cat /etc/profile 是将文件内容读取到终端,这里加上管道 | 之后,就将cat /etc/profile的内容交给了后面的 head 来执行,head执行后再将结果输入到终端
通常 | 与grep相结合,用作筛选
先查看一下a.txt文件里面的内容
然后再筛选一下
筛选条件不写具体的文件名也行
格式为命令1 > 命令2
将 a.txt 里面的内容都覆盖到 b.txt 文件的里面
把命令1的结果写入到命令2
将 a.txt 里面的内容都追加到 b.txt 文件的后面
rpm:查看,管理,删除软件
格式:rpm [选项] [软件名称] [后缀]
选项:
- -q:查询
- -a:所有
- -qa:查询所有
- -e:删除
后缀是–nodeps:
用来无视文件之间的依赖关系,强行删除
例如删除linux中自带的jdk相关文件
用来解压和压缩
格式为:tar [选项] [包名] [路径]
选项:
- -c —— 压缩
- -x —— 解压
- -v —— 显示
- -z —— gzip
- -j —— bzip
- -f —— 使用当前名称
- -t —— 查看
当要将文件解压到指定目录时,需要用 -C 用来指定解压的路径
将压缩包解压到指定的地方
tar -zxvf 要解压的文件 -C 指定解压到的路径
当要将文件打包压缩到指定目录时
tar -cvf 指定目录 被打包的文件
利用scp,可以将文件从一台主机传输到另外一台主机上
但是在这之前需要先进行免密互通ssh,不然每次传输文件都需要输入密码,太过麻烦
ssh免密过程如下
首先如果需要重新进行ssh免密,需要将ssh文件夹清空,然后重新进行
创建秘钥 ssh-keygen -t rsa,接下来一直回车即可
秘钥分发,ssh-copy-id 主机名或ip地址
然后开始利用scp命令,进行文件分发
传送文件的格式:scp 文件路径 主机名:发送的位置
传送文件夹的格式:scp -r 文件路径 主机名:发送的位置
先在node1主机上查看一下
在master主机上发送,将文件 a.txt 发送给主机node1
右边会显示传输的信息
再查看一下,就可以发现 a.txt 已经传过去了
-r可以传目录也可以传文件,传送一个文件夹过去
现在还需要注意一个问题,如果指顶的目的地不存在会怎么样
现在在demo文件夹中添加两个文件,然后指定的目的地,是一个不存在的文件夹
这里会发现 demo文件夹的名字被改成了 show
如果传输的是文件a.txt,然后目的地也是一个不存在的文件,比如/usr/local/test/b.txt
那么最后传输的结果,a.txt 这个名字会被改为 b.txt
也就是说,如果目的地存在,那么传输的文件名不会改变。如果目的地不存在,那么传输的文件名会被修改为设置的目的地的名字



