shell特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell特性相关的知识,希望对你有一定的参考价值。

  1. 记录命令历史

我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要您知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

与命令历史有关的有一个有意思的字符那就是 ‘!’ 了。常用的有这么几个应用:

1) !! 连续两个 ‘!’, 表示执行上一条指令;

[[email protected] ~]# pwd

/root

[[email protected] ~]# !!

pwd

/root

2) !n 这里的n是数字,表示执行命令历史中第n条指令,例如 !1002 表示执行命令历史中第1002个命令;

[[email protected] ~]# history |grep 1002

 1002  pwd

 1015  history |grep 1002

[[email protected] ~]# !1002

pwd

/root

history 命令如果未改动过环境变量,默认可以把最近1000条命令历史打印出来。

3) !字符串 (字符串大于等于1),例如 !pw 表示执行命令历史中最近一次以 ‘pw’ 为开头的指令。

[[email protected] ~]# !pw

pwd

/root
  1. 指令和文件名补全

最开始阿铭就介绍过这个功能了,记得吗?它就是按tab键,它可以帮您补全一个指令,也可以帮您补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。

  1. 别名

前面也出现过alias的介绍,这个就是bash所特有的功能之一了。我们可以通过alias把一个常用的并且很长的指令别名一个简洁易记的指令。如果不想用了,还可以用unalias解除别名功能。直接敲alias会看到目前系统预设的alias.

系统预设的alias指令也就这几个而已,您也可以自定义您想要的指令别名。alias语法很简单, alias [命令别名]=[‘具体的命令‘]

[[email protected] ~]# alias aming=‘pwd‘

[[email protected] ~]# aming

/root

[[email protected] ~]# unalias aming

[[email protected] ~]# aming

bash: aming: command not found

使用 unalias 命令别名 就可以把设置的别名给解除了。

  1. 通配符

在bash下,可以使用 * 来匹配零个或多个字符,而用 ? 匹配一个字符。

[[email protected] ~]# ls -d test*

test1.txt  test2  test3  test.pl  test.txt

[[email protected] ~]# ls -d test?

test2  test3
  1. 输入输出重定向

输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,另外还有错误重定向2>,以及追加重定向>>,稍后会详细介绍。

  1. 管道符

前面已经提过过管道符 “|”, 就是把前面的命令运行的结果丢给后面的命令。


本文出自 “Linux菜鸟” 博客,请务必保留此出处http://490617581.blog.51cto.com/11186315/1757840

以上是关于shell特性的主要内容,如果未能解决你的问题,请参考以下文章

Bash shell 基础特性 理论+案例详解

shell:bash基本特性

Bash shell 相关特性

Linux之bash特性

shell特性通配符输入输出重定向,命令历史

3.自学Linux之路:shell特性之三:命令历史