shell脚本实例

DOS命令

谁说胖子不能爱 提交于 2020-04-08 07:25:03
DOS命令    DOS命令 ,是DOS操作系统的命令,是一种 面向磁盘的操作命令 ,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。DOS命令 不区分大小写 ,比如C盘的Program Files,在dos命令中完全可以用"progra~1"代替, 加上英文引号是因为名称的中间有空格(即多于一个词) 。 . 代表当前文件夹 , .. 代表上层目录 ,如命令 cd .. 就是回到上层目录。文件夹是不能通过命令行(只能打开某个文件)打开的,因为它下边还有子目录,命令行只会进入到它的下级目录里。 DOS常用命令: cls   清屏 cd    改变当前目录        edit   文本编辑 dir    列文件名 ren    改变文件名 move   移动文件,改目录名 copy  拷贝文件          del    删除文件 md   建立子目录 rd    删除目录 deltree  删除目录树  tree    显示命令树结构      type   显示文件内容 more  分屏显示 attrib  设置文件属性 mem   查看内存状况        date   显示及修改日期 time   显示及修改时间 set    设置环境变量 debug   程序调试命令 shutdown   关机 ping    查看网络连通情况 diskcopy

马哥博客作业第三周

戏子无情 提交于 2020-04-06 02:09:08
正则表达式 一.文本编辑工具 1.文本编辑之神vim 1.1 vim的三种模式: 命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本 插入(Insert)或编辑模式:用于修改文本 扩展命令(extended command )或命令(末)行模式:保存,退出等 1.2 模式切换: 插入模式 --- ESC-----> 命令模式 命令模式 ---- : ----> 扩展命令模式 扩展命令模式 ----ESC,enter----> 命令模式 1.3 扩展模式的基本命令 w 写(存)磁盘文件 wq 写入并退出 x 写入并退出 X 加密 q 退出 q! 不存盘退出,即使更改都将丢失 r filename 读文件内容到当前文件中 w filename 将当前文件内容写入另一个文件 !command 执行命令 r!command 读入命令的输出 1.4 命令模式的基本命令 ZZ 保存退出 ZQ 不保存退出 1.4.2 光标跳转 字符间跳转: h: 左 L: 右 j: 下 k: 上 单词间跳转: w:下一个单词的词首 e:当前或下一单词的词尾 b:当前或前一个单词的词首 当前页跳转: H:页首 M:页中间行 L:页底 zt:将光标所在当前行移到屏幕顶端 zz:将光标所在当前行移到屏幕中间 zb:将光标所在当前行移到屏幕底端 行首行尾跳转: ^ 跳转至行首的第一个非空白字符

shell_script1

