linux习题

1.文件操作

echo "演示与文件和文件夹创建处理等相关命令"

echo "查看文件目录"

echo "命令:ls -l"

echo "\n`ls -l`"

echo "========================================="

read

echo ">>>>>>>>>创建backup/old目录<<<<<<<<<"

echo "命令:mkdir -p /home/q/test/backup/old"

echo `mkdir -p /home/q/test/backup/old`

read

echo ">>>>>>>>>进入到backup/old目录<<<<<<<<<"

echo "命令:cd /home/q/test/backup/old"

echo `cd /home/q/test/backup/old`

read

echo ">>>>>>>>>创建两个file文件<<<<<<<<<"

echo "命令:touch touchfile.txt touchfile2.txt"

echo `touch touchfile.txt touchfile2.txt`

read

echo ">>>>>>>>>>拷贝gc_logrotate文件内容到touchfile文件<<<<<<<"

echo "命令:cat /home/q/test/shelldemo/gc_logrotate.sh>touchfile.txt"

echo "`cat /home/q/test/shelldemo/gc_logrotate.sh>touchfile.txt`"

read

echo ">>>>>>>查看touchfile文件,看内容是否正确<<<<<<<"

echo "命令:cat touchfile.txt"

echo "`cat touchfile.txt`"

read

echo ">>>>>>>>>>>拷贝touchfile文件到touchfile2文件中<<<<<<<<"

echo "命令:cp -r touchfile.txt touchfile2.txt"

echo "`cp -r touchfile.txt touchfile2.txt`"

read

echo ">>>>>>>>>查看touchfile2文件,看内容是否正确<<<<<<<"

echo "命令:cat touchfile2.txt"

echo "`cat touchfile2.txt`"

read

echo ">>移动touchfile2文件,使其覆盖touchfile,看touchfile内容是否正确<<<"

echo "命令:mv touchfile2.txt touchfile.txt"

echo "`mv touchfile2.txt touchfile.txt`"

read

echo "命令:cat touchfile.txt"

echo "`cat touchfile.txt`"

read

echo ">>>>>>>查看touchfile文件的前五行<<<<<<<<<<<<"

echo "命令:head -5 touchfile.txt"

echo "`head -5 touchfile.txt`"

read

echo ">>>>>>>查看touchfile文件的后五行<<<<<<<<<<<"

echo "命令:tail -5 touchfile.txt"

echo "`tail -5 touchfile.txt`"

read

echo ">>>>>>>>删除touchfile文件<<<<<<"

echo "命令:rm -f touchfile.txt"

echo "`rm -f /home/q/test/backup/old/touchfile.txt`"

2.实战习题1

echo "需求:Tomcat服务中的catalina日志中,有很多exception,想查看一下内容,并且根据上下定位问题,如何操作?"

read

echo "命令:cat catalina.out | grep --color=always -i -ab5 "exception" | more"

read

echo |cat catalina.out | grep --color=always -i -ab5 "exception"| more

read

echo "说明:--color是高亮显示关键字 always是用于more命令执行后还可以高亮,-i是忽略大小写,-ab是查看关键字所在行前后各五行上下文,more是分页显示,按"空格"键翻页"

read

echo "需求:统计access所有404 条数"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==404) print \$9}' | wc -l | awk '{print "Total suceess item :"\$1}' "

read

echo |cat access.log | awk '{if ($9>0&&$9==404) print $9}' | wc -l | awk '{print "Total suceess item :"$1}'

read

echo "需求:首先查看下access日志长什么样子,查看前10行:"

read

echo "命令:cat access.log|head -10"

read

echo |cat access.log|head -10

read

echo "需求:以\t作为分隔符,获取第9列的内容,并且取出第九列为404的内容,查看10行"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==404) print \$9}’|tail -10"

read

echo |cat access.log | awk '{if ($9>0&&$9==404) print $9}'

read

echo "需求:统计包含404的所有行数"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==404) print \$9}' | wc -l"

read

echo|cat access.log | awk '{if ($9>0&&$9==404) print $9}' | wc -l

read

