
shell
文章平均质量分 53
千年的塔
Go语言和MySQL技术专家,著有《Go语言核心编程》一书。
展开
-
打印行号
1.cat -n file 2. awk '{print NR","$0}' file原创 2012-11-27 00:29:16 · 814 阅读 · 0 评论 -
ping 小技巧
#!/bin/bashwhile truedo ping 137.2.23.1 -c 8 -i 1 sleep 5done有了这个比单纯的PING 好些,每ping 8 次都一个汇总信息。原创 2013-04-25 09:48:33 · 601 阅读 · 0 评论 -
查询某类文件
1.查询脚本文件find . -type f |xargs file |grep "script" |awk -F':' '{print $1}'2.查询可执行二进制文件find . -type f |xargs file |grep "ELF"原创 2013-01-15 15:44:11 · 631 阅读 · 0 评论 -
tar使用技巧
tar 使用技巧1.去除某个目录 使用--exclude dir ,且exclude dir 必须位于打包目录之前,不能写到后面tar cvf t.tar --exclude ./myshell/tmp ./myshell 2.解压到某个特定目录tar cvf t.tar -C /mypath3.巧用tar复制目录tar cvf - *|(cd /tmp原创 2012-10-11 16:17:03 · 691 阅读 · 0 评论 -
shell 字符串截取
Shell字符串截取规则:•${#parameter} 获取字符串长度•${parameter%word} 最小限度从后面截取word•${parameter%%word} 最大限度从后面截取word•${parameter#word} 最小限度从前面截取word•${parameter##word} 最大限度从前面截取word写了个小程序,关于shell字原创 2013-01-05 15:09:51 · 706 阅读 · 0 评论 -
前100个常用密码
分析网上800万拖库数据得出前100个常用密码如下,你躺着中枪了吗?数目 密码明文235039 123456789 212761 12345678 76348 11111111 34953 00000000 20010 123123123 17794 1234567890 15033 88888888 6995 111111111 5966 14725原创 2012-11-27 00:09:03 · 50981 阅读 · 0 评论 -
sed 高级用法
转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=336126FILE SPACING: # double space a file #使一个文件中每一行都占用两行空间(就是在每一行后边插一行空行)sed G ###sed 中G命令的解释为append hold space to pattern space.转载 2012-11-27 00:30:16 · 10247 阅读 · 0 评论 -
awk 内置变量FS, OFS, RS, ORS, NR, NF
Thisarticle is part of the on-goingAwk Tutorial Examplesseries. Awk has several powerful built-in variables. There are two types of built-in variables in Awk.1 Variable which defines va转载 2012-05-18 15:31:46 · 4403 阅读 · 0 评论 -
shc可用来对shell脚本进行二进制加密
shc可用来对shell脚本进行二进制加密下面来说说如何安装和使用:安装:以shc-3.8.7.tgz为例tar -vxf shc-3.8.7.tgzcd shc-3.8.7make testmake stringsmake expirationmake installmake install -c -s shc /usr/local/bin原创 2012-09-14 14:00:21 · 1045 阅读 · 0 评论 -
shell中管道的原理
shell中管道的原理一键转载 管道是linux中一个很重要的命令行操作,因为linux的每个命令都以完成一个任务为目的,只有把些命令组合起来才能做复杂的工作,当然这种方式也提供了很大的灵活性。那么bash中的管道是通过什么实现的呢? 先看一个简单的管道的例子:#include int fd[2];char * argv[ ]={"ls","转载 2012-09-25 17:30:34 · 4325 阅读 · 0 评论 -
脚本查看linux 密码更改日期和账户失效日期
1.查看用户创建日期和实效日期,可以使用 chage -l username 命令 或者 pass -S username 命令查看2.自己写个脚本,查看所有用户的:#!/bin/bash while read linedo uname=`echo $line | awk -F: '{print $1}'` bday=`echo $line原创 2013-04-25 15:46:58 · 1312 阅读 · 0 评论 -
shell 重定向
标准输入 stdin 文件描述符 0 标准输出 stdout 文件描述符1错误输出 stderr 文件描述符2所谓重定向通常是对标准输入输出进行重定向到文件夹,也有其他定向方式;> 与 >> 输出重定向, >覆盖,>>追加当shell解析到这个分界符可以是你所定义的任何字符串。[tata@tata tmp]$ c原创 2013-05-09 00:16:14 · 790 阅读 · 0 评论 -
sed、awk调用shell变量的方法
我们在编写shell脚本的时候,经常会遇到在脚本中使用awk或sed去调用shell环境中的变量的时候,下面我简单的说一下调用的方法。 sed一般使用单引号,sed引用shell变量时使用双引号即可,因为双引号是弱转义,不会去除$的变量表示功能,而单引号为强转义,会把$作为一般符号表示,所以不会表示为变量。 awk在调用shell变量时,需要使用参数-v,举例说明:转载 2012-05-16 09:48:44 · 1342 阅读 · 0 评论 -
linux 删除软链接文件
linux 删除软链接文件 转载▼软链接即用 ln -s 原始文件或文件夹 目标文件或文件夹当想删除链接文件时 如果不小新 会把原始文件删掉例:ln -s /home/user/bak /var/bakrm /var/bak/ 会提示bak是一个文件夹无法删除 这时千万不要用 rm -rf /var/bak/ 来删除 否则你删除的并不是链接转载 2012-10-27 00:40:31 · 5131 阅读 · 0 评论 -
删除乱码文件方法
采用 ls -li 结合 find -inum ,xargs 进行删除ls -li |awk '{print $1}'|sed -n '2,$p' |xargs -I {} find ./ -inum {}|xargs -I {} rm -rf {}原创 2013-12-14 20:23:58 · 978 阅读 · 0 评论 -
linux 删除含特殊字符文件
rm 语法[root@andes.com ~]#rm --helpUsage: rm [OPTION]... FILE...Remove (unlink) the FILE(s). -f, --force ignore nonexistent files, never prompt -i prompt before eve原创 2012-09-26 11:32:42 · 20887 阅读 · 1 评论 -
bash通配符和正则表达式
部分摘录鸟哥私房菜,部分整理汇总;SHELL通配符与特殊符号在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔:符号意义*代表『 0 个到无穷多个』任意字符?代表『一定有一个』任意字符原创 2013-05-10 15:23:44 · 14302 阅读 · 1 评论 -
剔除文件后缀名
basename 和dirname分别获取文件名和文件路径,但是对于只剔除文件后缀名的情况则没有专门命令,特写个脚本:#!/bin/bashfind . -name "*.pod" |while read linedo echo $line; #tfile=`echo $line | awk -F'.' '{print $2}'`原创 2013-07-23 17:13:42 · 769 阅读 · 0 评论 -
重定向Shell关键字time
重定向Shell关键字time 在一个Shell脚本中,我想要获得一个命令的执行时间,并把结果重定向到一个文件中。首先我尝试如下命令: $ time command > time.txt 不起作用。于是我发现time是输出到stderr上的。我将命令改为:$ time command 2> time.txt 还是没转载 2013-06-22 16:16:43 · 1549 阅读 · 0 评论 -
shell 小技巧
1.保存man 帮助文档 man vim |col -b |tee vim.txt 制成PDF文件:man -t ls | ps2pdf - ls.pdf 2.构造一个10M大小文件 dd if=/dev/zero of=tata.txt bs=1M count=103.日志定期清理 删除当前目录下大于1M 文件和文件夹 (用户垃圾清理)原创 2012-06-06 11:01:38 · 693 阅读 · 0 评论 -
find -name patten
-name pattern Base of file name (the path with the leading directories removed) matches shell pattern pattern. The metacharacters (*, ?, and []) match a . at the star原创 2013-05-09 00:59:31 · 631 阅读 · 0 评论 -
linux shell 10个好习惯
The Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验,总结了 10 个良好习惯,个人认为真的很受用,现摘要如下与大家分享。1.建立层级目录:使用 mkdir 的 -p 选项,如 mkdir -p tmp/a/b/c2.解包到指定的目录:使用 tar 的 -C 选项,如 tar xvf newarc.tar.gz转载 2012-09-25 15:39:34 · 852 阅读 · 1 评论 -
Shell脚本编程及效率优化
引言伴随着UNIX四十多年的发展,shell已经从最初的命令解释器发展成为现今强大的计算机语言, shell脚本编程以其简便快捷的特色广泛应用于日常系统管理操作上,熟悉并精通shell脚本编程已是系统管理员必备的技能。1992年IEEE通过了关于“shell and utilities”的IEEE Std 1003.2-1992标准,即POSIX.2标准,并于2001年合并至IEEE St转载 2012-09-25 17:03:06 · 4093 阅读 · 0 评论 -
awk 指定输入域分隔符FS方法
方法1:使用-F '[: /]' 正则表达式,注意有单引号引住[root@localhost tmp]# cat t.txta b/c:d ea b/c:d ea b/c:d e[root@localhost tmp]# awk -F '[: /]' '{print $1,$2,$3,$4}' t.txt a b c da b c da b c d方法原创 2012-08-20 11:39:03 · 5916 阅读 · 0 评论 -
BASH 脚本命令查找顺序及command builtin enable
命令优先级表1.别名2.关键字3.函数4.内置命令5.脚本或可执行程序($PATH) ----------------------------------command builtin enable ----------------------------------1.command跳过别名和函数的查找,只查找bultin命令以及PATH路径中找到的脚原创 2012-08-08 09:48:55 · 1213 阅读 · 0 评论 -
shell 变量未定义或空值导致test语句报错解决办法
变量没有定义或为空会导致shell test 表达式报错,为防止错误产生,[]中变量引用采用如下方式if [ "X${name}" != "X" ] then do something;fi判断一个变量是否定义,值是否为空同理:---------------------------------------------------------------------原创 2012-07-17 11:01:07 · 7673 阅读 · 1 评论 -
Linux $* $@ 参数引用和数组元素引用
参数引用1. $*=$@="$@“ 其作用相同,使用for循环可以按空格为界读取每一个参数2. "$*" 是将所有参数看成一个序列,使用for读取时,指读取一个元素数组元素引用1. ${ar[*]}=${ar[@]}=”${ar[@]}“ 其作用相同,使用for循环可以读取每一个数组元素2. “${ar[*]}” 是将所有数组元素看成一个序列,使用fo原创 2012-06-05 10:51:13 · 2520 阅读 · 0 评论 -
shell中括号的特殊用法
Shell中的括号有其特殊的用法, 现总结如下:1. 符号$后的括号${a} 变量a的值, 在不引起歧义的情况下可以省略大括号.$(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh.$((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符转载 2012-07-11 15:46:06 · 941 阅读 · 0 评论 -
linux shell 按行循环读入文件方法
linux shell 按行循环读入文件常用代码如下:#/bin/bashprintf "*************************************\n"echo " cat file whiel read line"cat test.txt |while read linedo echo $line;doneprintf "***********原创 2011-12-05 16:20:27 · 55223 阅读 · 0 评论 -
linux shell转义符
转义字符转义字符扩展成 ...\a响铃符\b退格符\eANSI转义符,等价于\033\f馈页符\n换行符\r回车符\t水平制表符\v垂直制表符\\反斜杠原创 2011-12-05 16:52:39 · 2892 阅读 · 0 评论 -
linux eval
eval 就是将命令执行两次1.第一次,执行变量替换2.第二次,执行替换后的命令串#!/bin/bashg="|"eval ls $g wc -l#执行第一次命令串变为: ls | wc -l#执行第二次获得结果echo \$$#eval echo\$$##执行第一次命令串为:echo $n#再执行一次替换后的命令串com="cat ev.sh"echo $原创 2012-06-04 11:21:59 · 2176 阅读 · 0 评论 -
find -exec 与xargs 区别
find . -name "*.txt" -exec rm {} \;find . -name "*.txt" | xargs rm {} -exec 1.参数是一个一个传递的,传递一个参数执行一次rm 2.文件名有空格等特殊字符也能处理-xargs 1.一次将参数传给命令,可以使用-n控制参数个数 2.处理特殊文件名需要采用如下方式:原创 2012-09-26 15:17:16 · 27255 阅读 · 0 评论 -
linux xargs详解
xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter delimiter] [-I replace-str] [-i[replace- str]] [--replace[=replace-str]] [-l[max原创 2012-09-26 16:39:26 · 35720 阅读 · 3 评论 -
linux shell脚本文件执行分析
原创,转载注明出处一.shell脚本父子进程分析 代码:#!/bin/bashecho $$ps -ef |grep `echo $$`echo "-------------------------------------"( pwd;echo $$;ps -ef |grep `echo $$`;)echo "-------------------------原创 2012-09-25 15:58:56 · 8103 阅读 · 1 评论 -
shell 程序结构
shell 程序结构一简单指令command [-option] [parameter] command 可以是 别名,函数名,内置命令,外部可执行程序或脚本 二shell控制结构复合语句for name [ in word ] ;dolist ; done for (( expr1 ; expr2 ; expr3)) ;do list ; done原创 2012-09-25 15:40:20 · 957 阅读 · 0 评论 -
UNIX 高手的 20 个习惯
UNIX 高手的 20 个习惯不良的使用模式会降低您的速度,并且通常会导致意外错误。养成这些好习惯是加强您的 UNIX命令行技能的积极步骤。 Unix 下要采用的20个好习惯为:1) 在单个命令中创建目录树。2) 更改路径;不要移动存档。3) 将命令与控制操作符组合使用。4) 谨慎引转载 2012-09-26 10:20:21 · 1864 阅读 · 0 评论 -
ls 与du 查看目录大小区别
用ls命令出来的目录大小,不包括里面的文件大小。用du -sh * 才是。-h选项是将大小转换为比较好看的格式,如K,M什么的。linux文件系统是用inode来存储文件的属性,而用Block来存储内容的。而这个inode里面是不存储文件的名字的,所以对于目录来说,它的作用就是通过自己的inode找到自己的block,block里面记录了你这个目录下面文件名和inode的对应,如果你目录下原创 2012-09-24 15:15:00 · 4092 阅读 · 0 评论 -
shell 程序结构
shell 程序结构一简单指令command [-option] [parameter] command 可以是 别名,函数名,内置命令,外部可执行程序或脚本 二shell控制结构复合语句for name [ in word ] ;dolist ;done for (( expr1 ; expr2 ; expr3)) ;dolist ; done se原创 2012-10-08 19:28:28 · 1304 阅读 · 0 评论 -
BASH 中单括号和双括号
一. bash [ ] 单双括号基本要素:Ø [ ] 两个符号左右都要有空格分隔Ø 内部操作符与操作变量之间要有空格:如 [ “a” = “b” ]Ø 字符串比较中,> \Ø [ ] 中字符串或者${}变量尽量使用"" 双引号扩住,避免值未定义引用而出错的好办法Ø [ ] 中可以使用 –a –o 进行逻辑运算Ø [ ] 是bash 内置命令原创 2012-10-08 19:26:52 · 16146 阅读 · 3 评论 -
awk sed 实际应用
统计机器中网络连接各个状态个数 root@darkstar:/usr/local# netstat -a | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LISTEN 20 ESTABLISHED 38 SYN_SENT 1 TIME_WAIT 11获取IP地址:ifconfig eth0|sed -n原创 2012-10-09 14:59:58 · 852 阅读 · 0 评论