Linux的Bash——(三)命名别名与历史命令
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——(三)命名别名与历史命令相关推荐
- linux bash gt,linux之bash的基础特性(一)--gt;命令历史(history命令),命令补全,路径补全...
关于命令历史-->history 1.与之相关的环境变量:HISTSIZE,HISTFILE-->~/.bash_history,HISTFILESIZE,HISTCONTROL,HIST ...
- bash功能特性二 命令别名和历史命令
一.历史命令 bash提供存储历史命令的功能,下面来详细介绍一下. 1.history命令 命令格式:history [options] options: 不带参数选项:显示所有使用过的命令: #(数 ...
- Linux基础——bash基础应用及文件系统基础命令
(一).命令别名 alias用于获取当前用户可用的别名定义 [root@localhost ~]# alias alias cp='cp -i' alias egrep='egrep --color= ...
- 【Linux】命令别名与历史命令(alise\history)
1. 命令别名(alise) 这个指令可以预防一些不小心误杀文件的情况发生,我们知道 root 可以移除 (rm) 任何数据!所以当你以 root 的身份在进行工作时,需要特别小心, 但是总有失手的时 ...
- Linux学习(三):管道相关命令
学习目标 熟练掌握以下命令 1.cut 2.sort 3.wc 4.uniq 5.tee 6.tr 7.split 8.awk 9.sed / grep 熟练掌握以下命令 1.cut 准备工作 成绩表 ...
- 每天一个新知识之LInux的Bash
文章目录 一.Bash的模式 二.Bash常用快捷键 三.Bash的标准输入输出 四.Bash的输入输出重定向 1.输出重定向 2.输入重定向 五.多命令的顺序执行 六.管道符 七.Bash中的通配符 ...
- Linux中bash
1 查看可以使用的shell 2 查看命令是内置还是外部 3 shell变量 3.1 变量的显示: 3.2 变量的设置 3.3 变量取消 3.4 环境变量 3.5 自定义变量转环境变量 3.6 变量从 ...
- Linux提升系统安全性:历史命令 HISTSIZE
在Linux中Shell环境的命令历史机制为用户提供了极大的便利,同时也给用户带来了潜在的风险.只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意中服 ...
- Linux下批量重命名文件
Linux下批量重命名文件 通过rename命令批量重命名文件 基本语法 示例 1. 改变文件扩展名 2. 大写改成小写 3. 更改文件名模式 通过rename命令批量重命名文件 基本语法 renam ...
最新文章
- 洛谷P3374 【模板】树状数组 1(Python和C++代码)
- [PAL编程规范]SAP HANA PAL多项式回归预测分析Polynomial Regression编程规范FORECASTWITHPOLYNOMIALR(预测)...
- 中兴zxr10路由器重启命令_蒲公英路由器刷第三方固件(一)
- CodeSmith 5.0工具实例篇系列4——根据表生成修改的存储过程,针对MS Sqlserver
- 水泵怎么做_暖通空调|水泵出入口阀门及相关基础知识
- 接口进阶 java 1614956772
- formidable上传文件时出错EXDEV, rename.....
- 基于JAVA+SpringMVC+MYSQL的苗木销售系统
- 抽象高于实现 ——unity框架提取
- 使用 vsftpd 服务传输文件
- js获取当前url的ip+端口
- 金山词霸java接口_使用金山词霸API做翻译(c语言实现)
- 百度地图API(WEB端/JavaScript API)--实际运用与扩展
- 微软反linux广告图片,一张地铁站“前程无忧广告”的图片引发网友热议 官方:虚假图片...
- spring boot 源码解析52-actuate中MVCEndPoint解析
- 腾讯域名申请、腾讯备案以及公安备案过程记录
- js获取指定字符后面的字符
- 从零搭建FPGA区块链运算机——ASIC、GPU、FPGA对比
- 嵌入式系统开发,不用Linux的理由 !
- python做什么最赚钱农村_Python数据可视化:啥是佩奇