linux常用命令(4) --- Vim编辑器与Shell命令脚本

  • 如何使用vim编辑器来编写文档、配置主机名称、网卡参数以及yum仓库;
  • 通过vim编辑器将Linux命令放入合适的逻辑测试语句(if、for、while、case)后最终写出简单使用的shell脚本;
  • 可以通过at命令或配置Crontab计划任务服务让系统自动按时工作,让日常工作更加高效自动化。

1、Vim文本编辑器

  vim是linux操作系统默认安装的一款文本编辑器,vim是vi编辑器的升级版。

vim有三种模式:
  命令模式、末行模式和编辑模式。

  • 命令模式:控制光标移动,可对文本进行删除、复制、粘贴等工作;
  • 输入模式:正常的文本录入;
  • 末行模式:保存、退出与设置编辑环境。

命令模式中常用快捷键:

dd     删除(剪切)光标所在整行;
5dd   删除(剪切)从光标处开始的5行;
yy    复制光标所在整行;
5yy   复制从光标处开始的5行;
p   将之前删除或复制过的数据粘贴到光标后;
/  字符串 在文本中从上至下搜索该字符串;
?  字符串 在文本中至下而上搜索该字符串;
n   显示搜索命令定位到的下一个字符串;
N   显示搜索命令定位到的上一个字符串;
u   撤销上一步操作

末行模式中常用命令:

:w 保存
:q 退出
:q! 强制退出(放弃对文本的修改)
:wq! 强化保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转至该行

  • 修改主机名称

修改 /etc/hostname文件。

2、shell脚本

  • 查看系统中所有可用的shell解释器
cat /etc/shells
  • 查看当前的shell解释器
echo $SHELL

1)、编写简单的脚本:

#!/bin/bash
#for example by billy
pwd
  • 接收用户参数

格式:命令名 参数1 参数2 ...

SHELL预定义变量:

$0 当前执行shell脚本的程序名
$1-9,${10},${11}... 参数的位置变量
$# 一共有多少个参数
$* 所有位置变量的值
$? 判断上一条命令是否执行成功,0为成功,非0为失败。

2)、判断用户的参数

测试语句格式为:

 [ 条件表达式 ]

细分测试语句有:

  文件测试、逻辑测试、整数值比较、字符串比较

  • 文件测试:
 [ 操作符 文件或目录名 ]

操作符:

-d 测试是否为目录
-e 测试文件或目录是否存在
-f 判断是否为文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行

例如:
  测试 /opt/test 是否为目录:

[ -d /opt/test ]

显示上一条命令的返回值:

echo $?
  • 逻辑测试

格式:

[ 表达式1 ] 操作符 [ 表达式2 ]

操作符:

&&    逻辑与
|| 逻辑或
! 逻辑否

例如:若当前用户不是root,则输出user

[ $USER != root ] && echo "user"
  • 整数值比较

格式:

[ 整数1 操作符 整数2 ]

操作符:

-eq    等于
-ne   不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
  • 字符串比较

格式:

[ 字符串1 操作符 字符串2 ]

操作符:

= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空

3)、条件测试语句

条件测试语句能够让shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让shell脚本通过条件测试语句完成。
- if 条件语句
类型:单分支结构、双分支结构、多分支结构
关键词:if、then、fi

linux常用命令(4)的更多相关文章

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

  3. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  4. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  5. 第一章,Linux常用命令

    20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...

  6. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  7. Linux 常用命令行

    Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. 对于我的linux常用命令的说明

    我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项

  10. Linux 常用命令笔记

    Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...

随机推荐

  1. ubantu下docker安装

    开始安装 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: sudo apt-get remove docker docker-engine docker-ce docke ...

  2. SHA加密

    import java.security.MessageDigest; /** * 提供SHA加密 */ public class SHAUtil { // 进行SHA-1加密 public stat ...

  3. WEditor使用方法

    APP的定位方式有: 1. Appium Desktop工具里的Inspector 2. /tools/bin/uiautomatorviewer.bat 最近发现在一个更好用的定位工具: Wedit ...

  4. nginx配置, 启动命令, 反向代理配置

    2014年1月3日 13:52:07 喜欢这样的风格,干货 http://huoding.com/2013/10/23/290 -----------------下边是我自己的经验(windows)- ...

  5. springBoot中怎么减少if---else,怎么动态手动注册类进入Spring容器

    由于业务中经常有需要判断的if--eles操作,层层嵌套,看起来程序的可读性太差,结合策略模式进行改造 方法一.一般有策略模式  +  工厂模式进行代码的优化,减少 if---else: 方法二.还有 ...

  6. 实验一 绘制任意斜率的直线段 | 使用VS2017工具

    这世界上有很多坑,注定有些坑是要填的.下面我就用VS2017使用MFC对这个课堂实验进行填坑. 一.实验目的 (1)掌握任意斜率直线段的重点 Bresenham 扫描转换算法: (2)掌握 Cline ...

  7. Java Unsigned Bytes

    Having had to use unsigned bytes for the first time, I also had to learn how Java references these d ...

  8. 【转】ffluos编译

    FluffOS是在MUDOS基础上更新完成的.进行了许多新功能和bug修复. 针对LPC有很好的兼容性,如果你的MUD运行MUDOS V22+版本,可以很容易运行在fluffos上. 系统环境: Cn ...

  9. (转载)详解Javascript中prototype属性(推荐)

    在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...

  10. A股委托类型

    上海交易所于2006年8月7日启用了两种类型的市价委托,分别为:“最优五档即时成交剩余撤销”.“最优五档即时成交剩余转限价”. 深圳证券交易所启用了“对手方最优价格委托”.“本方最优价格委托”.“最优 ...