倖福魔咒の 提交于 2020-04-02 07:32:55
1、简介 2、read 3、运算工具 4、if/then结构 5、while循环 6、for循环 一、简介 1、什么是shell shell是用户与系统交互作用的界面。shell是一种命令解释程序,同时也是一种高级程序设计语言 2、shell常见种类 Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 其中:Bash在日常工作中被广泛使用; 同时,Bash也是大多数Linux系统默认的Shell; 3、shell局限性 1.1、需要耗费大量资源的任务,特别是对执行速度要求较高的场合 1.2、涉及大量的数学计算 1.3.、关键性应用(数据库,网站等) 1.4.、设计图形或者GUI的应用 1.5.、需要直接访问硬件 1.6.、开发闭源的应用(相对于开源) 4、基础 文件系统:Linux 的文件系统是一个包含了目录和文件的分层的组织结构,位于最顶端的叫做根目录(root directory),用斜杠/ 来表示 目录: 是一种包含目录项的文件,每个目录项中都包含了文件名 文件名: 目录的内容称为目录项,目录项包含了文件名,只有两种字符不允许出现在文件名中:斜杠,空字符(ASCII

Linux Shell 通配符、元字符、转义符使用实例介绍

霸气de小男生 提交于 2020-03-27 03:15:18
说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例: #1 [chengmo@localhost ~/shell]$ ls a.txt b.txt c.old #2 [chengmo@localhost ~/shell]$ ls *.txt a.txt b.txt #3 [chengmo@localhost ~/shell]$ ls d*.txt ls: 无法访问 d*.txt: 没有那个文件或目录 从上面这个实例,不知道大家有没有发现问题呢。我们先了解一下,通配符相关知识,再分析下这个实例吧。 一、linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时, shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。 总之,通配符 实际上就是一种shell实现的路径扩展功能。在 通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。 我们回过头分析上面命令吧

shell脚本学习

拟墨画扇 提交于 2020-03-25 02:54:18
shell是一种脚本语言,和windows中的bat性质上差不多 1-1shell入门 在编写shell脚本程序中首先需要接触到的就是约定标记,这个约定标记表示使用什么解释器进行执行。 ps:解释器:解释器就是对shell程序使用的哪个东西后进行解释执行的语句 一个简单的shell程序如下 #!/bin/bash echo "Hello World !" 上述代码执行以后直接在控制台中显示以下代码 Hello World ! 在本代码中的 #! 是一个约定的标记,表示使用bash解释器来执行。使用的就是bash版本的shell脚本 sh/bash/csh/Tcsh/ksh/pdksh等shell的区别 sh(全称 Bourne Shell) : 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。 Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell。 bash(全称 Bourne Again Shell) : LinuxOS 默认的,它是 Bourne Shell 的扩展。 与 Bourne Shell 完全兼容,并且在 Bourne Shell 的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口

linux Shell学习笔记第三天

假装没事ソ 提交于 2020-03-24 06:19:52
第三天:条件选择 大 纲 应用实例分析 条件测试 if…else…fi case…in…esac 实现功能菜单: 执行脚本后 按1,显示当前时间 按2,显示CPU负载 按3,显示剩余内存 按0,退出脚本 按其他字符,提示超出选择范围后退出 分析步骤。 #date +%T uptime awk截取 free –m 条件测试格式 #test –option obj #[ -option obj ] 返回结果 表达式内容测试结果是真的 表达式内容测试结果是假的 测试的对象分类 执行结果(执行成功或失败) 文件(文件是否存在等) 文本(是否一致) 数字(数值比较) 条件测试的选项 选项 作用 -d 目录 -e 是否存在 -f 是否是普通文件 -s 文件大小是否等于0 -r 是否可读 -w 是否可写 -x 是否可执行 逻辑操作符号 选项 作用 -a 与操作 -o 或操作 ! 非操作 实例: #test –e /etc/passwd –a –e /etc/shadow 中间是a与操作,则都为0才得0 #test –e /etc/passwd –o –e /etc/groups 中间是o或操作,则有一真则真0 字符串操作符 == 两个字符串相等 != 两个字符串不相等 -z 空字符串 -n 非空字符串 实例: #test –z $LOGNAME #echo $LOGNAME #echo $?

linux shell 脚本攻略学习11--mkdir和touch命令详解

旧时模样 提交于 2020-03-22 17:58:48
一、创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amosli@amosli-pc:~/learn/dir$ ls folder 上面的命令中用到了mkdir,即是创建一个目录,非常常用的一个linux 命令。 该命令创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 在命令行内输入mkdir --help查看帮助信息. amosli@amosli-pc:~/learn/dir$ mkdir --help Usage: mkdir [OPTION]... DIRECTORY... Create the DIRECTORY(ies), if they do not already exist. Mandatory arguments to long options are mandatory for short options too. -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as

shell中wait命令详解

时光总嘲笑我的痴心妄想 提交于 2020-03-19 00:21:13
wait命令介绍   wait [作业指示或进程号]   1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态。如果没有制定参数,则等待所有子进程的退出,其退出状态为0.   2.如果是shell中等待使用wait,则不会等待调用函数中子任务。在函数中使用wait,则只等待函数中启动的后台子任务。   3.在shell中使用wait命令,相当于高级语言里的多线程同步。   语法   wait(参数) 使用 wait 是在等待上一批或上一个脚本执行完(即上一个的进程终止),再执行wait之后的命令。   参数   进程或作业标示:指定进程号或者作业号。   实例   1.使用wait等待所有子任务结束。   [plain] view plain copy#!/bin/bash   sleep 10 &   sleep 5&   wait #等待10秒后,退出   [plain] view plain copy#!/bin/bash   sleep 10 &   sleep 5&   wait $! #$!表示上个子进程的进程号,wait等待一个子进程,等待5秒后,退出   2.在函数中使用wait   [plain] view plain copy#!/bin/bash   source ~/.bashrc   fun(){   echo "fun is

getopts 用法

醉酒当歌 提交于 2020-03-17 02:36:41
参考:https://blog.csdn.net/xluren/article/details/17489667 c语言里面有个getopt_long,可以获取 用户在命令下的参数 ,然后根据参数进行不同的提示或者不同的执行。 [hello@Git shell] $ bash test . sh - a hello this is - a the arg is ! hello [hello@Git shell] $ more test . sh #!/bin/bash while getopts "a:" opt ; do case $opt in a ) echo "this is -a the arg is ! $OPTARG " ; ; \? ) echo "Invalid option: - $OPTARG " ; ; esac done getopts的使用形式是:getopts option_string variable getopts一共有 两个参数 ,第一个是-a这样的选项,第二个参数是 hello这样的参数。 选项之间可以通过冒号:进行分隔,也可以直接相连接,:表示选项后面必须 带有参数 ,如果没有可以不加实际值进行传递 例如:getopts ahfvc: option表明选项a、h、f、v可以不加实际值进行传递,而选项c必须取值。使用选项取值时

Shell脚本之awk详解

烈酒焚心 提交于 2020-03-17 00:39:20
一.基本介绍 1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的。awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一个域(段),域和域之间使用分割符分割。 2.功能:流控制、数学运算、进程控制、内置的变量和函数、循环和判断 3.工作原理: awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理。 (1)行工作模式,读入文件的每一行,会把一行的内容,存到$0里 (2)使用内置的变量FS(段的分隔符,默认用的是空白字符),分割这一行,把分割出来的每个段存到相应的变量$(1-100) (3)输出的时候按照内置变量OFS(out FS),输出 (4)读入下一行继续操作 简单实例 [root@tx3 ~]# echo "this is a book" > awk.txt [root@tx3 ~]# awk '{print $2,$1,$3,$4}' awk.txt is this a book 4. Awk常用内置变量表: 1 $0 当前记录(作为单个变量) 2 $1~$n 当前记录的第n个字段,字段间由FS分隔 3 FS 输入字段分隔符 默认是空格 4 NF 当前记录中的字段个数,就是有多少列 5 NR 已经读出的记录数,就是行号,从1开始 6 RS 输入的记录他隔符默 认为换行符 7 OFS