加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向

发布时间:2020-12-15 09:16:46 所属栏目:安全 来源:网络整理
导读:shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。在计算机硬件之间还有一层东西――系统内核。如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑。至于shell,把它比作人的五官似乎更贴切些。言归正传,用户直接面

shell介绍

shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。在计算机硬件之间还有一层东西――系统内核。如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑。至于shell,把它比作人的五官似乎更贴切些。言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作。


Red Hat/CentOS默认安装的shell版本是bash(即Bourne Again Shell),它是sh(BourneShell)的增强版本。BourneShell是最早流行起来的一个shell版本。其创始人是StevenBourne,为了纪念他而将其命名为BourneShell,简称sh。




命令历史

我们执行过的命令Linux都会记录,预计可以记录1000条历史命令。这些命令保存在用户的家目录的.bash_history文件中。但需要注意的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

[root@localhost ~]# history

0eebd83bb2c9d66074be16b227ee1daf.png-wh_

echo $HISTSIZE 查看目前可以保存多少条历史命令

history -c 清空内存中的历史命令。而./root/.bash_history中的历史命令还在。

5d833d614f54c261c9585c07c20b151b.png-wh_


通过vi /etc/profile中 更改HISTSIZE的数值可以更改历史命令条数。

b6152ab95dd0b86d8bb43a0003a426af.png-wh_

需重启或执行source /etc/profile 生效,再查看变为5000了。

94fd70476962f54a733f05f750541005.png-wh_


记录命令运行时间

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

20342229598584b98d34ef477b048a6d.png-wh_

现在可看到命令执行的时间了。


但只是临时生效,如果换一个终端或重启终端后失效,要永久生效,需要将HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" 命令添加到/etc/profile 文件中。

61d15971f7ae46e83a21463decd18115.png-wh_

永久保存输入的命令历史

给文件加上隐藏权限a(只能追加,不能删除修改。)

chattr +a /root/.bash_history


与命令历史相关的特殊字符:

!!:连续两个!表示执行上一条命令。

beed0f5694d71dde16ff945106c7013e.png-wh_


!n:n表示数字,表示执行命令历史中的第n条命令。例如,!15

a2385658c85c90c249134ee309d57188.png-wh_


!字符串: 例如!cd表示执行命令历史中最近一次以cd开头的命令

a8ad3ca29ebb63b9b3f7b556d1c6584d.png-wh_


命令补全

按tab键可以帮我们补全一个指令、一个路径或者一个文件名。连续按两次tab键,系统则会把所有的命令或者文件名都列出来。当前仅仅支持命令补全,参数是不支持补全的。

6c74d4a621ccfd7b8e0f4a1747b01912.png-wh_





别名

通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令。输入alias查看哪些命令用了别名。

850d0225b0eb11c0cbdef2f0a98e019b.png-wh_


alias 命令别名='具体命令' 自定义命令的别名

49c71adffb04fe76e66efad82cd4ee38.png-wh_


unalias可以解除别名功能

d5f5605482be4b33c53ea9cca6d61947.png-wh_





通配符

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

e62b10e85aa07d3f147c3ed5cfcfcf3e.png



输入输出重定向

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

c4490106280eab756e4199377dbb6fea.png-wh_


j_0035.gif

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读