Chinaunix首页 | 论坛 | 博客
  • 博客访问: 332428
  • 博文数量: 72
  • 博客积分: 1730
  • 博客等级: 上尉
  • 技术积分: 743
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-27 18:49
文章分类

全部博文(72)

文章存档

2012年(72)

我的朋友

分类: 系统运维

2012-08-29 13:32:20

Linux学习笔记(三)——Shell脚本基础总结 2012-03-27 06:56:00     我来说两句        [字体: ]

1.      vi编辑器快捷键备忘
         [Ctrl]+[ud]         向上/下移动半页
         n          右移n个字符
 
         H/M/L                移动到屏幕最上方/中央/最下方一行
         u   [Ctrl]+r     复原和重做
         .(点)                   重复前一个动作
         :e!                       将文件还原到最原始状态
         [Ctrl]+v              块选择

2.      Bash Shell基础
         env            环境变量
         set             环境变量和其他变量
         export      使变量变成环境变量,在子程序中生效
         read          -p      后接提示字符, -t         等待秒数
         declare     声明变量的属性
                            -a      定义为数组
                            -i       定义为整数数字
                            -x      同export,变成环境变量
                            -r      只读属性
         history      查看历史命令
         /etc/issue         终端接口字符串(使用man issue 或 man mingetty 查看特殊代码的意思
         /etc/motd         用户登录后获取消息
         系统设置值:
                  /etc/sysconfig/i18n          语系数据
                   /etc/profile                         PATH、USER、MAIL、HOSTNAME、HISTSIZE、umask等重要变量,规定读取其他文件,如/etc/profile.d和 /etc/inputrc等
         登陆Shell:
         用户登录系统时所取得的那个shell,对应于/etc/passwd里面的最后一项数据。比如,我想让用户atom登陆后直接打开vi,则在/etc/passwd里atom对应的那一行最后的一项内容改为/usr/bin/vi就行了。

3.      Linux常用文本处理工具总结
         a)  cut –d ‘分隔符’ –f fields,取出以“分隔符”分割的第fields段
                   cut –c 字段范围     以字符为单位取出固定的字符范围
         b)      cat /etc/passwd | sort –t ‘:’ –k 3 –n
                   -t,分隔符,默认是tab键;-k,第几个字段;-n,使用“纯数字”排序
         c)      其他,wc [-lwm]; uniq [-ic]; tee [-a],双向重定向
         d)      字符串转换命令:tr, col, join(合并两个文件中相同的数据),paste(直接将两行贴在一起), expand(将[tab]转成空格键)
         e)      split           拆分文件
         f)       -(减号)     某些命令需要用到文件名称来处理是,stdin与stdout可以利用减号“-”来替代。

4.      awk学习总结
         awk是“以行为单位处理”,而“以字段为最小的处理单位”。
         变量名称                   代表的含义
         NF                                每一行($0)拥有的字段总数
         NR                                当前处理的是“第几行”数据
         FS                                 分隔符,默认为空格键
         可以使用BEGIN关键词预先设置awk的变量,如:
         cat /etc/passwd | awk 'BEGIN{FS=":"} $3 < 10 {print $1 "\t" $3}'
         说明:在{}的所有操作,如需多个命令,可用分号(;)分割,或者直接以[enter]按键来隔开每个命令。
5.      Shell脚本的追踪与调试
         sh [-nvx] scripts.sh
         -n      不执行脚本,仅查询语法问题
         -v      在执行脚本前,先将脚本的内容输出到屏幕上
         -x      将使用的脚本内容显示到屏幕上,便于调试
 

 
 
作者 hopezhangbo

阅读(1104) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~