Linux 中的命令别名和历史命令

命令别名

在 Linux 中,可能有相当长的时间我们都要跟 bash 打交道,也就是说我们需要在 bash 上键入大量的命令。但是命令加上选项参数可能会变得很长,此时可能就需要将相同的部分合并为一个命令,再加上后方特异性的部分,从而形成一个完整的命令。而合并的命令就被称作命令别名。

命令别名的命令也很简单:

alias new_cmd='old_cmd'

也就是说通过上边的命令就能够将又臭又长的 "old_cmd" 给简写为 “new_cmd”。

比如当前的工作路径中存在一个可执行文件 exe,如果想要在任何地方都能够对该文件进行调用,就可以使用命令:

alias exe="${PWD}/exe"

 此时在任何目录下输入 exe 都会调用该文件。

其实平常使用的很多命令都是采用了命令别名的形式:

wood@ubuntu:~$ type -a ll
ll is aliased to `ls -alF'
wood@ubuntu:~$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

上面表示平常使用的 ll 和 ls 命令都是采用了命令别名的形式。

如果需要撤销命令别名的设置,则使用:

unalias cmd

历史命令

在 bash 中,我们通常会使用上下方向键来选择曾经执行过的命令,这就是 bash 中的历史命令功能。

但同时,我们不仅仅能够使用上下方向键来选择命令,还能够使用命令 history,命令形式为:

history [n]
history [-c]
history [-raw] histfiles

参数含义为:

  • n:数字,表示列出最近的n条命令
  • -c:将目前的 shell 中的所有 history 内容清空
  • -a:将目前新增的 history 命令新增到 histfiles 中,如果没有加 histfiles,则默认写入 ~/.bash_history
  • -r:将 histfiles 的内容读到目前这个 shell 的 history 记录中
  • -w:将目前的 history 内容写入 histfiles中

对于历史命令,通常情况下,当打开 bash 后,系统会自动从 home 目录中的 ~/.bash_history 读取历史命令。其中该文件中记录历史命令条目个数的多少取决于 HISTFILESIZE 值。

在历史命令中,还存在以 ! 卡头的特殊命令:

!number                 // 执行第几条命令
!command                // 从最近的命令开始往上查找开头为 command 的命令,并执行
!!                      // 执行上一个命令

当同时使用多个 bash 的时候,历史命令的保存则与 bash 的注销也可以说是关闭有关,因为 ~/.bash_history 文件只有当 bash 被注销时才会被更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值