vim使用
    a 在光标后一位置插入
    i 在光标当前位置插入
    o 在光标下面创建个空行
    dd 删除(剪切)光标所在行
    5dd 删除(剪切)从光标处开始的5行
    yy 复制光标所在行
    5yy 复制从光标处开始的5行
    n 显示搜索命令定位到的下一个字符串
    N 显示搜索命令定位到的上一个字符串
    u 撤销上一步操作
    P 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式
    :w 保存
    :q 退出
    :q! 强制退出不保存
    :wq! 强制保存退出
    :set nu 显示行号
    :set nonu 不显示行号
    :命令 执行命令
    :整数 跳转到整数行
    :s/one/two 将当前光标所在行的第一个 one 替换成 two
    :s/one/two/g 将当前光标所在行的所有 one 替换成 two
    :%s/one/two/g 将全文中所有one替换成two
    ?字符串 在文本中从下至上搜索该字符串
    /字符串 在文本中从上至下搜索该字符串

转义字符
    反斜杠(\) 使用反斜杠后面的一个变量变为单纯的字符串
    单引号('') 转义其中所有的变量为单纯的字符串
    双引号("") 保留其中的变量属性,不进行转义处理
    反引号(``) 把其中的命令执行后返回结果

shell脚本
    需要三元素:
    1.声明 #!/bin/bash 用来告诉系统使用哪种bash解释器来执行脚本
    2.注释 # 说明该脚本的执行意图是什么,一般随便写
    3.脚本命令 就是这个脚本的主体内容了

执行脚本后可以携带参数,但也要看这个脚本是否会调用这些参数
    ./open.sh ie qq wx
    脚本中的一些变量:
    $0 脚本程序的名称
    $# 脚本有多少个参数
    $* 对应的所有位置的参数值
    $? 上一次命令执行的返回值
    $1、$2、$3…… 脚本后对应的参数值

用户判断参数

文件及逻辑测试运算符
[ -d /etc/fstab ]
echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
    -d 测试文件是否为目录类型
    -e 测试文件是否存在
    -f 判断是否为一般文件
    -r 测试当前用户是否有权限读取
    -w 测试当前用户是否有权限写入
    -x 测试当前用户是否有权限执行

&& 逻辑与
    || 逻辑或
    ! 逻辑非

整数比较运算符
[ 10 -gt 10 ]
echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
    -eq 是否等于
    -ne 是否不等于
    -gt 是否大于
    -lt 是否小于
    -le 是否小于或等于
    -ge 是否大于或等于

字符串比较运算符
[ -z $String ] 判断String变量是否为空值
echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
    = 比较字符串内容是否相同
    != 比较字符串内容是否不同
    -z 判断字符串内容是否为空

条件控制语句

if条件判断语句
read -p "Enter your score(0-100):" GRADE    #(这是输入语句,让你输入0-100之间的数)
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then    #(多条件时中间加elif 增加判断项)
echo "$GRADE is Pass"
else
echo "$GRADE is Fail" 
fi    #(一定要以fi结尾)

for循环
for UNAME in `cat users.txt`    #(这写for循环的条件)
do    #(一定以这个do开始,这是硬性规定)
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "Already exists"
else
useradd $UNAME &> /dev/null
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "$UNAME , Create success"
else
echo "$UNAME , Create failure"
fi
fi
done    #(硬性规定结尾式)

while条件循环
PRICE=$(expr $RANDOM % 1000)
TIMES=0
echo "商品实际价格为0-999之间,猜猜看是多少?"
while true
do    #(硬性的命令判断起始标识)
read -p "请输入您猜测的价格数目:" INT
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo "恭喜您答对了,实际价格是 $PRICE"
echo "您总共猜测了 $TIMES 次"
exit 0
elif [ $INT -gt $PRICE ] ; then
echo "太高了!"
else
echo "太低了!"
fi
done    #(结尾范式)

case条件测试语句
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;    #(特别神奇的一个条件分割范式)
[0-9])
echo "您输入的是 数字。"
;;
*)    #(默认命令的标识 类似于循环中的最后一个else)
echo "您输入的是 空格、功能键或其他控制字符。"
esac

计划任务
at 一次性计划任务添加命令
    -l 查看一次性计划任务都有什么
    at 23:00 设置23:00 的一个一次性计划任务(输入后,会进入一个编辑状态,直接输入你要执行的命令,然后按下Ctrl+d来结束编写计划任务)
    或者这个写 echo "systemctl restart httpd" | at 23:30
atrm 删除一次性计划任务 (后面直接跟序号即可)
    atrm 2 删除需要2的计划任务

crontab 周期性计划任务
    -e 创建、编辑
    -l 查看当前存在的计划任务
    -r 删除
    -u 编辑其他用户计划任务
周期性计划任务的格式

* * * * *

【笔记】Linux就该这么学-第六课第四章的更多相关文章

  1. kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap

    Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap. 1 N ...

  2. linux学习第十九天 (Linux就该这么学) 结课了

    今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux  +nginx+mysql+php) 安装文件挺别多, ...

  3. Linux网络编程学习(六) ----- 管道(第四章)

    1.管道的定义 管道就是将一个程序的输出和另外一个程序的输入连接起来的单向通道,比如命令: ls -l|more,就建立了一个管道,获取ls -l的输出作为more的输入,数据就沿着管道从管道的左边流 ...

  4. The Definitive Guide To Django 2 学习笔记(六) 第四章 模板 (二)使用模板系统

    模板系统不是django特有的,它是python的一个库,你可以在任何地方使用它. 使用方法: 1.使用 Template()方法创建Template对象.2.调用Template对象的render( ...

  5. Linux网络编程学习(八) ----- 文件和记录锁定(第四章)

    1.什么是文件和记录锁定? 文件锁定的是整个文件,而记录锁定只锁定文件的一部分,文件和记录锁分为咨询式锁定和强制锁定 1)咨询式锁定 某个进程对某个文件进行了咨询式锁定,其他想访问该文件的进程将会被操 ...

  6. 快学Scala习题解答—第四章 映射和元组

    4 映射和元组  4.1 设置一个映射,当中包括你想要的一些装备,以及它们的价格.然后构建还有一个映射.採用同一组键,可是价格上打9折 映射的简单操作  ,"gun"->18 ...

  7. Linux就该这么学--第五期 学习笔记

    第一节:基础 <Linux就该这么学>第二期视频 Linux就该这么学第5期第二节: ------------你的价值:你对公司做出的共享和你的不可替代性------------瑞尔系统R ...

  8. 《linux就该这么学》学习笔记

    本篇文章是根据刘遄老师的<linux就该这么学>中个人易忘知识点的读书笔记,结合的是个人弱点,可能不适合广大的网友同学,并在此声明本篇文章只是用于学习之用,绝无侵犯版权之意 linux就该 ...

  9. LInux 就该这么学 笔记分享

    看了Linux就该这么学的前部分书,觉得写的还可以,就在网上找了下面这个同学写的笔记,觉得很详细,所以保存地址,供以后查阅参看.这里对作者表示感谢!!! 博客地址: https://www.cnblo ...

随机推荐

  1. 洛谷—— P1092 虫食算

    https://www.luogu.org/problem/show?pid=1092 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简 ...

  2. Myeclipse10完美破解过程

    Myeclipse10完美破解过程 1.假设还没有破解文件的话,能够先到这里去下载破解件 http://download.csdn.net/download/wangcunhuazi/7874155 ...

  3. jq 轮播图 上下自动滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 2015 测试赛 大神和小伙伴 hihoCoder

    立方和公式和平方和公式.表示从来不记得这些公式... 每库礼物不同数量相同,总数=1+2+...+n=(n+1)*n/2 选取礼物的可能性的最大值为[(n+1)*n/2]^3 选取礼物价值重复两次的总 ...

  5. ustc 1117

    无根树同构 有两种方法,一种是确定其中一棵树,另一棵树枚举根节点. 一种是,利用拓扑排序,先确定其中一棵树.另一棵树,若拓扑后剩两个节点,则枚举这两个节点为根结点,否则,只需做一次.注意,无根树节点入 ...

  6. rsync + inotify 打造多server间文件实时同步

    在上篇文章ssh无password登陆server的基础之上.能够利用rsync + Inotify 在多server间实现文件自己主动同步. 例如以下測试机基于三台server做的.内网IP分别例如 ...

  7. Apache + Tomcat + JK 集群

    原文请见http://www.cnblogs.com/dennisit/p/3370220.html 本文介绍了集群和负载均衡的基本开源实现,实现了用Apache分发请求到多个Tomcat里面相应的应 ...

  8. selenium使用chrome抓取自动消失弹框的方法

    selenium使用chrome抓取自动消失弹框的方法 转:https://blog.csdn.net/kennin19840715/article/details/76512394

  9. nyoj--990--蚂蚁感冒(模拟)(思维题)

    蚂蚁感冒 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/ ...

  10. B1295 [SCOI2009]最长距离 最短路

    就是一道最短路的裸题,直接跑spfa就行了.(spfa死了) 最后在答案处判断是否障碍物太多,然后就直接找最大值就行. (数据特别水,我错误算法60) 题干: Description windy有一块 ...