您的位置:首页 > 运维架构 > Shell

linux学习笔记-第十一课-shell基础

2015-04-11 00:26 330 查看
1、历史命令(history↓、↑、!
history的默认值是1000,该值在/etc/profile中指定
命令history,用来查询最近命令历史记录;
使用方向键(↑)可以查询上一个命令;
使用方向键(↓)可以查询下一个命令;
感叹号(!!)可以重新执行最近执行的命令;
在(!)后面输入要查询命令的首字符或者字符串,可以搜出符合该字符串的最近的命令;
(!n)代表执行history命令中标记的第n条命令(注:n也可以为负数,如!-2代表执行倒数第二个命令);
(!#)可以执行2次命令

2、键盘上的(tab)可以进行命令或者文件路径的补全

3、别名(alias)
别名用户自定义的指令缩写形式
alias用来查询所有的别名
创建别名:
格式:alias [别名]='需要执行的命令'
例如:alias ls='ls --color=auto --time-stye=long-iso'
删除别名:
格式:unalias 别名

4、通配符(元字符)
(.) 匹配一个字符,包括空格
(?) 匹配一个字符
(*) 匹配0个以上的字符
([]) 匹配中括号内任意的一个字符
(\) 脱义符,用字符本身的意思进行解析
(|) 管道符,将管道前面的命令输出的结果,传给管道后面的命令作为参数

5、I/O重定向
> 用于输出重定向
>> 用于追加输出重定向

标准I/O 文件描述符数字
标准输入(stdin):键盘 0
标准输出(stdout):显示器 1
标准错误(stder):显示器 2
2>&1 表示将标准错误(2)也传递到标准输出(1)传递的位置,&表示在后台执行当前命令;

< 用于标准输入

6、作业控制
ctrl+z 暂停命令
jobs 在当前shell中显示自己的进程
bg 向后台传送进程
fg 向前台传送进程

7、变量
变量分类:全局变量、局部变量和环境变量
查看变量的命令:env或者set(可以列出shell中未声明的自定义变量)
变量的命名:变量名可以由字母、数字或者下划线组成,但是不能以数字开头;
定义变量
变量名=变量值
注:“=”的两侧不能有空格,变量值中如果包含空格等符合需要使用双引号括起来;
自定义的变量只在当前的shell中生效,如果想要其子shell中也生效定义的变量需要使用export命令进行声明;
格式:变量名=变量值 ; export 变量名
或者
export 变量名=变量值
变量的引用;例如:value=11;echo $value
取消变量:unset 变量名

/etc/profile:初始化系统全局shell变量
/etc/bashrc:定义用于shell函数和别名的系统全局变量
~/.bash_profile:用户个人的环境设置文件
~/.bashrc:用户个人的别名及变量设置文件
~/.bash_logout:系统退出设置文件

source命令:立即适用shell环境设置文件。也可以用 “.” 。

引用符号
说 明
双引号
除美元符号、单引号、反引号和反斜线之外,其他所有的字符都将保持字面意义
单引号
所有字符都讲保持字面意义
反引号
引号中的字符串将被解释为shell命令
反斜线
转义字符,屏蔽字符的特殊意义
8、常用的文本处理命令
1)命令cut用于选取文本列
格式:cut [选项] [文件]
选项:-c :指定字符
-d :指定分隔符
-f :指定要选择的字段

2)命令sort用于文本的排序
格式:sort [选项] [文件]
选项:-t:指定字段分隔符
-u:删除重复的行
-k:自定义关键字
-d:根据字典顺序排序
-n:根据算数值进行比较
-r:逆向排序

3)命令wc产看文件统计信息
格式:wc [选项] [文件]
选项:-l:统计文件的行数
-w:统计文件的单词数
-c:统计文件的字节数
-L:统计文件中最长的行的长度

4)命令uniq文本去重
格式:uniq [选项] [文件]
选项:-c:统计重复行出现的次数
-d:显示文件中有重复的行并只显示一次
-D:显示文件中所有重复的行

5)命令tr替换或删除字符
格式:tr [选项] [参数1] [参数2]
选项:-d:删除指定的字符

6)命令tee重定向并显示

7)命令split分割
格式:split [选项] [文件]
选项:-l:以行为单位
-b:以字节为单位
-d:以数字填充文件名末尾

9、使用多重指令
分号(;):用来连接多个命令,第一个命令不论是否成功,都执行第二个命令
符号(&&):当第一个命令正常执行,才执行第二个命令
符号(||):当第一个命令执行失败,才去执行第二个命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息