Linux之Bash别名与历史命令

承接上一章

命令别名的设置与取消 alias unalias

命令别名可以为自己经常使用到的命令自定义,更改为自己喜欢的名称,也就是定制化,很神奇哦,特别是当你惯用指令特别长的时候,举个例子来说,如果你需要查看隐藏文件,并且一页一页的翻看,就需要指令"ls -al | less"对于懒癌症患者来说,太长了,不想敲,毕竟懒是程序员追求的最高境界吗,你可以自定义来简化

Linux之Bash别名与历史命令

这就是别名的意义,刚开始使用的时候不是很习惯,习惯了感觉来到了一个新的世界.

除此之外,相信大多数人都或多或少经历或者亲自"体验"过 rm -rf /* 血案,是不是勾起你惨不忍睹的回忆了.alias可以帮你

alias rm="rm -i"

以后使用rm的时候会提醒你是否删除,给你一个挽回血案发生的机会,这样就不会误删了

查看当前终端有哪些别名 直接下达指令alias即可

Linux之Bash别名与历史命令

如何取消别名呢

unalias命令 如果想要取消刚才的lm别名,执行unalias lm即可

历史命令:history

前一章提过bash提供命令记忆功能,如何查询历史命名呢,有两种方式,一种是查看 ~/.bash_history 文件,不过这里看到的历史命令是前一次登陆之前的,还有一种方式是执行history命令,什么?history命令太长?alias h="history"

history用法:

history [n] history[-craw]

n:是列出最近几笔命令的意思

-c: 是将shell中所有的history 内容全部清除(有效防止黑客攻击)

-a: 将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,

则默认写入 ~/.bash_history

-r: 将 histfiles 的内容读到目前这个 shell 的 history 记忆中;

-w: 将目前的 history 记忆内容写入 histfiles 中!

示例 :

列出最近3笔记录:history 3

立刻将目前的记录写入到histfile中: history -w

history不只是让我们查询使用还可以执行历史命令

!number :number 是执行第几个指令的意思

!command 执行最新的指令开头为command的指令

!! 执行上一个指令

同一个账号多次登录history写入问题

有些朋友在练习 linux 的时候喜欢同时开好几个 bash 接口,这些 bash 的身份都是 root 。 这样会有 ~/.bash_history 的写入问题吗?想一想,因为这些 bash 在同时以 root 的身份登陆, 因此所有的 bash 都有自己的 1000 笔记录在内存中。因为等到登出时才会更新记录文件,所以啰, 最后登出的那个 bash 才会是最后写入的数据。唔!如此一来其他 bash 的指令操作就不会被记录下来了 (其实有被记录,只是被后来的最后一个 bash 所覆盖更新了) 。


分享到:


相關文章: