选项: -y 对所有提问"yes"
参数:
install安装rpm软件包update更新rpm软件包check-update检查是否有可用的更新rpm软件包remove删除指定的rpm软件包list显示软件包信息clean清理yum过期的缓存deplist显示yum软件包的所有依赖关系 sudo yum install -y ncman [命令或配置文件] (功能描述:获得帮助信息 help 命令 (功能描述:获得shell内置命令的帮助信息)
①逐个修改 chmod o+r,g-w lover.txt
o:其他用户 u:所有者 g:所有组 a:所有的
[root@0722Linux sanguo]# chmod u-r,o+wx,g+x lvbu.txt [root@0722Linux sanguo]# ll -rw-r--r--. 1 liqili liqili 40 8月 31 09:48 diaocan.girl drwxr-xr-x. 2 root root 23 8月 31 19:07 hahaha -rw-rw-rw-. 1 liqili liqili 0 8月 31 15:11 lover.txt --w-r-xrwx. 1 liqili liqili 10 8月 31 19:45 lvbu.txt -rw-r--r--. 1 root liqili 373 8月 31 19:51 panfeng -rw-r--r--. 1 liqili liqili 6634 8月 31 14:24 smartd.conf lrwxrwxrwx. 1 root root 7 8月 31 19:26 sp -> panfeng②使用二进制整体修改 chmod 444 lover.txt
rwx对应三个二进制位
[root@0722Linux sanguo]# chmod 444 lover.txt [root@0722Linux sanguo]# ll 总用量 20 -rw-r--r--. 1 liqili liqili 40 8月 31 09:48 diaocan.girl drwxr-xr-x. 2 root root 23 8月 31 19:07 hahaha -r--r--r--. 1 liqili liqili 0 8月 31 15:11 lover.txt --w-r-xrwx. 1 liqili liqili 10 8月 31 19:45 lvbu.txt -rw-r--r--. 1 root liqili 373 8月 31 19:51 panfeng -rw-r--r--. 1 liqili liqili 6634 8月 31 14:24 smartd.conf lrwxrwxrwx. 1 root root 7 8月 31 19:26 sp -> panfengchown -R 最终用户 目标文件夹:递归修改文件夹及内部文件属主;
[root@0722Linux 图片]# chown jiang sanguo/ [root@0722Linux 图片]# ll 总用量 0 lrwxrwxrwx. 1 root root 7 8月 31 19:24 h -> hahaha/ drwxrwxrwx. 3 jiang liqili 117 8月 31 19:26 sanguo drwxr-xr-x. 2 root root 108 8月 31 15:47 xiyoujichrgp 最终用户组 文件或者文件夹
[root@0722Linux 图片]# chgrp jiang sanguo/ [root@0722Linux 图片]# ll 总用量 0 lrwxrwxrwx. 1 root root 7 8月 31 19:24 h -> hahaha/ drwxrwxrwx. 3 jiang jiang 117 8月 31 19:26 sanguo drwxr-xr-x. 2 root root 108 8月 31 15:47 xiyoujigrep 选项 查找内容 源文件
-n:匹配行号
-v:从前面结果中过滤掉当前的grep的结果
grep 选项 查找内容 源文件tar [选项] XXX.tar.gz 将要打包进去的内容
选项功能-z打包同时压缩-c产生**.tar****打包文件**-v显示详细信息-f指定压缩后的文件名-x解包**.tar****文件**压缩 zcvf 解压 zxvf(-C 指定解压路径)
[root@0722Linux sanguo]# tar zcvf sang.tar.gz lvbu.txt h.zip smartd.conf lvbu.txt h.zip smartd.conf [root@0722Linux sanguo]# tar zxvf sang.tar.gz lvbu.txt h.zip smartd.conf [root@0722Linux sanguo]# ll 总用量 28 -rw-r--r--. 1 liqili liqili 40 8月 31 09:48 diaocan.girl drwxr-xr-x. 2 root root 38 8月 31 20:51 hahaha -rw-r--r--. 1 root root 653 8月 31 20:49 h.zip -r--r--r--. 1 liqili liqili 0 8月 31 15:11 lover.txt --w-r-xrwx. 1 liqili liqili 10 8月 31 19:45 lvbu.txt -rw-r--r--. 1 root liqili 373 8月 31 19:51 panfeng -rw-r--r--. 1 root root 3430 8月 31 20:55 sang.tar.gz -rw-r--r--. 1 liqili liqili 6634 8月 31 14:24 smartd.conf lrwxrwxrwx. 1 root root 7 8月 31 19:26 sp -> panfeng显示进程(ps)
ps -a 所有BSD0进程 ps -u 所有用户的所有BSD进程 ps -x 显示没有终端的BSD进程 ps -aux | grep sshd | grep -v grep ps -ef 所有的标准进程(bash启动的进程)kill(根据线程id终止进程)
kill -9 33066killall(根据进程名称杀死进程,支持通配符)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m40yCPmU-1601994828519)(C:\Users\Vae\AppData\Roaming\Typora\typora-user-images\image-20200903161350069.png)]
监控特定用户
输入 top 命令 在top命令输入 `u` 输入要查看的用户 , 以`root`为例终止指定进程
top 命令, 回车查看执行的进程 输入 'k' 回车 , 输入要结束的进程id, 回车操作指令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qqetvhQg-1601994828520)(C:\Users\Vae\AppData\Roaming\Typora\typora-user-images\image-20200903161441177.png)]
scp -r p d i r / pdir/ pdir/fname u s e r @ h a d o o p user@hadoop user@hadoophost: p d i r / pdir/ pdir/fname
scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
操作另外两个服务器的文件夹文件内容传输 [atguigu@hadoop103 profile.d]$ scp -r atguigu@hadoop102:/opt/software/* atguigu@hadoop104:/opt/software/ hadoop-3.1.3.tar.gz 100% 322MB 89.0MB/s 00:03 jdk-8u212-linux-x64.tar.gz 100% 186MB 62.6MB/s 00:02 Connection to hadoop102 closed.rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点
rsync -av p d i r / pdir/ pdir/fname u s e r @ h a d o o p user@hadoop user@hadoophost: p d i r / pdir/ pdir/fname
[atguigu@hadoop103 profile.d]$ rsync -av atguigu@hadoop102:/opt/software/* /opt/software/ receiving incremental file list hadoop-3.1.3.tar.gz jdk-8u212-linux-x64.tar.gz sent 62 bytes received 533,219,361 bytes 71,095,923.07 bytes/sec total size is 533,089,012 speedup is 1.00 [atguigu@hadoop103 profile.d]$ rsync -av atguigu@hadoop102:/opt/software/* /opt/software/ #第二次没有传输文件 receiving incremental file list sent 20 bytes received 119 bytes 92.67 bytes/sec total size is 533,089,012 speedup is 3,835,172.75sed -e/-i a/d/s
sed 选项 'command' filename -e 不编辑原文件-默认 -i 编辑源文件 a新增,a的后面可以接字串,在下一行出现d删除s查找并替换 [root@0722Linux sanguo]# sed -i '/mei/d' panfeng 删除指定字符的行 [root@0722Linux sanguo]# sed -e 's/rw/哈/g' panfeng 替换指定字符,g表示全局global [root@0722Linux sanguo]# sed -e '2a meinv' panfeng 第2行后增加meilv一行 [root@0722Linux sanguo]# sed -e '2d' panfeng 删除第二行-F/-v ‘Begin{action-1}pattern{action},pattern{action1}…END{actionEND}’ filename
一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。-f设置分隔符
[root@0722Linux sanguo]# awk -F : '/^root/{print $7}' passwd 输出root开头的行的第七列;以:分割 [root@0722Linux sanguo]# awk -F : '/^root/{print $1 "," $7}' passwd 输出1和7列 [root@0722Linux sanguo]# awk -F : '{print $1 "," $7}' passwd 输出所有:分割的第1+7列 [root@0722Linux sanguo]# awk -F : 'BEGIN{print "user , shell"} {print $1 "," $7} END{print"xiaolistu,hohokan"}' passwd 第一行加入XXX 最后加入xxx [root@0722Linux sanguo]# awk -F : -v i=4 '{print $3 + i}' passwd -v进行变量赋值 [root@0722Linux sanguo]# awk -F : '{print FILENAME NR NF}' 输出行数和列数 变量说明FILENAME文件名NR已读的记录数 ——行数NF浏览记录的域的个数(切割后,列的个数)( ( 算 式 ) ) / ((算式)) / ((算式))/[算式]
[root@0722Linux sanguo]# echo $[(3+2)*3] 15判断变量为空与否? [ “$s” ]——>判断s是否为空,即变量内容转成字符串判断一个字符串是否为空
[root@0722Linux sanguo]# test 5 -lt 7 && echo ture || echo false ture [root@0722Linux sanguo]# test -d hahaha && echo ture || echo false ture [root@0722Linux sanguo]# test -r hahaha && echo ture || echo false ture [root@0722Linux sanguo]# [ -r hahaha ]&& echo ture || echo false ture注意:if后面加空格
(1)case行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
(2)双分号“;;”表示命令序列结束,相当于java中的break。
(3)最后的“*)”表示默认模式,相当于java中的default。
∗ 和 *和 ∗和@都表示传递给函数或脚本的所有参数,不被双引号“”包含时,都以$1 2 … 2 … 2…n的形式输出所有参数。
[ function ] funname[()]
{
Action;
[return int;]
}
funname
#!/bin/bash function sum() { s=0 s=$[ $1 + $2 ] echo "$s" return 200 } read -p "Please input the number1: " n1; read -p "Please input the number2: " n2; sum $n1 $n2;(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。
(2)函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)