文档章节

Linux学习-命令别名与历史命令

u
 uetucci
发布于 2017/08/31 16:11
字数 1085
阅读 15
收藏 0
点赞 0
评论 0

命令别名设置: alias, unalias

alias 的定义规则与变量定义规则几乎相同”, 所以你只要在 alias 后面加上你的 {“别名”='指令 选项...' }

另外,命令别名的设置还可以取代既有的指令。例如

[dmtsai@study ~]$ alias rm='rm -i'

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

[dmtsai@study ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias lm='ls -al | more'
alias ls='ls --color=auto'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

至于如果要取消命令别名的话,那么就使用 unalias 吧!例如:

[dmtsai@study ~]$ unalias lm

历史命令:history

[dmtsai@study ~]$ history [n]
[dmtsai@study ~]$ history [-c]
[dmtsai@study ~]$ history [-raw] histfiles
选项与参数:
n :数字,意思是“要列出最近的 n 笔命令列表”的意思!
-c :将目前的 shell 中的所有 history 内容全部消除
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,则默认写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
-w :将目前的 history 记忆内容写入 histfiles 中!

范例一:列出目前内存内的所有 history 记忆
 [dmtsai@study ~]$ history
 # 前面省略
 1017 man bash
 1018 ll
 1019 history
 1020 history
 # 列出的信息当中,共分两栏,第一栏为该指令在这个 shell 当中的代码,
 # 另一个则是指令本身的内容喔!至于会秀出几笔指令记录,则与 HISTSIZE 有关!

范例二:列出目前最近的 3 笔数据
[dmtsai@study ~]$ history 3
 1019 history
 1020 history
 1021  history 3

范例三:立刻将目前的数据写入 histfile 当中
[dmtsai@study ~]$ history -w
# 在默认的情况下,会将历史纪录写入 ~/.bash_history 当中!
[dmtsai@study ~]$ echo ${HISTSIZE}
1000

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

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

  • 假设我这次登陆主机后,共下达过 100 次指令,“等我登出时, 系统就会将 101~1100 这 总共 1000 笔历史命令更新到 ~/.bash_history 当中。” 也就是说,历史命令在我登出时, 会将最近的 HISTFILESIZE 笔记录到我的纪录档当中啦!

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

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

[dmtsai@study ~]$ !number
[dmtsai@study ~]$ !command
[dmtsai@study ~]$ !!
选项与参数:
 number :执行第几笔指令的意思;
 command :由最近的指令向前搜寻“指令串开头为 command”的那个指令,并执行;
 !! :就是执行上一个指令(相当于按↑按键后,按 Enter)

[dmtsai@study ~]$ history
 66 man rm
 67 alias
 68  man history
 69 history
 [dmtsai@study ~]$ !66 <==执行第 66 笔指令
 [dmtsai@study ~]$ !! <==执行上一个指令,本例中亦即 !66
 [dmtsai@study ~]$ !al <==执行最近以 al 为开头的指令(上头列出的第 67 个)
  • 同一帐号同时多次登陆的 history 写入问题

所有的 bash 都有自己的 1000 笔记录在内存中。因为等到登出时才会更新记录文件,所 以 , 最后登出的那个 bash 才会是最后写入的数据。唔!如此一来其他 bash 的指令操作就 不会被记录下来了 (其实有被记录,只是被后来的最后一个 bash 所覆盖更新了)

  • 无法记录时间

历史命令还有一个问题,那就是无法记录指令下达的时间。由于这 1000 笔历史命令是依序记 录的, 但是并没有记录时间,所以在查询方面会有一些不方便。如果读者们有兴趣,其实可 以通过 ~/.bash_logout 来进行 history 的记录,并加上 date 来增加时间参数,也是一个可以 应用的方向。

© 著作权归作者所有

共有 人打赏支持
u
粉丝 0
博文 53
码字总数 103136
作品 0
深圳
程序员
Linux学习笔记(23)

一、shell 基础 shell是个命令解释器,提供用户和机器之间的交互 每个用户都可以拥有自己特定的shell centos7默认Shell为bash(Bourne Agin shell) 除了bash,还有zsh.ksh等 二、命令历史 ...

小新锐 ⋅ 2017/11/16 ⋅ 0

linux命令行下使用反斜杠“\”调用别名的原命令 \cp \ls

alias是shell的内置命令 可以用来设置命令的别名 如使用alias ls='ls --color=auto'设置使用ls时以彩色输出 使用alias查看当前shell设置的别名 使用unalias取消设置的别名 在命令前加上反斜杠...

李佳顺 ⋅ 05/12 ⋅ 0

linux学习5-shell编程

history 历史命令 history 选项 文件名 -c 清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件 ~/.bash+history 历史信息最多一万条 alias 别名='原命令' 别名 alias vi = 'vim' 把VI命...

劲风online ⋅ 2015/04/09 ⋅ 0

小蚂蚁学习Linux(9)——shell基础了解和bash基本功能

shell简单了解 查看当前的shell echo $SHELL 尝试第一个小脚本: vim test.sh 1 #!/bin/bash 2 echo 'i will be back'; 注意: #!/bin/bash 这一句是一定要加的,切记。 执行脚本方式: 1. 赋...

嗜学如命的小蚂蚁 ⋅ 2015/11/04 ⋅ 0

linux shell命令基础

1.命令行格式 $command [option(s)] [argument(s)] //方括号代表可选 命令名 空格 选项 空格 参数 在命令行每两个部分之间有空格分隔 每个命令行可使用的最多的命令字符数是256个 命令要区分...

junjunba2689 ⋅ 03/25 ⋅ 0

Linux 基础学习bash特性 (二)

Bash 特性 用户工作环境: root # 普通用户$ shell 子shell 可以开启多个bash 使用exit退出 命令历史 ,history HISTSIZE 命令历史大小,默认1000条 -c 清空命令历史 -d 指定删除的行号 命令保...

yw天天向上 ⋅ 2017/02/08 ⋅ 0

Day4 系统目录结构 ls命令、 文件类型 、alias命令

系统目录结构 |名称|类型|解释||:---|:-----|:-----|| /bin | 普通二进制文件 | bin是Binary的缩写,该目录下存放的是最常用的命令。| | /boot | 启动目录 | 该目录下存放的是启动Linux时使用...

杉下 ⋅ 2017/10/20 ⋅ 0

shell基础--1

shell介绍 Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。这种对话方式可以...

在也不会是我 ⋅ 01/10 ⋅ 0

Day5 系统目录结构 ls命令、 文件类型 、alias命令

系统目录结构 |名称|类型|解释||:---|:-----|:-----|| /bin | 普通二进制文件 | bin是Binary的缩写,该目录下存放的是最常用的命令。| | /boot | 启动目录 | 该目录下存放的是启动Linux时使用...

杉下 ⋅ 06/02 ⋅ 0

linux中的bash shell的特性

linux中的bash shell特性(基础) Shell也称命令行解释器,是我们对linux进行操作最直接的接触的脚本,所以说这对我们的今后的学习过程中非常重要。 当然,linux这种功能强大的操作系统,不可...

刘景宇 ⋅ 2017/10/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部