L23 shell基础知识(一)

来源:互联网 发布:java趣味编程100例下载 编辑:程序博客网 时间:2024/06/06 11:23

主要内容

1 shell介绍

2 命令历史

3 命令补全和别名

4 通配符

5 输入输出重定向

1 shell介绍

shell简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。

回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

linux发布版本(Redhat/CentOS)系统默认安装的shell叫做bash,即Bourne Again Shell,它是sh(Bourne Shell)的增强版本。Bourn Shell 是最早行起来的一个shell,创始人叫Steven Bourne,为了纪念他所以叫做Bourn Shell,检称sh。

2 命令历史

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

使用命令cat /root/.bash_history查看。

命令history –c可以清空当前Linux终端的命令,但之前保存在.bash_history中的命令不会清空。只有推出当前终端才会保存进去本次打开终端敲的命令。

使用vi /etc/profile可以改最大存储命令1000到你想要的数字。

用一下命令查看历史命令的时间:

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

echo $HISTTIMEFORMAT

history

这时如果关闭当前终端再打开就不能生效了。、

可以把这行命令写入/etc/profile

这时运行source !$ 就永久生效了。

!! 连续两个 '!', 表示执行上一条指令;

!n 这里的n是数字,表示执行命令历史中第n条指令

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

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

3 命令补全和别名

按tab键,补全一个指令,也可以补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。

安装yum install -y bash-completion

可以更好的补全指令

别名alias

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

alias语法很简单, alias [命令别名]=['具体的命令']

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

使用vi .bashrc查看系统alias

切换到/etc/profile.d目录可以看到以下文件,打开任意一个可以看到里面的alias

4 通配符

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

? 匹配一个字符:ls ?.txt

匹配数字0-9,ls [0-9].txt

匹配任意数字,ls {1,2}.txt

5 输入输出重定向

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

把1.txt输入到2.txt中:cat 1.txt>2.txt

追加:cat 1.txt>>2.txt

查看文件的行数

原创粉丝点击