Linux-shell编程-bash功能

Bash 的基本功能

历史命令

历史命令的查看

命令:history  [选项]
   -c  清空历史命令
   -w  把缓存中的历史命令保存到历史命令配置文件

历史命令的调用

调用之前使用过的历史命令有以下几种办法:
 使用上、下光标键调用
 使用“!n”,重复执行第n条历史命令
 使用“!!”,重复执行上一条命令
 使用“!字符”,重复执行最近一条以此字符开头的命令

命令与文件名的补全

使用tab按钮,提供了如命令补齐、路径补齐等功能
注意:补齐功能有时候会将目录结尾处自动补上/符号,导致系统识别出现问题,从而报错。
命令别名
命令:alias 别名=’原命令 [选项]’
查看现有生效了的别名组合

[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'

别名相关配置文件(永久保存别名)
单个用户生效:~/.bashrc
所有用户生效:/etc/bashrc
:别名命令的优先级更高,如:执行ls,优先执行的ls的别名
不同类型的命令执行的顺序

    NO.1 用绝对路径或相对的方式执行命令
    NO.2 别名命令
    NO.3 bash 内置命令
    NO.4 根据环境变量定义的目录查询找到的命令

输入输出重定向

bash的标准输入输出

设备        设备文件名         文件描述符        类型
键盘       /dev/stdin             0         标准输入
显示器    /dev/stdout             1       标准正确输出
显示器    /dev/stderr             2       标准错误输出

bash的输出重定向

 类型                                 格式                    作用
标准输出重定向                      命令  > 文件            正确信息,覆盖方式写入
                                 命令   >>  文件          正确信息,追加方式写入
标准错误输出重定向                 错误命令  2>  文件        错误信息,覆盖方式写入
                                 错误命令 2>>文件           错误信息,追加方式写入
确输出和错误输出同时保存            命令 > 文件 2> &1        正确和错误信息,覆盖方式写入
                                 命令 >> 文件 2>&1       正确和错误信息,追加方式写入
                                  命令 &  > 文件        正确和错误信息,覆盖方式写入(常用)
                                 命令 &  >> 文件        正确和错误信息,追加方式写入(常用)
                            命令  >> 文件1   2 >> 文件 2   正确写入1,错误写入2
正确信息,当然错误信息也可写入
[root@localhost ~]# grep "root" /etc/passwd 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep "root" /etc/passwd  &>> /dev/null
[root@localhost ~]# echo $?
0

输入重定向(cpio/patch/wc/…)

命令:wc  [选项]  [文件名]
        -c  统计字数(字符)
        -w  统计单词数(字符串)
        -l  统计行数
[root@localhost ~]# wc anaconda-ks.cfg 
  49  124 1383 anaconda-ks.cfg    依次是 行数、单词数、字符数
[root@localhost ~]# 

多命令顺序执行

在这里插入图片描述

分号
[root@localhost ~]# cd /test ; ll
total 0
-rw-r--r--. 1 root root 0 Apr 28 04:15 1.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 2.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 3.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 4.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 5.txt
[root@localhost test]#
 当前面没有执行,则后面的也执行,只不过是在当前目录下执行
[root@localhost ~]# cd /abc ; ll
-bash: cd: /abc: No such file or directory
total 8
-rw-------. 1 root root 1383 Apr 15 06:06 anaconda-ks.cfg
-rwxr-xr-x. 1 root root  364 Apr 27 04:28 hello.sh


&&
[root@localhost ~]# cd /test && ll
total 0
-rw-r--r--. 1 root root 0 Apr 28 04:15 1.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 2.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 3.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 4.txt
-rw-r--r--. 1 root root 0 Apr 28 04:15 5.txt
[root@localhost test]# 
当前面命令没有执行,则后面的也不执行
[root@localhost ~]# cd /abc && ll
-bash: cd: /abc: No such file or directory

||
当前面命令执行错误,则执行后面的命令
[root@localhost ~]# cd /abc || ll
-bash: cd: /abc: No such file or directory
total 8
-rw-------. 1 root root 1383 Apr 15 06:06 anaconda-ks.cfg
-rwxr-xr-x. 1 root root  364 Apr 27 04:28 hello.sh
前面命令执行,后面命令不执行
[root@localhost ~]# cd /test || ll
[root@localhost test]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值