Linux学习之十二、命令别名与历史命令

命令别名配置:alias,unalias

那么需要下达『ls-al|more』这个命令,我是觉得很烦啦!要输入好几个单字!那可不可以使用lm来简化呢?当然可以,你可以在命令行下面下达:

[root@www ~]# alias lm=’ls -al | more’

另外,命令别名的配置还可以取代既有的命令喔!举例来说,我们知道root可以移除(rm)任何数据!所以当你以root的身份在进行工作时,需要特别小心,但是总有失手的时候,那么rm提供了一个选项来让我们确认是否要移除该文件,那就是-i这个选项!所以,你可以这样做:

[root@www ~]# alias rm=’rm -i’

那么如何知道目前有哪些的命令别名呢?就使用alias呀!

[root@www ~]# aliasalias cp=’cp -i’alias l.=’ls -d .* –color=tty’alias ll=’ls -l –color=tty’alias lm=’ls -l | more’alias ls=’ls –color=tty’alias mv=’mv -i’alias rm=’rm -i’alias which=’alias | /usr/bin/which –tty-only –show-dot –show-tilde’

于如果要取消命令别名的话,那么就使用unalias吧!例如要将刚刚的lm命令别名拿掉,就使用:

[root@www ~]# unalias lm

历史命令:history

前面我们提过bash有提供命令历史的服务!那么如何查询我们曾经下达过的命令呢?就使用history啰!当然,如果觉得histsory要输入的字符太多太麻烦,可以使用命令别名来配置呢!不要跟我说还不会配置呦!^_^

[root@www ~]# alias h=’history’

如此则输入h等于输入history啰!好了,我们来谈一谈history的用法吧!

[root@www ~]# history [n][root@www ~]# history [-c][root@www ~]# history [-raw] histfiles选项与参数:n :数字,意思是『要列出最近的 n 笔命令行表』的意思!-c :将目前的 shell 中的所有 history 内容全部消除-a :将目前新增的 history 命令新增入 histfiles 中,若没有加 histfiles , 则默认写入 ~/.bash_history-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;-w :将目前的 history 记忆内容写入 histfiles 中!范例一:列出目前内存内的所有 history 记忆[root@www ~]# history# 前面省略1017 man bash1018 ll1019 history1020 history# 列出的信息当中,共分两栏,第一栏为该命令在这个 shell 当中的代码,# 另一个则是命令本身的内容喔!至于会秀出几笔命令记录,则与 HISTSIZE 有关!范例二:列出目前最近的 3 笔数据[root@www ~]# history 31019 history1020 history1021 history 3范例三:立刻将目前的数据写入 histfile 当中[root@www ~]# history -w# 在默认的情况下,会将历史纪录写入 ~/.bash_history 当中![root@www ~]# echo $HISTSIZE

1000

在正常的情况下,历史命令的读取与记录是这样的:

·当我们以bash登陆Linux主机之后,系统会主动的由家目录的~/.bash_history读取以前曾经下过的命令,那么~/.bash_history会记录几笔数据呢?这就与你bash的HISTFILESIZE这个变量配置值有关了!

·假设我这次登陆主机后,共下达过100次命令,『等我注销时,系统就会将101~1100这总共1000笔历史命令升级到~/.bash_history当中。』也就是说,历史命令在我注销时,会将最近的HISTFILESIZE笔记录到我的纪录文件当中啦!

·当然,也可以用history-w强制立刻写入的!那为何用『升级』两个字呢?因为~/.bash_history记录的笔数永远都是HISTFILESIZE那么多,旧的信息会被主动的拿掉!仅保留最新的!

那么history这个历史命令只可以让我查询命令而已吗?呵呵!当然不止啊!我们可以利用相关的功能来帮我们运行命令呢!举例来说啰:

[root@www ~]# !number[root@www ~]# !command[root@www ~]# !!选项与参数:number :运行第几笔命令的意思;command :由最近的命令向前搜寻『命令串开头为 command』的那个命令,并运行;!! :就是运行上一个命令(相当于按↑按键后,按 Enter)[root@www ~]# history 66 man rm 67 alias 68 man history 69 history[root@www ~]# !66 <==运行第 66 笔命令[root@www ~]# !! <==运行上一个命令,本例中亦即 !66[root@www ~]# !al <==运行最近以 al 为开头的命令(上头列出的第 67 个)人生最大的错误是不断担心会犯错

Linux学习之十二、命令别名与历史命令

相关文章:

你感兴趣的文章:

标签云: