3 命令别名与历史命令

在早期DOS年代,可以使用 cls 清楚我们屏幕上的信息,但是在Linux当中使用的是 clear 清楚画面。那么我们可不可以让cls等于clear呢?在Bash当然可以,这样的操作成为 命令别名,我们输入的每一条指令都会被记录下来,成为 历史命令

3.1 命令别名配置:alias unalias

命令别名的意思就是:将系统存在的命令赋予新的别名,可以一同使用
一般在一下几种情况会用到我们的命令别名:

(1)管用命令特别长的时候:

举个例子来说,让我们要查询隐藏的文档,并且需要长的列出一页一页的翻看,那我们下达的命令为 ls -al | more , 每次都这样输入真的很麻烦,那我们可以通过 命令别名进行配置

# 例子1:使用alias简洁命令
[tanzitao@node03 ~]$ alias lm='ls -al | more'  <-- 雀食节省了很多的空间

(2)可以预防我们误操作:

我们经常会去删除文件等,可能我们有时候脑子一抽就把整个文件夹里的所有文件都删除了

# 例子2:使用alias预防误操作
[tanzitao@node03 ~]$ alias rm='rm -i'       <-- 这样设置后每次删除都会询问再次确认删除

(3)查看我们所有的命令别名

# 例子3:alias查看所有的命令别名
[tanzitao@node03 ~]$ 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'              <-- vi和vim 不太一样 vim可以额外做一些语法检测和颜色显示,默认的root是单纯使用vi而已
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'# 可以看到系统内置了许多的命名别名

(4)取消命令别名

    # 例子4:unalias取消命令别名[tanzitao@node03 ~]$ rm 123.txt                 <-- 保留例2中的别名rm: remove regular empty file '123.txt'? yes    <-- 删除前需要用户确认[tanzitao@node03 ~]$ unalias rm                 <-- 使用unalias取消命名[tanzitao@node03 ~]$ rm 456.txt                 <-- 直接删除,没有询问

3.2 历史命令:history

在bash当中提供有命令历史的服务,可以查询我们曾经下达过的命令,使用 history 就可以完成操作,不过这里我们先用命令别名简化下我们的命令

[tanzitao@node03 ~]$ alias h='history'              <-- 命令别名 活学活用[tanzitao@node03 ~]$ history [n]
[tanzitao@node03 ~]$ history [-c]
[tanzitao@node03 ~]$ history [-raw] histfiles
选项与参数:
n   :数字,意思是『要列出最近的 n 笔命令行表』的意思!
-c  :将目前的 shell 中的所有 history 内容全部消除
-a  :将目前新增的 history 命令新增入 histfiles 中,若没有加 histfiles ,则默认写入 ~/.bash_history
-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
-w  :将目前的 history 记忆内容写入 histfiles 中!

(1)使用history查看所有的历史

# 例子1:列出目前内存的所有history记忆 注意!当前内存[tanzitao@node03 ~]$ h
...                         <-- 前面省略
159  history
160  alias h='history'
161  h                      <-- 当前命令

列出的信息信息当中一共有两行:
第一行:命令所在当前shell当中为第几个命令
第二行:命令本身

(2)使用history n查看进n调命令

# 例子2:列出近5条命令
[tanzitao@node03 ~]$ h 5
158  rm 456.txt
159  history
160  alias h='history'
161  h
162  h 5

(3)使用history -w写入数据

# 例子3:立刻将当前数据写入histfile当中
[tanzitao@node03 ~]$ h -w               <-- 默认会写入到 "./bash_history"当中
[tanzitao@node03 ~]$ echo $HISTSIZE     <-- 查看HISTESIZE最多保留多少条记录
1000

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

  • 当我们以 bash 登录 Linux 主机之后,系统就会自动的调动文件 ~/.bash_history 读取曾经的命令,至于命令的数量就有 环境变量 HISTFILESIZE 决定了

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

  • 当然,也可以用 history -w 强制立刻写入的,但是 ~/.bash_history 记录的笔数永远都是 HISTFILESIZE 那么多,旧的信息会被主动的拿掉, 仅保留最新的

(4)"!"命令的使用

[tanzitao@node03 ~]$ !number
[tanzitao@node03 ~]$ !command
[tanzitao@node03 ~]$ !!
选项与参数:
number  :运行第几笔命令的意思;
command :由最近的命令向前搜寻『命令串开头为 command』的那个命令,并运行;
!!      :就是运行上一个命令(相当于按↑按键后,按 Enter[tanzitao@node03 ~]$ h 5
192  alias h='history'
193  h
194  h 5
195  h 3
196  h 5
[tanzitao@node03 ~]$ !194  <-- 运行第194的命令
[tanzitao@node03 ~]$ !!    <-- 运行上一个命令
[tanzitao@node03 ~]$ !h    <-- 运行最近一 al 为开头的命令

Linux的Bash——(三)命名别名与历史命令相关推荐

  1. linux bash gt,linux之bash的基础特性(一)--gt;命令历史(history命令),命令补全,路径补全...

    关于命令历史-->history 1.与之相关的环境变量:HISTSIZE,HISTFILE-->~/.bash_history,HISTFILESIZE,HISTCONTROL,HIST ...

  2. bash功能特性二 命令别名和历史命令

    一.历史命令 bash提供存储历史命令的功能,下面来详细介绍一下. 1.history命令 命令格式:history [options] options: 不带参数选项:显示所有使用过的命令: #(数 ...

  3. Linux基础——bash基础应用及文件系统基础命令

    (一).命令别名 alias用于获取当前用户可用的别名定义 [root@localhost ~]# alias alias cp='cp -i' alias egrep='egrep --color= ...

  4. 【Linux】命令别名与历史命令(alise\history)

    1. 命令别名(alise) 这个指令可以预防一些不小心误杀文件的情况发生,我们知道 root 可以移除 (rm) 任何数据!所以当你以 root 的身份在进行工作时,需要特别小心, 但是总有失手的时 ...

  5. Linux学习(三):管道相关命令

    学习目标 熟练掌握以下命令 1.cut 2.sort 3.wc 4.uniq 5.tee 6.tr 7.split 8.awk 9.sed / grep 熟练掌握以下命令 1.cut 准备工作 成绩表 ...

  6. 每天一个新知识之LInux的Bash

    文章目录 一.Bash的模式 二.Bash常用快捷键 三.Bash的标准输入输出 四.Bash的输入输出重定向 1.输出重定向 2.输入重定向 五.多命令的顺序执行 六.管道符 七.Bash中的通配符 ...

  7. Linux中bash

    1 查看可以使用的shell 2 查看命令是内置还是外部 3 shell变量 3.1 变量的显示: 3.2 变量的设置 3.3 变量取消 3.4 环境变量 3.5 自定义变量转环境变量 3.6 变量从 ...

  8. Linux提升系统安全性:历史命令 HISTSIZE

    在Linux中Shell环境的命令历史机制为用户提供了极大的便利,同时也给用户带来了潜在的风险.只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意中服 ...

  9. Linux下批量重命名文件

    Linux下批量重命名文件 通过rename命令批量重命名文件 基本语法 示例 1. 改变文件扩展名 2. 大写改成小写 3. 更改文件名模式 通过rename命令批量重命名文件 基本语法 renam ...

最新文章

  1. 洛谷P3374 【模板】树状数组 1(Python和C++代码)
  2. [PAL编程规范]SAP HANA PAL多项式回归预测分析Polynomial Regression编程规范FORECASTWITHPOLYNOMIALR(预测)...
  3. 中兴zxr10路由器重启命令_蒲公英路由器刷第三方固件(一)
  4. CodeSmith 5.0工具实例篇系列4——根据表生成修改的存储过程,针对MS Sqlserver
  5. 水泵怎么做_暖通空调|水泵出入口阀门及相关基础知识
  6. 接口进阶 java 1614956772
  7. formidable上传文件时出错EXDEV, rename.....
  8. 基于JAVA+SpringMVC+MYSQL的苗木销售系统
  9. 抽象高于实现 ——unity框架提取
  10. 使用 vsftpd 服务传输文件
  11. js获取当前url的ip+端口
  12. 金山词霸java接口_使用金山词霸API做翻译(c语言实现)
  13. 百度地图API(WEB端/JavaScript API)--实际运用与扩展
  14. 微软反linux广告图片,一张地铁站“前程无忧广告”的图片引发网友热议 官方:虚假图片...
  15. spring boot 源码解析52-actuate中MVCEndPoint解析
  16. 腾讯域名申请、腾讯备案以及公安备案过程记录
  17. js获取指定字符后面的字符
  18. 从零搭建FPGA区块链运算机——ASIC、GPU、FPGA对比
  19. 嵌入式系统开发,不用Linux的理由 !
  20. python做什么最赚钱农村_Python数据可视化:啥是佩奇

热门文章

  1. 转载:美国小学生作文:一篇让中国式教育震撼的文章
  2. Sql Server 脚本截取字符串
  3. 将数字转换成大写字母
  4. 大型机操作系统与残留到现代的古老技术
  5. 认识GPL/LGPL
  6. 考试服务器系统安装,普尔文考试系统安装指导.doc
  7. 计算服务器Centos 7.9 配置torque 6.1.2 单服务器
  8. python装饰器特性iy雾_扣丁学堂简述Python 装饰器装饰类中的方法
  9. js 汉字转换成拼音 转载
  10. windows桌面图标显示为白色解决方案