随笔分类 -  Linux & Shell

摘要:grep命令可以检索文件中包含关键字(可以使用正则)的行,默认区分大小写。 使用 -c 参数,获取包含关键字的行数 使用 -n 参数,打印内容的同时,显示所在的行号 使用 -i 参数,查找时,不区分大小写 使用 -v 参数,查找不包含关键字的行(反向查找) 使用 -e 参数,可以同时指定多个筛选条件 阅读全文
posted @ 2018-01-20 23:18 寻觅beyond 阅读(8837) 评论(0) 推荐(0) 编辑
摘要:首先是通过文件名称来查找,需要使用一个-name参数。 查询以 .txt结尾的文件,和以 t 开头的文件: 其中 ./ 表示当前目录,后面还可以跟上一些简单的正则表达式,如下面的例子,注意此时正则表达式需要使用引号括起来。 可以通过权限值来查找,此时要使用-perm 参数 还可以通过文件类型来查找, 阅读全文
posted @ 2018-01-20 22:13 寻觅beyond 阅读(18155) 评论(0) 推荐(0) 编辑
摘要:因为shell脚本内部是很多命令的集合,这些命令也许会涉及到操作某一个文件,而且shell脚本的运行,也是需要当前用户对脚本具有运行的权限,否则,会因为权限不够而失败。 首先最重要的一点:修改权限,只是修改用户对文件内容,文件内容,文件内容的权限,而不是修改用户对文件的权限。只有文件的拥有者才可以对 阅读全文
posted @ 2018-01-14 11:46 寻觅beyond 阅读(4650) 评论(0) 推荐(0) 编辑
摘要:shell的函数和Javacript和php的函数声明一样,只不过shell在调用函数的时候,只需要写函数名就可以调用函数,注意不要在函数名后面加括号 创建并使用函数 运行: 函数传参、局部变量 给函数传递参数的方法 和给运行脚本传参数的方法相同:写在调用的函数名后面,空格分隔。 使用$1表示第一个 阅读全文
posted @ 2018-01-13 18:37 寻觅beyond 阅读(2048) 评论(0) 推荐(0) 编辑
摘要:参数左移什么意思呢?这个参数指的是在运行脚本时,跟在脚本名后面的参数,前面已经讲过,可以使用$#来获取参数的个数,使用$*来获取所有的参数,而参数左移的含义是这样的:有个指针指向参数列表第一个参数,左移的意思就是每读一个参数,指针就指向第二个参数,就好像参数向左移动了,于是乎,这样就可以读取每个参数 阅读全文
posted @ 2018-01-13 16:47 寻觅beyond 阅读(1169) 评论(0) 推荐(0) 编辑
摘要:shell中的continue和break和其他语言中的使用方法一模一样:continue用于跳过本次循环,break用于中断本层的循环 下面是使用例子: 运行: 可以在continue和break后面接一个整数,不加默认的是1,表示本层循环;2表示上层循环,以此类推。 阅读全文
posted @ 2018-01-13 16:16 寻觅beyond 阅读(4549) 评论(0) 推荐(0) 编辑
摘要:shell的循环结构有while和for两种 for循环 运行: 注意最后一次输出是10,而不是其他语言中输出4,这一点和JavaScript很类似。 for循环要循环的内容就是跟在in后面,然后以空格分隔,可能要循环的内容特别多,那么就可以将要循环的内容保存在一个文件中,然后读出来即可。比如下面: 阅读全文
posted @ 2018-01-13 14:25 寻觅beyond 阅读(1591) 评论(0) 推荐(0) 编辑
摘要:涉及到比较和判断的时候,要注意 下面的一个例子: 运行测试: 注意: 比较运算符的两边都有空格分隔,同时要注意比较运算符两边的变量是否可能为空,比如下面这个例子: 运行: 可以看到,在代码中想要判断shell命令的第二个参数是否为hello或者no,但是在测试的时候,如果没有第二个参数,那么就变成了 阅读全文
posted @ 2018-01-11 00:06 寻觅beyond 阅读(40580) 评论(0) 推荐(0) 编辑
摘要:在看选择判断结构之前,请务必先看一下数值比较与文件测试 if....else... 运行结果: 支持嵌套if...else....也和其他语言一样,需要注意的是,每一个选择判断分支都要结束(使用if的反写fi)。 运行结果: 需要注意的是,上面的每一行都是一条命令,如果想要将某几行写在一行,那么要在 阅读全文
posted @ 2018-01-10 23:59 寻觅beyond 阅读(2210) 评论(0) 推荐(0) 编辑
摘要:用于数值比较的无非大于、小于、等于、大于等于、小于等于这几个。 比较格式: [ 数值1 比较符 数值2 ] 注意左边的括号与数值1之间有一个空格,同样,数值2和右边的括号之间也有空格。 数值比较运算符对应下面几个: 例子: 结果: 阅读全文
posted @ 2018-01-09 23:44 寻觅beyond 阅读(25817) 评论(0) 推荐(0) 编辑
摘要:文件测试是指测试某一个文件或者目录是否存在 测试文件格式[ 操作符 目录或者文件 ] 注意左括号和操作符之间有一个空格,文件或者目录 与右边的括号之间也有一个空格。 测试的结果可以使用$?来获取,$?表示上一条命令的执行是否成功 或者 判断条件是否成立: 如果运行成功则返回0,如果出现异常或者失败时 阅读全文
posted @ 2018-01-09 23:27 寻觅beyond 阅读(1593) 评论(0) 推荐(0) 编辑
摘要:目录 1、cat 2、more 3、less 4、head & tail 5、nl 6、tee shell脚本显示文本内容及相关的常用命令有cat、more、less、head、tail、nl 1、首先是cat cat最常用的就是一次性显示文件的所有内容,如果一个文件的内容很多的话,那么就不是很方便 阅读全文
posted @ 2018-01-09 00:19 寻觅beyond 阅读(8394) 评论(2) 推荐(0) 编辑
摘要:输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行;要想取消默认的换行,需要加 -n 参数。 #!/bin/bash #文件名:test.sh echo "aaaaaaaaaaa" echo "bbbbbbbbbbb" echo -n "ccc 阅读全文
posted @ 2018-01-08 15:11 寻觅beyond 阅读(16327) 评论(6) 推荐(0) 编辑
摘要:原生bash不支持简单的数学运算,即使是最简单的加减乘除 但是,可以使用$[]和expr来实现整数运算 如果要实现小数运算,可以使用bc命令 使用$[]来实现: 执行脚本: 主要注意的是: 1、运算符和两边要进行计算的数值之间,有空格 2、虽然两个方括号和要进行计算的数值之间可以没有空格,但是强烈建 阅读全文
posted @ 2018-01-07 22:12 寻觅beyond 阅读(8696) 评论(4) 推荐(0) 编辑
摘要:Linux中的变量有环境变量和用户自定义变量,关于环境变量,可以查看这篇博客:linux环境变量 本文主要针对的是用户在shell脚本中定义的变量,但是环境变量也可以在shell脚本中使用。 普通变量 注意事项: 执行脚本: 有时候在使用变量的时候,变量名后面会跟着一些字符,如果这些字符与变量名之间 阅读全文
posted @ 2018-01-07 21:38 寻觅beyond 阅读(24531) 评论(16) 推荐(0) 编辑
摘要:shell脚本的文件名一般是以.sh结尾,也可以以其他格式如.txt,甚至不加后缀。 脚本的第一行的#!/bin/bash表示指定脚本执行时的解析器。 #!/bin/bash #文件名:test.sh #除了第一行的井号表示脚本执行的解析器 #其他的井号均表示注释 echo "aaaaaaaaaaa 阅读全文
posted @ 2018-01-07 17:28 寻觅beyond 阅读(332) 评论(0) 推荐(0) 编辑
摘要:使用>和>>都表示向结果重定向到一个文件中,区别在于>是覆盖式的重定向,会先将内容先清空,然后再将结果输入,而>>是追加式的重定向,是将要输入的内容追加在在已存在的内容后面,并不会清空文件。 实例: 重定向符号>之前的数字(0表示标准输入,1表示标准输出,2表示错误输出),如果>之前没有添加数字,则 阅读全文
posted @ 2018-01-07 17:12 寻觅beyond 阅读(417) 评论(2) 推荐(0) 编辑

返回顶部