Linux Shell基础 Bash常见命令 history、alias命令以及常用快捷键

概述

 shell中常见命令history

历史纪录命令:history

命令格式如下:
[root@localhost ~]# history [选项] [历史命令保存文件]
  • -c:清空历史命令;
  • -w:把内存中的命令直接写入 ~/.bash_history 文件中

查询系统中当前用户的所有历史命令

[root@localhost ~]# history 
1 ls
2 cd /
3 ls
4 poweroff -h now
5 poweroff h now
6 poweroff
7 whereis ls
…省略部分输出…
在历史命令列表中每条命令都有编号的。历史命令默认会保存 100 条,可以通过环境变量配置文件 /etc/profile 中 HISTSIZE 进行设置,默认HISTSIZE=1000 。所有的历史命令都保存在 ~/.bash_history 文件中, 每个用户的历史命令是单独保存的,所以每个用户的家目录中都有 .bash_history 这个历史命令文件。如果某个用户的历史命令总数等于了HISTSIZE中的默认值,则会将最早的命令则被删除,新命令会变成最后一条命令。 

把内存中的命令直接写入 ~/.bash_history 文件中

当前登录操作的命令并没有直接写入 ~/.bash_history 文件中,而是保存在缓存当中的,需要等当前用户注销之后,缓存中的命令才会写入 ~/.bash_history 文件中。所以,我们在使用 history 命令查看的历史命令 和 ~/.bash_history 文件中保存的历史命令的数目是对不上的。如果我们需要把内存中的命令直接写入 ~/.bash_history 文件中,而不等用户注销时再写入,就需要使用"-w"选项。命令如下:

[root@localhost ~]# history -w
#把缓存中的历史命令直接写入~/.bash_history

清空历史命令

把缓存和 ~/.bash_history 文件中的历史命令清空。

[root@localhost ~]# history -c

历史命令的调用

1. 使用"!n"重复执行第 n 条历史命令,n为命令的编号。

2. 使用"!!"重复执行上一条命令。

3. 使用“!bash” 重复执行最后一条以bash开头的命令

4. 使用"!$" 重复上一条命令的最后一个参数。

例如:

[root@localhost ~]# cat /etc/profile
查看系统配置文件中的内容
[root@localhost ~]# vi !$
# "!$"代表上一条命令的最后一个参数,也就是/etc/profile

命令设置别名的命令 :alias

在shell脚本中命令首先会执行用绝对路径或相对路径执行的命令。其次执行别名。其次执行 Bash 的内部命令。其次执行按照 $PATH 环境变量定义的目录査找的第一条命令。

查询系统中已经存在的命令别名

[root@localhost ~]# alias
alias cp='cp -i'
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 ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

设定命令别名

[root@1ocalhost ~] # alias 别名='原命令'

为了让这个别名永久生效,可以把别名写入环境变量配置文件 ~/.bashrc 中。命令如下:

[root@localhost ~】# vi /root/.bashrc

删除别名

[root@localhost ~]# unalias 别名

Bash常用快捷键

 Bash 常用快捷键
快捷键作 用
Ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,则在想要把光标移动到命令行开头时使用
Ctrl+E 把光标移动到命令行结尾
Ctrl+C 强制中止当前的命令
Ctrl+L 淸屏,相当于 clear 命令
Ctrl+U 刪除或剪切光标之前的命令。假设输入了一行很长的命令,无须使用退格键一个一个字符地刪除, 使用这个快捷键会更加方便
Ctrl+K 删除或剪切光标之后的内容
Qrl+Y 粘贴 Ctrl+U 或 Ctrl+K 剪切的内容
Ctrl+R 在历史命令中搜索,按下 Ctrl+R 组合键之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索
Ctrl+D 退出当前终端
Ctrl+Z 暂停,并放入后台。这个快捷键涉及工作管理的内容,我们会在后续中详细介绍
Ctrl+S 暂停屏幕输出
Ctrl+Q 恢复屏幕输出
posted @ 2018-11-19 21:47  lizhouwei  阅读(462)  评论(0编辑  收藏  举报