您的位置:首页 > 运维架构 > Shell

linux--vim、shell(2)

2016-07-16 18:37 267 查看

1.vim

普通模式(ESC)

移动光标

h(左移)、j(下)、k(上)、l(右)

翻页

PageUp(向上翻页(或ctrl+B))

PageDown(向下翻页(或ctrl+F))

增删

x(删除当前光标所在字符)

dd(删除光标所在行)

dw(删除光标所在单词)

d$
(删除当前光标所在位置到本行末尾的字符)

J(删除光标所在行尾的换行符)

u(撤销前一条指令)

a(光标后添加数据)

A(光标行末尾添加数据)

r(替换当前光标所在位置一个字符)

R(替换当前光标所在位置字符,按ESC结束)

复制粘贴剪切

yw(复制单个字符)
y$
(复制光标到本行尾) p(粘贴)(复制)

dd(或x或d$或dw) p(粘贴) (剪切)

查找替换

‘/’+’要查找的字符串’(查找,按n继续下一个) —》(查找)

:s/old/new/(替换光标所在行第一个名字为old的成new)

:s/old/new/g(替换光标所在行所有名字为old的成new)

:n.ms/old/new/g(替换n–m行所有名字为old的成new)

:%s/old/new/g(替换整个文本所有名字为old的成new)

:%s/old/new/gc(替换整个文本所有名字为old的成new,每次出现时提示)

命令行模式(:)在普通模式下才可以进入命令行模式

q!(取消所有操作,退出)

wq!(保存操作,退出)

w filename(保存到另外一个文件filename中)

插入模式( i )

2.Shell

定义:俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

第一个shell脚本

1.touch [名称].sh (创建shell文件)

2.vi [名称].sh (打开shell文件编辑)

3.(文本内容)

#!/bin/sh            (文件的第一行指定要使用的SHELL)
#this script displays the date and who is logged on  (#是用来注释用的,是不被执行,但第一行是特例)
date      (打印当前时间)


4.改变文件权限,执行文件

chmod +x [名称].sh

bash [名称].sh

第二个shell

#!/bin/sh
date
#变量两种方式
#用户变量可以是任何不超过20个字母、数字或下划线的字符串,区分大小写
$va
${va1}
$va3
$va4
#值通过等号赋值给用户变量。变量、等号和值之间不能出现空格
va=1
va1=$va
echo $va1
#反引号(``)用来执行SHELL语句,结果赋给变量,也可
4000
以用va2=${shell date}
va2=`date`
#重定向输入和输出
#输出重定向command > outputfile;command >> outputfile
#输入重定向command < outputfile
//read等待用户输入


第三个shell

/*
#1.数值判断:(相同 -eq =) (不同 -ne !=) (大于 -gt >) (小于 -lt) (大于或等于 -ge) (小于或等于 -le) (为空 -z) (不为空 -n)
#2.文件判断:-e file 文件 file 已经存在 -f file 文件 file 是普通文件 -s file 文件 file 大小不为零 -d file 文件 file 是一个目录 -r file 文件 file 对当前用户可以读取 -w file 文件 file 对当前用户可以写入 -x file 文件 file 对当前用户可以执行
#3.字符比较:比较变量a 和 变量b 的值是否相等:[ $a = $b ] 判断变量 a 是否为空: [ -z $a ] 判断整数变量 a 是大于 b: [ $a -gt $b ]

*/
#!/bin/bash/
echo -n "please input a num[y/n]:"
read num
echo "number is:$num"
func(){                                 #函数
echo "funcfunc";
}
if [ $num = "1" ]                #if
then
echo "1"
elif [ $num = "2" ]
then echo "2"
else echo "3"
fi
while [ $num -ne 1 ];
do
echo "input rro"
read num
done

echo "ok"
for i in 1 2 3 4                 #for
do
echo $i
done
func


正则表达式

正则表达式

. 表示任何一个单一字符

.* 表示零个或任意个字符

^a 表示以a 为首的行 a

$ 表示以a 为尾的行

\
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: