Posts
JieChen.Me
Cancel

用getopts可以编写出像模像样的很规范的获取命令行参数/选项的参数。根据它的使用方法,命令参数列表存放在 optstring 中,变量名为name,后续还可以跟上参数。 getopts: usage: getopts optstring name [arg] 命令行的选项还分两种 带值的选项 不带值得选项(其实就是flag开关) 所以获取命令行需要处理三种数据 ...

使用chmod可以使用+,-或者=符号给u,g和o三组赋予权限。虽然字面上非常好理解,但是我还是最喜欢直接用八进制组一次性赋值。分享2个自己写的脚本,用来解析权限在字面和八进制之间的快速换算。 字面到八进制组的转换 命令方式为: p2o.sh permission_text 比如:p2o.sh rwxr-xr– # p2o.sh # permission to octal ...

一个进程通过管道把自己的标准输出流作为标准输入流传输给第二个进程,这是最常用的。但是有时候第二个进程不支持接受标准输入流,只接受普通参数,这就需要对标准输入流做转换。 pipe 假设当前目录下有几个txt文件 $ find *.txt chinese.txt english.txt maths.txt name.txt 通过管道传输,find *.txt 的结果成为标准输出流,管道转...

客户的系统日志常常几个G以上,全部拿过来再分析的话网络传输非常耗时间,而且里面大部分日志都是很早之前的。介绍有两个非常简单好用又快速的方法,只截取大文件中有用的部分数据。 grep关键字的正则查询 我们总能知道一些错误日志的关键字。所以grep首先是最先想到。下面的过程就是怎么一步步优化grep命令,精确找到匹配项。 比如我们有个错误 “Node -1 does not exist i...

曾今处理过一个问题,帮助用户合并多个CSV文件,不需要编程(编程一定会涉及到又是循环又是匹配再填充),Linux下一个join命令,逐步调优,再重定向输出。 Shell一定是一个逐步调整优化的过程,没有人能完整记住所有参数 join命令的设计和SQL中的等值连接非常类似,默认它是一个自然联结。它支持: 默认:自然联结 - 以两个文件的第一列字段为key进行等值联结 in...

cd命令非常简单,日常使用其实也没有什么需要特别技巧的东西。但是下面的一些小技巧,非常有利于操作效率。 回到主目录 cd ~ 回到前一个访问过的目录 cd - 多次执行 ‘cd -‘,只会在当前目录和前一个目录中来回切换。 跨目录快速跳转 CDPATH环境变量为cd命令定义一个cd自己的查找目录。然后如果想要进入这个目录的子目录,可以直接 ‘cd 子目录’,无论当前pwd...

/dev/null的行为和/dev/zero看起来,有相反的作用,有时又相似。/dev/null就像无底洞,吃掉被指定的重定向。而/dev/zero能为目标文件提供连续的数据流填空。他们的作用可能还不止这些。但是我一般用它们做下面最常用的用途。 /dev/null清空文件 /dev/null常常用来吞掉被重定向的数据。反过来,它可以被当作输入流的空文件。 在分析系统故障时,日志文件会有...

Sequence序列值大量应用在表中需要设置ID自动增长作为主键的地方,在当前数据库中属于全局级别。本文简单介绍Sequence的使用。 创建 根据Oracle的SQL定义,sequence的创建语法非常清晰。我们用下面的例子演示最常见的创建方法。 SQL> create sequence myseq 2 increment by 10 3 start with ...

创建index十分简单,本文简单讲述组合索引、位图索引以及函数所以以及压缩索引,以及如何查看索引的空间使用情况。 数据准备 我们先创建一个employee表。 SQL> create table employee( 2 id number not null, 3 name varchar2(200) not null, 4 ...

对于视图的操作,我们最常见的是创建并使用select操作符,但其实视图也是可写的,只是可写的条件比较苛刻。视图写操作实际上是针对视图定义中最外层from从句中基表的操作。本文详细举例说明在各种条件下视图的insert,update以及delete操作的实验。 准备工作 在开始之前,我们先准备两个表和各自的数据,两个表用主外键相互引用。 create table class( cno...