echo "需求:打印出最终的结果"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==404) print \$9}' | wc -l | awk '{print "Total suceess item :"\$1}'"

read

echo|cat access.log | awk '{if ($9>0&&$9==404) print $9}' | wc -l | awk '{print "Total suceess item :"$1}'

read

echo "需求:统计所有200条目中重复最多的前十条,并且打印出重复次数"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==200) print \$7}' | sort | uniq -c | sort -k1nr | head -10 "

read

echo |cat access.log | awk '{if ($9>0&&$9==200) print $7}' | sort | uniq -c | sort -k1nr | head -10

read

echo "需求:首先查看下access日志第七列长什么样子,查看前10行:"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==200) print \$7}' |head -10"

read

echo |cat access.log |awk '{if($9>0&&$9==200) print $7}' |head -10

read

echo "需求:查看下sort之后的样子,获取前10行"

read

echo "命令:cat access.log | awk '{if(\$9>0&&\$9==200)print \$7}' |sort|head -10"

read

echo |cat access.log |awk '{if($9>0&&$9==200) print $7}' |sort|head -10

read

echo "需求:统计一下重复的条数有哪些,在第一列打印出重复的行数,获取前10行"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==200) print \$7}' |sort|uniq -c |head -10"

read

echo |cat access.log |awk '{if($9>0&&$9==200) print $7}' |sort|uniq -c|head -10

read

echo "需求:排序统计结果,把重复最多的按照倒叙排列展示出来,获取前10行"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==200) print \$7}' |sort|uniq -c| sort -k1nr |head -10"

read

echo |cat access.log | awk '{if ($9>0&&$9==200) print $7}' |sort|uniq -c| sort -k1nr |head -10

read

echo "说明:sort是排序命令,其中:-k指明使用哪一列进行排序,-k1:表示使用第一列进行排序,n指明排序列为数字,r代表使用倒叙"

read

echo "需求:在上述结果中,只保留自己想要的sessionid的相关内容"

read

echo "命令:cat access.log | awk '{if (\$9>0&&\$9==200) print \$7}' | grep '/appback/api/auth/login' | sort | uniq -c | sort -k1nr | head -10 | sed 's/\/appback.*?//'"

read

echo |cat access.log | awk '{if ($9>0&&$9==200) print $7}' | grep '/appback/api/auth/login' | sort | uniq -c | sort -k1nr | head -10 | sed 's/\/appback.*?//'

read

echo "说明:sed是替换命令/原始值/被替换值/,本实例中使用正则表达式(/appback\.*?)匹配/appback到?之间的所有数据,并替换为null,sed是替换命令's/被替换值/替换该值/'"

read

echo "需求:查找/home/q/test下面大于50M的文件,并打印出文件路径信息"

read

echo "命令:find /home/q/test/ -type f -size +50M -exec ls {} \;"

read

echo |find /home/q/test/ -type f -size +50M -exec ls -lh {} \;

read

echo "说明:find是文件或者目录查找命令,第一个参数表示查找的目录,-type代表查找的类型,f表示文件类型,-size表示文件大小 -exec表示查找完成后执行的命令"

read

3.实战习题2

echo "需求:查看6379端口的tcp连接,并且只看状态是 : ESTABLISHED,并排序"

read

echo "命令:netstat -ant | grep ":6379" | grep ESTABLISHED | awk '{printf "%s %s\n",\$5,\$6}'|sort"

read

echo |netstat -ant | grep ":6379" | grep "ESTABLISHED" | awk '{printf "%s %s\n",$5,$6}'|sort

read

echo "说明:netstat -ant是查看当前服务器上所有的tcp连接"

read

echo "需求:先看一下所有的tcp连接情况"

read

echo "命令:netstat -ant | more"

read

echo |netstat -ant | more

read

echo "需求:查看端口号是6379的连接,并且查看状态是ESTABLISHED"

read

echo "命令:netstat -ant |  grep ":6379" | grep "ESTABLISHED""

read

echo |netstat -ant |  grep ":6379" | grep "ESTABLISHED"

read

echo "需求:打印第五、第六列,并排序"

read

