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. Win10设置文件夹权限报错-(提示:无法枚举容器中的对象 访问被拒绝)

    一.右击文件 选择“属性”-“安全”-“高级”,如下图 二.查看哪个用户的权限是:“完全控制”,我这里是“SYSTEM”用户. 三.选择顶部的 “更改-“高级”-“立即查找”,然后选择管理员账户“SY ...

  2. pipreqs------查找python项目依赖并生成requirement

    一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtualenv环境,还好办 pip ...

  3. Docker容器时间与主机时间相差8小时

    查看主机时间 [root@localhost ~]# date 2016年 07月 27日 星期三 22:42:44 CST 查看容器时间 root@b43340ecf5ef:/# date Wed ...

  4. Rancher Server部署方式及Rancher HA环境部署

    类似Rancher这种的容器管理和编排工具,它可以很快地让每个组织获得高效的弹性集群管理能力.当前技术世界的发展形势就是让开发人员从繁琐的应用配置和管理中解放出来,使用容器镜像来处理复杂的程序运行依赖 ...

  5. SCI EI 检索的会议期刊

    SCI EI 收录 SCI EI 收录 SCI Impact Factor Search: http://www.heavyoil.cn/if.aspx SCI indexed journal lis ...

  6. Data - 大数据分析学习之路

    一.大数据分析的五个基本方面 可视化分析 大数据分析的使用者有大数据分析专家,同时还有普通用户,但是他们二者对于大数据分析最基本的要求就是可视化分析,因为可视化分析能够直观的呈现大数据特点,同时能够非 ...

  7. git-忽略不想提交到git的文件

    在代码目录下建立.gitignore文件: .gitignore (用记事本另存可以保存这个名字),配置上要忽略的文件或者文件夹,然后提交到git 上就可以了.

  8. java-创建对象实例

    1.A a = new A(); 2.Class class = B.Class; B b = class .newInstance();

  9. Vue 使用eventBus 实现兄弟组件间的通信

    实现方式:  主要是在相互通信的兄弟组件之中,都引入一个新的vue实例,然后通过分别调用这个实例的事件触发事件广播 和监听来实现通信和参数传递. 需求: a页面tree的增删改后,数据还是之前的老数据 ...

  10. ubantu使用小结

    一.root账户问题 1.初始登录的时候root密码是随机的,自己改一个. 2.登录界面没有root选项 解决: #gedit /usr/share/lightdm/lightdm.conf.d/50 ...