随笔分类 -  Shell

摘要:在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值 表达式 含义 ${var} 变量va 阅读全文
posted @ 2017-11-28 08:52 bamboo233 阅读(852) 评论(0) 推荐(0)
摘要:Code: !/bin/bash set e set x cmd= for rs in $cmd do rpm e $rs nodeps done 阅读全文
posted @ 2017-11-16 15:41 bamboo233 阅读(150) 评论(0) 推荐(0)
摘要:移动光标 hjkl 2w 向前移动两个单词 3e 向前移动到第 3 个单词的末尾 0 移动到行首 $ 当前行的末尾 gg 文件第一行 G 文件最后一行 行号+G 指定行 +o 跳转回之前的位置 +i 返回跳转之前的位置 退出 进入正常模式 :q! 不保存退出 :wq 保存后退出 删除 x 删除当前字 阅读全文
posted @ 2017-11-13 17:59 bamboo233 阅读(223) 评论(0) 推荐(0)
摘要:Fish 是 Linux/Unix/Mac OS 的一个命令行 shell,有一些很好用的功能。 自动推荐 VGA 颜色 完美的脚本支持 基于网页的配置 帮助文档自动补全 语法高亮 以及更多 自动推荐功能让 fish 非常方便(特别是你想不起来一些命令的时候)。 你可能觉得挺好,但是 fish 没有 阅读全文
posted @ 2017-11-13 17:49 bamboo233 阅读(1273) 评论(0) 推荐(0)
摘要:apropos (意即“关于”)能够搜索 Linux 帮助文档来帮你找到你想要的命令。比如说,你不记得你用的发行版用的什么防火墙工具了。你可以输入 apropos “firewall” ,然后这个工具会返回相关的命令; 再假如你需要一个操作目录的命令,但是完全不知道要用哪个呢?输入 apropos 阅读全文
posted @ 2017-11-13 17:48 bamboo233 阅读(581) 评论(0) 推荐(0)
摘要:你的 Bash 命令历史保存的历史命令的数量可以在 ~/.bashrc 文件里设置。在这个文件里,你可以找到下面两行: HISTSIZE=1000 HISTFILESIZE=2000 HISTSIZE 是命令历史列表里记录的命令的最大数量,而 HISTFILESIZE 是命令历史文件的最大行数。 显 阅读全文
posted @ 2017-11-13 17:46 bamboo233 阅读(348) 评论(0) 推荐(0)
摘要:Code: find $LibPath/ name .svn | xargs rm rf 阅读全文
posted @ 2017-11-02 17:45 bamboo233 阅读(441) 评论(0) 推荐(0)
摘要:shopt s extglob if [ ! d "desdir" ]; then mkdir desdir fi cp r Oozie/!(.svn ) desdir/ 阅读全文
posted @ 2017-11-02 17:35 bamboo233 阅读(475) 评论(0) 推荐(0)
摘要:Code: mysqltmppwd= mysqladmin u root p${mysqltmppwd} password "NewPassword" 阅读全文
posted @ 2017-10-16 16:52 bamboo233 阅读(2752) 评论(0) 推荐(0)
摘要:例如匹配APP或者app : [aA][pP][pP] 阅读全文
posted @ 2017-10-16 16:51 bamboo233 阅读(1272) 评论(0) 推荐(0)
摘要:用空文件进行判断 path= if [ f ${path}/.runned ]; then { echo "This script can only execute once! You have runned it!" exit } else touch ${path}/.runned fi 阅读全文
posted @ 2017-10-16 16:50 bamboo233 阅读(396) 评论(0) 推荐(0)
摘要:Script 命令可以帮助管理员记录用户的操作行为,包括用户查看文件中的哪些具体内容,写入了哪些文件,写了些什么都能看到,比较详细的记录了用户的操作行为。 本文对此进行简要说明。 1.添加日志记录 echo '/usr/bin/script qaf /root/$USER $UIDO .log' / 阅读全文
posted @ 2017-09-13 09:43 bamboo233 阅读(629) 评论(0) 推荐(0)
摘要:0.shell 调试 Code: sh x somefile.sh 在somefile.sh 文件里加上 set+x set x 1.用 `|| if else` Code: gzip t a.tar.gz if [[ 0 == $? ]]; then echo "good zip" else ec 阅读全文
posted @ 2017-09-08 17:55 bamboo233 阅读(227) 评论(0) 推荐(0)
摘要:有很多可以借鉴的地方,故转载: 创建脚本mysql.sh,直接运行sh mysql.sh !/bin/bash if [ d /software ] ;then cd /software else mkdir /software && cd /software fi is exist command 阅读全文
posted @ 2017-09-08 17:53 bamboo233 阅读(761) 评论(0) 推荐(0)
摘要:linux中shell变量$ ,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $ 使用Set命令设定的Flag一览 $ 所有参数列表。如"$ "用「" 阅读全文
posted @ 2017-09-08 17:52 bamboo233 阅读(237) 评论(0) 推荐(0)
摘要:命令: export PATH=$(echo $PATH | tr : "\n"| sort | uniq | tr "\n" :) Code: awk F: '{ sep = "" for (i = 1; i 阅读全文
posted @ 2017-09-04 17:15 bamboo233 阅读(321) 评论(0) 推荐(0)
摘要:这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训。事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条。毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生常谈了。 1. 指定bash shell 脚本的第一行, !之后应该是什么?如果拿这个问题去问别人, 阅读全文
posted @ 2017-08-30 16:10 bamboo233 阅读(146) 评论(0) 推荐(0)
摘要:系统信息 arch 显示机器的处理器架构(1) uname m 显示机器的处理器架构(2) uname r 显示正在使用的内核版本 dmidecode q 显示硬件系统部件 (SMBIOS / DMI) hdparm i /dev/hda 罗列一个磁盘的架构特性 hdparm tT /dev/sda 阅读全文
posted @ 2017-08-29 16:53 bamboo233 阅读(150) 评论(0) 推荐(0)
摘要:b file 若文件存在且是一个块特殊文件,则为真 c file 若文件存在且是一个字符特殊文件,则为真 d file 若文件存在且是一个目录,则为真 e file 若文件存在,则为真 f file 若文件存在且是一个规则文件,则为真 g file 若文件存在且设置了SGID位的值,则为真 h fi 阅读全文
posted @ 2017-08-29 16:40 bamboo233 阅读(139) 评论(0) 推荐(0)
摘要:命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容。 1、单字符匹配符. 正则表达式主要由一些元字符和匹配模式组成 单字符匹配符可以匹配任意单个字符,这个字符的功能 阅读全文
posted @ 2017-08-29 16:39 bamboo233 阅读(148) 评论(0) 推荐(0)