命令别名与历史命令:
在 Linux 里面,使用 clear 来清除屏幕。
命令别名配置: alias, unalias
[root@www ~]# alias lm='ls -al | more'
|
[root@www ~]# alias rm='rm -i'
|
[root@www ~]# alias
alias 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'
|
vi 与 vim 是不太一样的,vim 可以多作一些额外的语法检验与颜色显示,默认的 root 是单纯使用 vi 。
[root@www ~]# unalias lm
|
例题:
DOS 年代,列出目录与文件就是 dir ,而清除屏幕就是 cls ,那么如果我想要在 linux 里面也使用相同的命令呢?
答:
alias cls='clear' |
历史命令:history
[root@www ~]# alias h='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 bash 1018 ll 1019 history 1020 history # 列出的信息当中,共分两栏,第一栏为该命令在这个 shell 当中的代码, # 另一个则是命令本身的内容! 范例二:列出目前最近的 3 笔数据 [root@www ~]# history 3 1019 history 1020 history 1021 history 3 范例三:立刻将目前的数据写入 histfile 当中 [root@www ~]# history -w # 在默认的情况下,会将历史纪录写入 ~/.bash_history 当中! [root@www ~]# echo $HISTSIZE 1000 |
在正常的情况下,历史命令的读取与记录是这样的:
- 当我们以 bash 登陆 Linux 主机之后,系统会主动的由家目录的 ~/.bash_history 读取以前曾经下过的命令,
- 假设我这次登陆主机后,共下达过 100 次命令,『等我注销时, 系统就会将 101~1100 这总共 1000 笔历史命令升级到 ~/.bash_history 当中。』 也就是说,历史命令在我注销时,会将最近的 HISTFILESIZE 笔记录到我的纪录文件当中!
- 也可以用 history -w 强制立刻写入的! ~/.bash_history 记录的笔数永远都是 HISTFILESIZE 那么多,旧的信息会被主动的拿掉! 仅保留最新的!
[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 个) |
- 同一账号同时多次登陆的 history 写入问题
同时开好几个 bash 接口,这些 bash 的身份都是 root 。 因为这些 bash 在同时以 root 的身份登陆, 因此所有的 bash 都有自己的 1000 笔记录在内存中。因为等到注销时才会升级记录文件, 最后注销的那个 bash 才会是最后写入的数据。如此一来其他 bash 的命令操作就不会被记录下来了 (其实有被记录,只是被后来的最后一个 bash 所覆盖升级了) 。
由于多重登陆有这样的问题,所以很多朋友都习惯单一 bash 登陆,再用工作控制 来切换不同工作! 这样才能够将所有曾经下达过的命令记录下来,也才方便未来系统管理员进行命令的 debug!
- 无法记录时间
历史命令还有一个问题,那就是无法记录命令下达的时间。由于这 1000 笔历史命令是依序记录的, 但是并没有记录时间,所以在查询方面会有一些不方便。如果读者们有兴趣,其实可以透过 ~/.bash_logout 来进行 history 的记录,并加上 date 来添加时间参数,也是一个可以应用的方向!
相关推荐
介绍了linux操作系统下,几种如何隐藏bash命令历史记录的方法
介绍的bash等。广义的壳程序则包括图形接口的软件!因为图形接口其实也能够操作各种应用程序来呼叫核心工作啊!不过在本章中,我们主要还是在使用 bash 啦!为何
《学习 bash 第二版(英文版)》.chm,作者:Cameron Newbam & Bill Rosenblatt。...第十一章:用户系统 bash。 附录一:相关 shell。 附录二:参考列表。 附录三:可载入命令。 附录四:语法。 附录五:获得示例程序。
Git Bash常用命令与解释
和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os....
第0章 计算机概论 第1章 Linux是什么 第2章 Linux 如何学习 第3章 主机规划与磁盘分区 第4章 安装Centos5.x 与多重引导...第11章 认识与学习BASH 第12章 正规表示法与文件格式化处理 第13章 学习Shell Scripts ........
bash命令和语法--带你升级打boss
《学习 bash 第二版》,作者:Cameron Newbam & Bill Rosenblatt。 本书教授了如何使用bash的高级命令行特性,如命令历史、命令行编辑和命令完成。
它教授了如何使用bash的高级命令行特性,如命令历史、命令行编辑和命令完成。 本书还介绍了shell编程,一种UNIX或Linux用户不可或缺的技巧,阐述了如何使用bash的编程特性完成各种功能。读者还将学习流程控制、...
影响 bash 环境操作的变量 [root@www ~]# echo $variable [root@www ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@www ~]# echo ${PATH}
一行bash命令集合的仓库
bash 入门经典 不可不看哦 bash 入门经典 不可不看哦 bash 入门经典 不可不看哦
鉴于目前绝大部分服务器因为没有注册的yum或者因不通外网等问题导致无法使用yum update -y bash 命令进行漏洞修复,如采用RPM包升级修复漏洞又存在各服务器系统有的是32位有的是64位或者bash的版本不一样导致需要...
SUDO - 通过叫喊来执行bash命令
Git Bash 常用的终端命令 .
该文档介绍了shell编程中对字符串处理的一些基本命令, 如sed, cut, awk等等
O'Relly 出版的Bash书,非常不错。
bash入门学习实例
gam是一个CLI工具,用于永久创建,更新和删除bash别名