一.历史命令的使用 1.history 查看历史命令 2.每个历史命令前面都有编号,紧跟history命令输入“!编号”可以重复执行该编号对应的命令 3.历史命令保存在~/.bash_histor
一.历史命令的使用
1.history 查看历史命令
2.每个历史命令前面都有编号,紧跟history命令输入“!编号”可以重复执行该编号对应的命令
3.历史命令保存在~/.bash_history中
默认保存1000条,也可以通过/etc/profile 中的HISTSIZE来设置,文件满了采用先进先出来存储,即删除第一条,保存低1001条
正常情况是要用户退出登入的时候才会将历史命令写入~/.bash_history,可以使用history -w命令将缓存中的历史命令一次性写到数据文件中
4.清除历史命令 history -c,一般不建议清除
二、linux别名的设定和使用
1.先用alias查看linux系统默认的一些别名
[root@wenhaijin ~]# aliasalias 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'[root@wenhaijin ~]#
我们平常使用ll查看当前目录列表之所以有颜色区分是因为linux真正执行的是ls -l --color=auto命令
我们执行rm的时候默认会有提示也是因为linux执行的是rm -i
2.设定和使用命令的别名
###设置aa为pwd的别名[root@wenhaijin ~]# alias aa='pwd'###执行aa即执行pwd[root@wenhaijin ~]# aa/root###使用alias查看发现刚才设置的别名已经存储到文件中[root@wenhaijin ~]# aliasalias aa='pwd'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'[root@wenhaijin ~]#
注意:
1.使用别名命令的优先级是非常高的,所以在定义别名的时候尽量避免与现有命令重名,防止该别名将现有命令覆盖(比如定义alias ls='pwd' 那么执行ls就会调用pwd命令,这样需要使用绝对路径或者相对路径才能真正调用ls来查看当前目录列表)
2.使用alias设置的别名只是临时生效,机器重启后就会失效;想要永久生效 vi /用户家目录/.bash
[root@wenhaijin ~]# vi .bashrc # .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfi~~~~".bashrc" 12L, 176C
3.使用unalias删除别名
[root@wenhaijin ~]# unalias aa[root@wenhaijin ~]# aliasalias 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'[root@wenhaijin ~]# ###从以上结果可以看出别名aa已经成功删除
3.命令执行时的优先级顺序,若用户输入的命令符合以下多种情况,则按优先级从高到低匹配
之所以我们在linux中执行命令的时候不需要写绝对路径,是因为linux能够从环境变量中查找
[root@wenhaijin ~]# echo $PATH/usr/java/jdk1.8.0_111/bin:/usr/local/mysql/bin:/usr/local/hadoop/hadoop-2.7.3/sbin:/usr/local/hadoop/hadoop-2.7.3/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@wenhaijin ~]#
linux会依次从这些环境变量路径中去查找,找到了就执行,没找到就报错
三、linux常用的bash快捷键
标蓝的快捷键是常用的快捷键,ctrl后面的字母不区分大小写