博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vim编辑器与Shell编辑器
阅读量:6274 次
发布时间:2019-06-22

本文共 1469 字,大约阅读时间需要 4 分钟。

Vim文本编辑器(对应配置文件,多着色功能)

Vim编辑器模式:命令模式、输入模式、末行模式;命令模式用ESC键在输入和末行模式之间切换,但末行与输入不能直接进行切换;进入输入模式可以用a、i、o键;进入末行模式用:键
Vim编辑器与Shell编辑器

Vim常用的命令

dd ---删除光标所在行
5dd ---删除从光标处开始的5行
yy ---复制光标所在整行
5yy ---复制从光标处开始的5行
u ---撤销上一步操作
p ---执行之前删除或复制的数据粘贴到光标后
常用的末行模式命令
:w ---保存
:q ---退出(有提示)
:q! ---强退不保存
:wq! ---强退并保存

编辑Shell脚本

Shell脚本文件以.sh为后缀
Shell脚本格式一般分为三类:声明、注释、代码
eg:
#!/bin/bash ---声明:必须写,否则报错
#注释信息 ---注释:可写可不写(多行或一行),对功能、某行参数进行解释说明
xxxx ---代码:具体执行的命令
xxxxxx
如何执行编辑好的脚本:
命令(bash/sh)+对象(以.sh为后缀的Shell脚本名称)+参数(对应脚本中需要执行命令的内容)
eg:
bash haha.sh a b c d e f
eg:
./example.sh ---也可以输入完整路径的方式来执行

在Linux中当输入命令后,会发生什么呢?确认命令执行后,系统根据参数规定首先接受参数,再处理参数。

接受参数:
eg:可以用通配符来表示赋值的结果
$ ---转义纯文本
“#” ---统计个数

  • ---匹配并显示内容
    $0,$1,$2 ---匹配输入参数所对应的内容,0,1,2表示参数位
    $? ---执行上一次命令并返回值,0表示执行成功,非0表示执行失败

处理参数:

按测试对象来划分,条件测试语句可以分为4中:
文件测试语句:判断文件是否存在、权限是否满足。通常用[ 空格 参数 空格 对象 空格 ]格式来判断;
-d ---判断文件是否为目录
-e ---判断文件是否存在
-f ---判断是否为一般文件
-r ---判断当前用户是否有读取权限
-w ---判断当前用户是否有写入权限
-x ---判断当前用户是否有执行权限
eg:
[ -d /etc/fstab ] ---表示判断/etc/fstab是否为目录
echo $? ---显示上一条命令执行结果
0/1 ---0表示执行成功,非0表示执行失败

逻辑测试语句:判断逻辑关系,通常由三种逻辑关系来判断条件是否成立:与、或、非;

&& ---表示与关系
|| ---表示或关系
! ---表示非关系

整数值比较语句:判断整数值大小、是否等于关系,通常关系为大于、小于、等于、不等于、大于等于、小于等于;注意,由于>、<、=在Linux系统中已经用重定向和赋值,所以不能直接用于判断数值关系;

-eq ---等于
-ne ---不等于
-gt ---大于
-lt ---小于
-ge ---大于等于
-le ---小于等于

字符串比较语句:判断字符串是否为空值、两个字符串是否相同。

= ---比较字符串内容是否相同
!= ---比较字符串内容是否不同
-z ---判断字符串内容是否为空
eg:
[ -z $LANG ] ---表示判断LANG变量是否被占用
echo $? ---显示上一条命令执行结果
1 ---0表示执行为没有被占用,非0表示执行已经被占用

转载于:https://blog.51cto.com/948891/2392999

你可能感兴趣的文章
数组<=>xml 相互转换
查看>>
MFC单文档应用程序显示图像
查看>>
poj 2777(线段树的节点更新策略)
查看>>
Swift-EasingAnimation
查看>>
[翻译] BKZoomView
查看>>
C++类设计的一些心得
查看>>
tableVIew删除时的delete按钮被挡住时重写的方法
查看>>
读cookie中文字符乱码问题
查看>>
招募译者翻译并发数据结构
查看>>
普通表转换为分区表
查看>>
Java 容器 & 泛型:三、HashSet,TreeSet 和 LinkedHashSet比较
查看>>
性能优化总结(六):预加载、聚合SQL应用实例
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
package.json
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>