1.8 打好shell基础

一、常用shell命令

1、管道命令

(1)命令格式

(2)案例演示

任务1、查看/etc目录信息前5行信息

执行命令:ll /etc | head -5
1.8 打好shell基础_第1张图片

任务2、查看/etc/profile文件后5行信息

执行命令:cat /etc/profile | tail -5
1.8 打好shell基础_第2张图片

2、grep命令

(1)命令格式

grep [选项参数] 文件

(2)案例演示

任务1、抓取/etc目录下的python信息

执行命令:ll /etc | grep python
在这里插入图片描述

执行命令:ll /etc | grep -c python
在这里插入图片描述

任务2、抓取/etc/profile文件里的dev信息

执行命令:cat /etc/profile | grep dev
1.8 打好shell基础_第3张图片

任务3、抓取用户数据文件中以how打头的信息

执行命令:cat /etc/passwd | grep how*
在这里插入图片描述

任务4、显示所有以d开头的文件中包含hi的行

执行命令:grep hi d*

任务5、显示两个文件匹配某个字符串的行

执行命令:grep ‘hadoop’ demo.txt demo1.txt

任务6、显示文件中至少有n个连续小写字符的行

执行命令:grep ‘[a-z]{7}’ demo.txt
执行命令:grep ‘[a-z]{6}’ demo.txt

3、find命令

(1)命令格式

find 路径 [选项参数]

(2)案例演示

任务1、按类型查找

执行命令:find /etc/sysconfig -type ‘d’
1.8 打好shell基础_第4张图片

检查是否查找成功
1.8 打好shell基础_第5张图片
执行命令:find /etc/sysconfig -type ‘l’
1.8 打好shell基础_第6张图片

执行命令:find /etc/sysconfig -type ‘f’
1.8 打好shell基础_第7张图片

任务2、按名称查找

执行命令:find /etc/sysconfig -name ‘network’
执行命令:find /etc/sysconfig -name ‘net*’ (可使用通配符)
1.8 打好shell基础_第8张图片

任务3、按大小查找

执行命令:find /etc/sysconfig -size 15c(等于15字节)
在这里插入图片描述

执行命令:find /etc/sysconfig -size +10k(大于10240个字节)
1.8 打好shell基础_第9张图片

执行命令:find /etc/sysconfig -size -20c (小于20个字节)
1.8 打好shell基础_第10张图片

任务4、按权限查找

执行命令:find /etc/sysconfig -perm ‘777’ (权限字符串:rwxrwxrwx)
1.8 打好shell基础_第11张图片
执行命令:find /etc/sysconfig -perm ‘755’ (权限字符串:rwxr-xr-x)

4、sed命令

(1)命令格式

sed “[action]” [filename]

(2)案例演示

预备工作:创建demo.txt
1.8 打好shell基础_第12张图片

1)替换操作(s - substitute)
任务1、将所有行的第一个hello替换成HELLO

执行命令:sed “s/hello/HELLO/” demo.txt
1.8 打好shell基础_第13张图片

任务2、将第2行到第3行的第2个hello替换成HELLO

执行命令:sed “2,3s/hello/HELLO/2” demo.txt
1.8 打好shell基础_第14张图片

任务3、将第2行的hello全部替换成HELLO

执行命令:sed “2s/hello/HELLO/g” demo.txt
1.8 打好shell基础_第15张图片

任务4、将全部的hello替换成HELLO后生成新文件

执行命令:sed “s/hello/HELLO/g” demo.txt > demo1.txt
1.8 打好shell基础_第16张图片

任务5、将全部的hello替换成hi,要求修改原文件

执行命令: sed -i “s/hello/hi/g” demo.txt
1.8 打好shell基础_第17张图片

2)插入操作(i - insert, a - append)
任务1、在第2行之前插入一行新内容

执行命令:sed “2 i I love Linux” demo.txt
1.8 打好shell基础_第18张图片

任务2、在第2行之后插入一行新内容

执行命令:sed “2 a Linux is fun and I love it” demo.txt
1.8 打好shell基础_第19张图片

3)删除操作(d - delete)
任务1、删除第2行

执行命令:sed ‘2d’ demo.txt
在这里插入图片描述

任务2、删除第2行到第3行

执行命令: sed ‘2,3d’ demo.txt
在这里插入图片描述

任务3、删除文件所有行

执行命令:sed ‘d’ demo.txt
在这里插入图片描述

任务4、删除包含指定字符串的行

执行命令:sed ‘/scala/g’ demo.txt
在这里插入图片描述

5、tail命令

(1)命令格式

tail [选项参数] 文件名

(2)案例演示

任务1、显示文件最后4行内容

执行命令:tail -n 4 anaconda-ks.cfg
1.8 打好shell基础_第20张图片

任务2、显示文件最后4个字符内容

执行命令:tail -c 4 love.txt
在这里插入图片描述

6、sort命令

(1)命令格式

sort [选项参数] 文件

(2)案例演示

预备工作:创建ips.txt文件
1.8 打好shell基础_第21张图片

任务1、对文件按行排序

执行命令:sort ips.txt,按字典排序法升序排列
1.8 打好shell基础_第22张图片

执行命令:sort -r ips.txt,按字典排序法降序排列
1.8 打好shell基础_第23张图片

任务2、对文件按第4节排序

执行命令:sort -t ‘.’ -k 4 ips.txt,升序排列
1.8 打好shell基础_第24张图片

执行命令:sort -t ‘.’ -k 4 -r ips.txt,降序排列
1.8 打好shell基础_第25张图片

7、cut命令

(1)命令格式

cut [选项参数] 文件名

(2)案例演示

任务1、提取ips.txt文件第7列字符

执行命令:cut -c 7 ips.txt
1.8 打好shell基础_第26张图片

执行命令:cut -b 7 ips.txt
1.8 打好shell基础_第27张图片

任务2、提取ips.txt文件第4节内容

执行命令:cut -d ‘.’ -f 4 ips.txt,提取第4节内容
1.8 打好shell基础_第28张图片

执行命令:cut -d ‘.’ -f 2 ips.txt,提取第2节内容1.8 打好shell基础_第29张图片

8、history命令

(1)命令格式

history [选项参数]

(2)案例演示

任务1、查看历史操作记录

执行命令:history

任务2、查看最近10条历史命令

执行命令:history 10 (写成history -n 10也是一样效果)1.8 打好shell基础_第30张图片

任务3、查看最开始10条历史命令

执行命令:history | head -101.8 打好shell基础_第31张图片

任务4、曾多少次使用vim编辑文本文件?

执行命令:history | grep vim1.8 打好shell基础_第32张图片

任务5、执行历史第5条命令

查看历史第5条命令
执行命令:!51.8 打好shell基础_第33张图片

任务6、执行上一条命令

执行命令:!!1.8 打好shell基础_第34张图片

任务7、执行最后一次以his开头的命令

执行命令:!his1.8 打好shell基础_第35张图片

任务8、将当前历史命令缓冲区命令写入历史命令文件中

执行命令:history -w myhis在这里插入图片描述

执行命令:cat myhis | tail -5在这里插入图片描述

任务9、 清除第5条历史命令

查看第5条历史明令
执行命令:history -d 5
1.8 打好shell基础_第36张图片

任务10、清除所有历史命令

执行命令:history -c
1.8 打好shell基础_第37张图片

任务11、将历史命令文件中的命令读入当前历史命令缓冲区

执行命令:history -r myhis1.8 打好shell基础_第38张图片

执行命令:history | head -101.8 打好shell基础_第39张图片

二、shell脚本

1、执行shell脚本

创建脚本文件,执行命令:vim /home/shell.sh1.8 打好shell基础_第40张图片
此时,shell.sh对于所有者而言,只有读和写的权限,并不是可执行的脚本
在这里插入图片描述

(1)直接执行脚本

shell.sh文件必须具备可读与可执行(rx) 的权限
增加shell.sh的写权限,执行命令:chmod u+x /home/shell.sh在这里插入图片描述
在这里插入图片描述

绝对路径方式执行脚本
执行命令:/home/shell.sh1.8 打好shell基础_第41张图片

相对路径方式执行脚本
执行命令:cd /home
执行命令:./shell.sh (.表示当前目录)
1.8 打好shell基础_第42张图片

(2)利用source命令执行脚本

执行命令:source shell.sh1.8 打好shell基础_第43张图片

(3)利用bash或sh命令执行脚本

执行命令:bash shell.sh1.8 打好shell基础_第44张图片

执行命令: sh shell.sh1.8 打好shell基础_第45张图片

2、shell脚本实战

任务1、显示当前用户主目录

1)编写脚本

执行命令:vim shell01.sh1.8 打好shell基础_第46张图片

2)设置权限

执行命令:chmod u+x shell01.sh,增加可执行权限1.8 打好shell基础_第47张图片

3)执行脚本

执行命令:./shell01.sh在这里插入图片描述

任务2、编程实现两个数相乘

1)编写脚本

执行命令:vim shell02.sh1.8 打好shell基础_第48张图片

2)设置权限

执行命令:chmod u+x shell02.sh1.8 打好shell基础_第49张图片

3)执行脚本

执行命令:./shell02.sh在这里插入图片描述

你可能感兴趣的:(大数据,linux,运维)