linux基础——vim及bash的使用

vim

vim介绍: vim是linux里的文本编辑工具,是vi的升级版的软件,是程序员文本编辑器  --》用来写程序的工具

安装:   yum install vim -y 

用法:

  

命令模式:
    yy 复制当前行
    5yy 向下复制5行  copy
    dd 删除(剪切)当前行
    5dd 向下删除5行 delete、
    p 粘贴 paste
    u 撤销  undo
    ctrl+r  恢复  redo

末行模式:
    :w   保存 written  
    :w  abc.txt    另存为
    :wq  保存并且退出  written quit
    :q  退出  quit
    :q! 退出不保存 --》强制退出
    :wq!  强制退出并且保存
    :x  保存并且退出
    :set nu  显示行号
    :set number
    :set nonu  取消行号
    :set nonumber

[root@sanchuang ~]# vim  cs.txt
[root@sanchuang ~]# cat cs.txt
hunan
changsha
linux
123456

bash

bash介绍:bash是linux里的一个解析器,是心啊人与机器交互

解释器:是一个程序软件,用于对某些代码或者命令进行解释,帮我们去解释

shell是解释器的大类名称,平时输入linux命令,都称呼shell命令,bash是设立了解释器大类里最优秀的解释器。

shell解释器工作原理流程图:

 

Linux命令的分类
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件

bash  : 安装好bash这个软件,就有的命令,内部命令
需要额外安装的命令,就是外部命令

安装:yum install bash -y

用法:

[root@scmaster ~]# rpm -ql bash  查看bash软件安装到哪里去了,会有哪些文件

bash命令流程图:


 


练习:点歌程序,抽同学出来唱歌

1.准备一个歌手名单,里面有全部的同学名字name.txt
2.编写抽歌手的脚本,随机抽取一个同学
3.抽过的同学,不能再抽
4.当所有的同学都抽过了,从新开始

需求分析:
    1.随机数
    2.如何到name.txt文件里抽取学生名字

[root@server html]# mkdir /singer
[root@server html]# cd /singer/
[root@server singer]# vim name.txt
[root@server singer]# cat name.txt 
小周

小刘

小李

小白

小花

小猫

[root@server singer]# cat name.txt |wc -l
6
[root@server singer]# 
wc 是一个统计命令

命令替换——varname=$(命令)  先执行命令,然后将命令的执行结果赋值给varname这个变量

实现代码如下:

#!/bin/bash

while true
do
	#产生随机数
	lucky_num=$( echo   $((RANDOM % 18 + 1)) )
	#得到歌手名字
	singer_name=$( cat name.txt |head -n $lucky_num |tail -1 )
	#判断歌手是否抽取过
	if  grep  "$singer_name"  old_name.txt &>/dev/null  ;then
		#echo "$singer_name 已经抽取过了"
		old_lines=$(wc -l < old_name.txt)
		if (( $old_lines == 18 ));then
			echo "所有的人都已经抽过一遍了,请重新开始"
			#清空唱歌的歌手名字,方便重新开始
			>old_name.txt
		fi
		#继续抽取
		continue
	else
		#输出歌手
		echo  "请我们的著名歌手 $singer_name 演唱歌曲"
		#保存歌手到old_name.txt文件
		echo  "$singer_name"  >>old_name.txt
		#结束循环
		break
	
	fi
done

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值