天天看点

Linux——Bash的基本功能

历史命令与命令补全

  • 历史命令:

    [[email protected] ~]# history [选项] [历史命令保存文件]

    选项:

    -c

    :清空历史命令

    -w

    :把缓存中的历史命令写入历史命令保存文件,文件为

    ~/.bash_ history

    历史命令默认会保存1000条,可以在环境变量配置文件

    /etc/profile

    中进行修改。

    我们打开看一下:

    Linux——Bash的基本功能
    这个就是我们的历史命令保存的条数。如果超过了这个数值,它就会删除第一条命令,保存新的命令。
  • 历史命令的调用:

    使用上、下箭头调用以前的历史命令

    使用

    !n

    重复执行第n条历史命令。

    使用

    !!

    重复执行上一条命令

    使用

    !字串

    重复执行最后一条以该字串开头的命令
  • 命令与文件补全:

    在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按 “Tab” 键就会自动进行补全。

命令别名与常用快捷键

  • 命令别名

    [[email protected] ~]# alias 别名='原命令'

    :设定命令别名

    [[email protected] ~]# alias

    :查询命令别名
    Linux——Bash的基本功能
  • 命令执行时顺序:

    1.第一顺位执行用绝对路径或相对路径执行的命令。

    2.第二顺位执行别名。

    3.第三顺位执行Bash的内部命令。

    4.第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。

  • 让别名永久生效

    用命令行定义的命令的别名只会临时生效,当计算机重启的时候,定义就会失效。我们要想使得定义的别名永久生效,需要修改相应用户家目录下的文件:

    /~/.bashrc

    文件。
    Linux——Bash的基本功能
  • bash常用快捷键
    快捷键 作用
    ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。
    ctrl+E 把光标移动到命令行结尾。
    ctrl+C 强制终止当前的命令。
    ctrl+L 清屏,相当于clear命令。
    ctrl+U 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便
    ctrl+K 删除或剪切光标之后的内容。
    ctrl+Y 粘贴ctrl+U或ctrl+K剪切的内容。
    ctrl+R 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。
    ctrl+D 退出当前终端。
    ctrl+Z 暂停,并放入后台。
    ctrl+S 暂停屏幕输出。
    ctrl+Q 恢复屏幕输出。

输入输出重定向

  • 标准输入输出
    设备类型 设备文件名 文件描述符
    键盘 /dev/stdin
    显示器 /dev/stdout 1
    显示器 /dev/stderr 2
  • 输出重定向
    Linux——Bash的基本功能
  • 输入重定向

    [[email protected] ~]# wc [选项] [文件名]

    选项:

    -c

    :统计字节数

    -w

    :统计单词数

    -l

    :统计行数

    用法:

    命令 < 文件

    把文件作为命令的输入

    命令 << 标识符

    标识符:把标识符之间内容作为 命令的输入

多命令顺序执行与管道符

  • 多命令顺序执行
    Linux——Bash的基本功能

示例:

  1. 命令:

    ls;date;cd /user;pwd

    Linux——Bash的基本功能
  2. 我们在这里引入一个新的命令:dd。

    命令格式:

    dd if=输入文件 of=输出文件 bs=字节数 count=个数

    选项:

    if=输入文件

    指定源文件或源设备

    of=输出文件

    指定目标文件或目标设备

    bs=字节数

    指定一次输入/输出多少字节,即把这些字节看做 一个数据块

    count=个数

    指定输入/输出多少个数据块

    命令:

    date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date

    我们看一下执行的结果:
    Linux——Bash的基本功能
  3. 命令:

    ls && echo yes

    Linux——Bash的基本功能
  4. 命令:

    ls test || echo no

    Linux——Bash的基本功能
  5. 命令:

    ls test && echo yes || echo no

    Linux——Bash的基本功能
  • 管道符

    命令格式:

    命令1 | 命令2

    含义:命令1的正确输出作为命令2的操作对象

示例:

  1. 命令:

    ll -a /etc/ | more

    Linux——Bash的基本功能
  2. 我们引入一个新的命令:

    grep

    格式:

    grep [选项] "搜索内容" 文件名

    选项:

    -i

    : 忽略大小写

    -n

    : 输出行号

    -v

    : 反向查找

    --color=auto

    搜索出的关键字用颜色显示

    命令:

    netstat -an | grep "ESTABLISHED"

    作用:查看当前计算机有多少远程连接。

通配符与其他特殊符号

通配符

通配符 作 用

?

匹配一个任意字符

*

匹配0个或任意多个任意字符,也就是可以匹配任何内容

[]

匹配中括号中任意一个字符。例如:

[abc]

代表一定匹配一个字符,或者是a,或者是b,或者是c。

[-]

匹配中括号中任意一个字符,-代表一个范围。例如:

[a-z]

代表匹配一个小写字母。

[^]

逻辑非,表示匹配不是中括号内的一个字符。例如:

[^0-9]

代表匹配一个不是数字的字符。

示例:

cd /tmp/
rm -rf *
touch abc
touch abcd
touch 012
touch 0abc
ls ?abc
ls [0-9]*
ls [^0-9]*
           

其他常用特殊符号

符号 作用

' '

单引号。在单引号中所有的特殊符号,如“$”和“`”(反引号)都没有特殊含义。

" "

双引号。在双引号中特殊符号都没有特殊含义,但是

"$"

"`"

"\"

是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义。
`` 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和 ( ) 作 用 一 样 , 不 过 推 荐 使 用 ()作用一样,不过推荐使用 ()作用一样,不过推荐使用(),因为反引号非常容易看错。
$() 和反引号作用一样,用来引用系统命令。
# 在Shell脚本中,#开头的行代表注释。
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值。
\ 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如$将输出“$”符号,而不当做是变量引用。

示例:

echo `ls`
echo $(date)
           
name=sc
echo '$name'
echo "$name"
echo ‘$(date)'
echo “$(date)"
           

end.

继续阅读