![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux shell
thinkinwm
Do not pray for easy lives. Pray to be stronger men.
展开
-
shell script学习笔记1
一些常用的变量,符号的意义:----------------------------------------------------------$?上一条语句的执行结果$$当前进程ID()命令组,如 (a=0;echo $a),在命令组中的部分将作为子shell来运行,所以其中定义的变量在命令组外就不可用。$()同样是命令替换,它是以子s原创 2012-10-12 15:34:44 · 435 阅读 · 0 评论 -
awk
awk 'BEGIN{commands } pattern {commands } END {commands } '这三部份是可选的。且脚本通常会被包含在单引号或者双引号中:[root@localhost test]# cat test.sh| wc -l6[root@localhost test]# awk 'BEGIN{ i=0 } { i++ } END原创 2012-10-12 16:15:21 · 321 阅读 · 0 评论 -
Linux Shell 通配符、元字符、转义符使用实例介绍
http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.htmlLinux Shell 通配符、元字符、转义符使用实例介绍需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种转载 2013-02-19 11:01:35 · 411 阅读 · 0 评论 -
高效能程序工具之grep
http://blog.csdn.net/hitlion2008/article/details/7538064grep是global regular expression pattern,意思是全局正则表达模式匹配。通俗来讲就是用于模式匹配,或者叫做查找。它有几个变体:egrep ---- 相当于grep -efgrep ---- 相当于grep -frgrep ----转载 2013-02-13 13:24:15 · 761 阅读 · 0 评论 -
linux下解压或压缩文件方法
大家经常碰到在linux下面解压大型的*.zip文件,一般常用winrar直接在smb中解压,但一般会存在解压解压时间长且有时候网络原因出错。所以特意查了一下linux下面的解压工具。1、linux自带的unzip命令可以解压windows下的zip格式的压缩文件。unzip命令 语法:unzip [选项] 压缩文件名.zip 各选项的含义分转载 2013-03-24 17:03:04 · 750 阅读 · 0 评论 -
Sed和AWK入门教程之AWK篇
http://blog.csdn.net/hitlion2008/article/details/9247733AWK是一门专门用于文本处理的编程语言.是的,它是编程语言,它的目的仅有文本处理,所以你不能用它写系统软件,或者做科学计算(当然,它也能做数学计算),它只能用于文本处理.与sed不同,AWK具有编程语言的特性,有内置函数,有逻辑语句,有输入输出语句,其实它看起来很像C语言转载 2013-07-12 10:38:10 · 485 阅读 · 0 评论 -
Sed与AWK入门教程之Sed篇
http://blog.csdn.net/hitlion2008/article/details/9247173Sed和AWK是*nix命令行里面文本处理的神器,相当的强大.它们都是面向行的,或者说它们处理文本的方式都是一行接着一行的处理,从标准输入或者文件中读取内容,一行一行的执行脚本命令,然后打印输出到标准输出,直到文件结尾(EOF).SedSed是转载 2013-07-12 10:37:42 · 593 阅读 · 0 评论 -
major=$(awk "\\$2==\"$module\"正确理解
major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices) major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)正确理解导语: 这条语句来自O’REILLY 《LINUX设备驱动第三版》字符设备章节的自动转载 2013-11-25 15:18:07 · 1227 阅读 · 0 评论 -
强大的vim配置文件,让编程更随意
http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包转载 2014-01-06 21:58:50 · 651 阅读 · 0 评论 -
转义字符的使用
1. 双引号,例如正则表达式中的?符号依然会保留其特殊含义,这种情况下表示匹配前一个字符0个或者1个。如果要表示问号字符,就需要转义;2. 单引号,特殊字符会丢失其特别的意义,如果需要使用正则表达式中的?符号匹配前一个字符0个或者1个,这时就需要添加转义符号恢复其特殊的含义;原创 2013-03-04 13:22:57 · 629 阅读 · 0 评论 -
shell基础二十篇
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=452942编者按:由 wingger 整理的 shell基础十二篇 以及L_kernel补充的第十三——二十篇,涉及shell 编程及使用的各个方面,又附有大量的例子,极适合初学者系统学习。如果配合網中人的shell 十三問? ,效果更加明显。这里是其中的第十章转载 2013-02-19 11:03:37 · 1866 阅读 · 0 评论 -
高级Bash脚本编程指南
http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/abs-3.9.1_cn/html/index.html高级Bash脚本编程指南一本深入学习shell脚本艺术的书籍Mendel Cooperthegrendel@theriver.com>春敏 杨 -毅 黄 -3.9.12006年5月2转载 2013-02-19 10:59:45 · 971 阅读 · 2 评论 -
shell script学习笔记2
bash中的变量都是无类型的,可以通过declare来声明int型变量$0, $1, $2 .... $9, ${10}, ${11}, ...如果参数超过9个,那就需要用${10}的方式$#参数数目$*, $@参数集合${!#}最后一个参数整数比较-eq, -ne, -gt, -ge, -lt, -le, 如 if [ "$a" -e原创 2012-10-12 15:44:53 · 358 阅读 · 0 评论 -
shell script学习笔记3
内部变量$BASH 指向/bin/bash$FUNCNAME 指向当前的函数名字$GROUPS 当前用户的组$HOME 用户home目录$IFS 内部域分隔符,这个变量用来决定Bash在解释字符串时如何识别域,或者单词边界默认是空白(空格,tab和新行),但是可以修改;与awk中的FS分隔符是一样的;$LINENO 当前语句在scripts中的行号$PPID 一个进原创 2012-10-12 15:50:23 · 373 阅读 · 0 评论 -
shell script学习笔记4
间接引用a=letterletter=zecho "$a" # lettereval a=\$$a echo "$a" # z在Bash 2中引入了这样的形式,echo ${!a}$RANDOM # 每次调用会返回一个不同的随机数set set用于在scripts内部给出其运行参数set hello worldecho $1 # hell原创 2012-10-12 15:54:23 · 329 阅读 · 0 评论 -
shell script学习笔记5
wait停止脚本的运行,直到后台运行的所有作业停止为止(或者是特定任务号,进程号)xargsxargs的默认命令是echo,意味通过管道传来的输入通过xargs命令处理后,换行和空白都将被空格替代xargs -i用法: ls *.txt | xargs -i cp ./{} target_dir/ 等效 cp *.txt target_dir/basename从原创 2012-10-12 15:57:47 · 391 阅读 · 0 评论 -
shell script学习笔记6
如何将文本添加到文件开头?(>>可以添加到结尾)echo "I want to be the first one" | cat - file.txt > file.txt测试变量是否是整数?1)正则表达式来匹配2)test "$1" -ne 0 -o "$1" -eq 0 2>/dev/nullif [ $? -eq 0 ]then echo "i原创 2012-10-12 16:11:15 · 380 阅读 · 0 评论 -
fg命令
fg命令可以把一个在后台运行的作业放到前台来运行。而bg命令将会重新启动一个挂起的作业,并且在后台运行它。如果使用fg或者bg时没有指定作业号,那么默认对当前正在运行的作业做操作。例如$ sleep 1000 &[1]+ Running sleep 1000 &$ fg 1sleep 1000 # 当前进程$ ctrl+z[1]+ Stopped sle原创 2012-10-12 15:55:47 · 876 阅读 · 0 评论 -
find命令 如何排除某个目录
find . -path ./src/emacs -prune -o -print -a -o和 && || 一样都有短路性;实际可以理解为这样(find condition1 && -prune || -print) find . -path ./src/emacs -a -prune -o -print, 如果find . -path ./src/emacs返回真(就是找到的内容匹配原创 2012-11-25 16:29:49 · 10160 阅读 · 0 评论 -
linux的ln命令
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –转载 2012-11-24 15:39:56 · 484 阅读 · 0 评论 -
[sed] linux sed 批量替换字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`解释一下:-i 表示inplace edit,就地修改文件-r 表示搜索子目录-l 表示输出匹配的文件名这个命令组合很强大,要注意备份文件。转载 2014-02-11 15:03:10 · 824 阅读 · 0 评论