美文网首页
Shell学习 -- bash特性

Shell学习 -- bash特性

作者: 奥利奥蘸墨水 | 来源:发表于2021-03-17 23:56 被阅读0次

    命令和文件自动补齐

    默认情况下,bash未Linux用户提供了一下标准补全功能。

    • 变量补全
    • 用户名补全
    • 主机名补全
    • 路径补全
    • 文件名补全

    命令历史记忆功能

    • bash有自动记录命令的功能,自动记录到.bash_history隐藏文件中。还可以在下次需要是直接调用历史中的命令

    • 在bash中,使用history命令来查看和操作之前的命令,以此来提高工作效率

    • history是bash的内部命令,所以可以使用help history来调出history的帮助文档

    • 调用命令方法:

      # 查看之前使用的所有命令
      root@ALBB:/# history
      
      # 显示最近的n个命令
      root@ALBB:/# history n
      
      # 删除相应的第n个命令
      root@ALBB:/# history -d n
      
      # 指定执行历史命令中的第几条语句
      root@ALBB:/# !n
      
      # 执行历史命令中的最后一条语句
      root@ALBB:/# !!
      
      # 引用上一个命令中的最后一个参数
      root@ALBB:/# !$
      
      # 执行历史命令中最近一条以[string]开头的语句
      root@ALBB:/# ![string]
      
      # 将历史命令写入历史命令的文件中
      root@ALBB:/# history -w
      
      # 查看历史命令记录的文件的路径
      root@ALBB:/# echo $HISTFILE
      
      # 删除所有的命令历史记录
      root@ALBB:/# history -c
      

    别名功能

    alias命令。

    alias ll='ls -l' # 临时别名
    
    unalias ll #取消临时别名
    

    永久别名。

    在~/.bashrc文件中写入alias。

    快捷键

    快捷键 作用
    ctrl + A 把光标移动到命令行的开头。
    ctrl + E 把光标移动到命令行的结尾。
    ctrl + C 终止当前的命令。
    ctrl + L 清屏,相当于clear命令。
    ctrl + U 删除或剪切光标之前的内容。
    ctrl + K 删除或剪切光标之后的内容。
    ctrl + Y 粘贴ctrl + U 或 ctrl + K剪切的内容。
    ctrl + R 在历史命令中搜索。
    ctrl + D 退出当亲终端。
    ctrl + Z 暂停,并放入后台。
    ctrl + S 暂停屏幕输出。
    ctrl + Q 恢复屏幕输出。

    查询指令是否未bash shell的内置命令: type

    type [-tpa] name
    不加任何参数时,type会显示初name时外部指令还是bash内置指令
    -t : 当加入-t参数时,type会将name以下面这些字眼显示出他的意义:
         file : 表示未外部指令
         alias : 表示为该指令未命令别名所设置的功能
         builtin : 表示该指令未bash内置的指令功能更功能
    -p : 如果后面接的name未外部指令时,才会显示完整的文件名;
    -a : 会由PATH变量定义的路径中,激昂所有含name的指令都列出来,包含alias
    

    例:

    root@ALBB:~# type ls
    ls is aliased to `ls --color=auto'
    
    root@ALBB:~# type -a ls
    ls is aliased to `ls --color=auto'
    ls is /usr/bin/ls
    ls is /bin/ls
    
    root@ALBB:~# type -t ls
    alias
    
    root@ALBB:~# type -p python3
    /usr/bin/python3
    
    root@ALBB:~# type cd
    cd is a shell builtin
    

    相关文章

      网友评论

          本文标题:Shell学习 -- bash特性

          本文链接:https://www.haomeiwen.com/subject/mmbycltx.html