echo "命令:netstat -ant | grep \":6379\" | grep ESTABLISHED | awk '{printf \"%s %s\n\",\$5,\$6}'|sort"

read

echo |netstat -ant | grep ":6379" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}'|sort

read

echo "需求:查看本服务器IP地址"

read

echo "命令:ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2|awk '{print $1}'"

read

echo |ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2|awk '{print $1}'

read

echo "需求:查看本服务器网络配置状况"

read

echo "命令:ifconfig"

read

echo | ifconfig

read

echo "需求:查获取包含IP地址行信息"

read

echo "命令:ifconfig | grep 'inet addr:'  "

read

echo |ifconfig | grep 'inet addr:'

read

echo "需求:去掉本机虚拟地址干扰项"

read

echo "命令:ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' "

read

echo |ifconfig | grep 'inet addr:' | grep -v '127.0.0.1'

read

echo "需求:截取出IP地址"

echo "命令:ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2|awk '{print $1}'"

read

echo |ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2|awk '{print $1}'

read

echo "需求:查看本服务器相关负载、cpu、内存以及交换分区信息"

read

echo "命令:top -ab -n 1 | head -5 "

read

echo |top -ab -n 1 | head -5

read

echo "说明:在这个top -ab -n 1 命令中,a表示按内存倒序排列,b表示将所有列输出,n表示只执行一次"

read

echo "需求:查看本机java进程相关信息"

read

echo "命令:top -ab -n 1|grep java "

read

echo | top -ab -n 1|grep java

read

echo "需求:从网上下载maven的压缩包"

read

echo "命令:curl -O http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"

read

echo |cd /home/q/test/backup

echo |rm -rf apache-maven-3.3.9*

echo |rm -rf testmaven.jar

echo |curl -O http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

read

echo "需求:在当前目录解压apache-maven-3.3.9-bin.tar.gz"

read

echo "命令:tar -zxvf apache-maven-3.3.9-bin.tar.gz "

read

echo | tar -zxvf apache-maven-3.3.9-bin.tar.gz

read

echo "说明:tar是压缩/解压命令,z : 表示 tar 包是被 gzip 压缩过的,x : 从 tar 包中把文件提取出来,v : 显示详细信息,f x 指定被处理的文件"

read

echo "需求:在当前目录压缩apache-maven-3.3.9成testmaven.jar"

read

echo "命令:tar -zcvf testmaven.jar apache-maven-3.3.9"

read

echo | tar -zcvf testmaven.jar apache-maven-3.3.9

read

echo "说明:tar是压缩/解压命令,z : 表示 tar 包是被 gzip 压缩过的, 创建新的档案文件,v : 显示详细信息,f x 指定被处理的文件"

read

echo "需求:查看backup下刚才相关操作的信息"

read

echo "命令 : ls -l /home/q/test/backup"

read

echo | ls -l /home/q/test/backup

read

4.实战习题3

echo "判断cpu的类型"

read

echo "执行命令 :grep "vendor_id" /proc/cpuinfo | uniq | cut -d: -f2"

Vendor=`grep "vendor_id" /proc/cpuinfo | uniq | cut -d: -f2`

read

echo "VenderCpu is : $Vendor"

read

echo "执行if条件测试,匹配到相应的类型,并打印结果"

if [[ $Vendor =~ [[:space:]]*GenuineIntel$ ]]; then

echo "intel"

elif [[ $Vendor =~ [[:space:]]*AuthenticAMD$ ]]; then

echo "AMD"

else

echo "Unknown"

fi

read

#判断磁盘使用空间并报警

echo "判断磁盘使用空间并报警"

read

echo "执行命令 :df |sed 1d | awk '{print $1,$5}'|tr -d %"

read

disks=(`df |sed 1d | awk '{print $1,$5}'|tr -d %`)

echo "打印disk信息,循环判断打印超过20%使用率的磁盘"

read

len=${#disks[@]}

for ((i=1;i<=$len;i=i+2));do

if [ ${disks[i]} -gt 20 ];then

echo "${disks[$i-1]} ${disks[$i]}"

fi

done

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容