Linux之history、tab、alias、命令执行顺序、管道符以及exit

目录

Linux之history、tab、alias、命令执行顺序、管道符以及exit

history历史命令

格式

参数

修改默认记录历史命令条数 

案例

        案例1 --- 显示history历史记录中出现次数最高的top10

        案例2 --- 增加history显示的时间信息

命令与文件名补全 --- tab

命令别名 

格式

案例

注意

命令执行顺序

顺序执行

前面命令执行不成功,后面的命令不执行

管道符

符号

案例

exit退出程序

作用

格式

状态码

常见状态码

案例


Linux之history、tab、alias、命令执行顺序、管道符以及exit

history历史命令

格式

        history [参数] [历史命令保存文件]

参数

        

参数 作用
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件。如果不手工指定历史命令保存文件,则放入默认历史命令保存文件~/.bash_history 中

修改默认记录历史命令条数 

[root@localhost ~]# vim /etc/profile

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第1张图片

案例

        案例1 --- 显示history历史记录中出现次数最高的top10

 [root@localhost ~]# history | tr -s " " | cut -d " " -f3 | sort | uniq -c |sort -nr | head -10

浏览命令 | 压缩为1个空格 | 截取以空格为分割的第3部分 | 排序 | 统计并去重 | 降序数字排序| 显示前10个

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第2张图片

        案例2 --- 增加history显示的时间信息

[root@localhost ~]# vim ~/.bashrc    # 定位最后一行增加一行内容
export  HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S: "

[root@localhost ~]# source ~/.bashrc    # 刷新配置
[root@localhost ~]# history 

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第3张图片

命令与文件名补全 --- tab

命令别名 

格式

        alias 别名=原命令

案例

[root@localhost ~]# alias hi=history

[root@localhost ~]# hi

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第4张图片

注意

        别名的优先级比命令高

第一顺位:执行用绝对路径或相对路径执行的命令。
第二顺位:执行别名。
第三顺位:执行 Bash 的内部命令。
第四顺位:执行按照 $PATH 环境变量定义的目录查找顺序找到的第一个命令。

        为了让这个别名永久生效,可以把别名写入环境变量配置文件“~/.bashrc

[root@localhost ~]# vim ~/.bashrc 

# 在最下面增加

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第5张图片

命令执行顺序

顺序执行

        命令1 ; 命令2

[root@localhost ~]# date ; ls -l /etc/passwd

前面命令执行不成功,后面的命令不执行

        命令1 && 命令2

[root@localhost ~]# mkdir /mnt/iso && mount /dev/sr0 /mnt/iso

前面命令成功,后面就不执行,如果前面不成功后面就执行

        命令1 || 命令2

[root@localhost ~]# mkdir tt || ls /

[root@localhost ~]# mkdir tt || ls /    # 可以再次执行

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第6张图片

管道符

        当在两个命令之间设置管道时,管道符|左边命令的输出就变成了右边命令的输入。只要第一个命令向标准输出写入,而第二个命令是从标准输入读取,那么这两个命令就可以形成一个管道

符号

         命令1 | 命令2

案例

        提取系统网卡的IP地址

[root@localhost ~]#  ip  a  |  grep  ens160 | grep  inet | tr -s " " | cut -d  / -f1 | cut -d " " -f3

显示IP信息 | 行向过滤包含ens60 | 行向过滤inet | 压缩为一个空格 | 以/为分割依据,取第一部分 | 以空格为分割依据,取第3部分

        显示主机内存剩余容量

[root@localhost ~]# free -h |grep Mem | tr -s " " | cut -d " " -f4

exit退出程序

作用

        终止Shell程序的执行

格式

        exit 状态码

状态码

        该参数是一个整数值,其取值范围为0~255

注意:

        Shell程序的退出状态码储存在系统变量$?中,因此,用户可以通过该变量取得Shell程序返回给父进程的退出状态码

常见状态码

	0----------------命令运行成功
    1----------------通知未知错误
    2----------------误用shell命令
    126-------------命令不可执行
    127-------------没有找到命令
    128-------------无效退出参数
    128+x-----------linux信号x的严重错误
    130--------------命令通过Ctrl+C终止
    255--------------退出状态码越界

案例

        演示在不同的情况下,程序返回不同的状态码

[root@localhost ~]# echo "china"
[root@localhost ~]# echo $?

[root@localhost ~]# ehco "china"
bash: ehco: command not found...
Similar command is: 'echo'
[root@localhost ~]# echo $?

Linux之history、tab、alias、命令执行顺序、管道符以及exit_第7张图片

你可能感兴趣的:(Rhce,linux,运维)