作用:bash内建命令,管理命令历史
语法:
history [n]
不加数字默认列出内存中HISTSIZE参数设定条数的历史命令history [参数]
参数:
-c
清除目前内存中的命令记录"!"的用法:
!n
执行命令历史中的第n条命令记录(ps:"!"与"n"之间没有空格)!!
执行命令历史中的最后一条命令!$
代表上一条命令里最后一个参数!命令keywords
执行以keywords开头最后一次执行的命令配置文件:
~/.bash_history
history记录存档文件
每个用户家目录下拥有自己独立的记录文件
/etc/profile
HISTSIZE参数配置文件
用法举例:
# history是bash的内建命令
type history
history is a shell builtin
# history [n]的用法
# 记录包含查询命令本身,要留意
history 3
645 ls
646 cat .bash_history |wc -l
647 history 3
# "!$"代表最后一条命令里的最后一个参数
echo "fast" > f
echo !$
echo f
f
# "!命令keywords"执行keywords开头最后一次执行的命令
history 5
650 echo "fast" > f
651 echo f
652 history 5
653 history 3
654 history 5
!e
echo f
f
# "!!"快捷执行上一条命令
!!
echo f
f
# history"-c"参数
# 此参数只会清空内存中的history记录,并不会清空实际的.bash_history文件
history -c
history
1 history
cat .bash_history |wc -l
645
历史命令快捷键
# ctrl+r,可查询history中的关键字来查找命令
(reverse-i-search)'cat': cat .bash_history |wc -l
## 操作步骤:
# 1. 按下ctrl+r进入搜索界面
# 2. 输入命令关键字,搜索出最近执行的命令
# 3. 按下enter键执行此命令
# 4. 按左右键可编辑此命令
# 5. 按上下键可查看此命令前后输入的命令历史
作用:命令及文档名称补全
使用方法:
用法举例:
# 命令补全
# 连续按两次Tab,显示所有匹配结果
if[Tab][Tab]
if ifcfg ifconfig ifdown ifenslave ifnames ifup
# 此处依然保留原输入内容,以便继续输入
if
# 路径及文件名称补全
# 路径用Tab补全,最后文件名列出匹配结果
ls /etc/syscon[Tab]fig/net[Tab]work-s[Tab]cripts/ifcfg-[Tab][Tab]
ifcfg-eth0 ifcfg-lo
# 最后依然保留原输入内容
ls /etc/sysconfig/network-scripts/ifcfg-
作用:为命令行设置别名
语法:
alias
查询别名alias alias_cmd='command line'
添加别名配置文件: ~/.bashrc
用法举例:
# 查询alias别名
alias
alias cp='cp -i'
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'
# 临时添加alias
alias vi='vim'
which vi
alias vi='vim'
/usr/bin/vim
# 配置文件~/.bashrc,可永久配置alias
vi ~/.bashrc
******************************************************
# User specific aliases and functions
......
alias mv='mv -i'
## 新增alias,并保存退出
alias vi='vim'
......
******************************************************
# "source"或"."重新加载配置文件
source ~/.bashrc
# /etc/profile.d/目录下可以放置需要开机启动的shell脚本文件
ls /etc/profile.d/
colorls.csh glib2.csh lang.csh less.csh vim.csh which2.sh
colorls.sh glib2.sh lang.sh less.sh vim.sh