zoukankan      html  css  js  c++  java
  • BASH 特性和快捷键

    回顾 bash shell

    平时如何使用bash shell

    • 命令行敲命令(输入命令)-> 效率低 -> 适合少量工作
    • shell script (脚本)-> 效率高 -> 适合大量的工作
    ## 命令行敲命令(输入命令)-> 效率低 -> 适合少量工作
    # 创建一个用户
    [root@zls ~]# useradd zls1
    
    # 给该用户一个密码
    [root@zls ~]# passwd zls1
    
    -------------
    
    ## shell script (脚本)-> 效率高 -> 适合大量的工作
    # 使用脚本创建100个用户
    for n in `seq -w 100`;do
            useradd zls$n
            echo 123456 |passwd --stdin zls$n
    done
    
    ## 查看bash的版本
    [root@zls ~]# bash --version
    

    shell提示符

      #当前登陆的用户	  分隔符		 主机名	当前所在的路径(整个路径的最后一个文件夹)
    [		root		@			zls			 ~						]			#
    [		root		@			web01		 ~						]			#
      #当前登陆的用户    分隔符
    [		zls1		@			zls			 ~						]			$ 
    
    # : 超级用户的命令提示符
    $ : 普通用户的命令提示符
    
    #注意:
     - 单引号
     - 双引号
    

    修改shell提示符

    # 查看默认的shell 提示符
    [root@web01 ~]# echo $PS1
    [u@h W]$
    
    u : 当前用户
    h :当前主机名(如果主机名中有. 则截取第一个. 之前的名字显示)
    H : 当前完整主机名
    W : 当前所在路径的最后一个目录
    w : 当前所在完整路径(绝对路径)
    d : 显示当前日期
    	 : 显示当前时间(24小时)
    T : 显示当前时间(12小时)
    A : 显示当前时间(24小时格式,不显示秒)
    v :显示当前bash的版本(鸡肋)
    # : 显示当前下达命令的个数
    $ : 当前用户的命令提示符,如果是超级用户就显示 '#' 如果是普通用户就显示 '$' 
    
    
    # 修改命令提示符
    [root@web01 ~]# vim /root/.bashrc
    PS1='[日期:d | 时间:A | bash版本:v | 命令个数:# | u@H 当前路径:w]$ '
    
    PS1="[e[31m][[e[32;40m]u[e[33m]@h [e[34m]w[e[0m]]\$ "
    

    命令提示符颜色参考网站:TP

    Bash Shell 语法

    # 基本语法
    [command] [option] [arguments]
    # 命令     选项     参数
    
    # 举个栗子:
    [root@www ~]# ls
    [root@www ~]# ls -l
    [root@www ~]# ls -l /usr/local
    [root@www ~]# ls -la  /usr/local/ /tmp/
    
    # 选项:
    	- 长格式:ls --all
    	- 短格式:ls -a  (默认使用短格式)
    

    Bash Shell 基本特性

    1.支持命令的补全

    Tab

    # 补全选项,需要安装 bash-completion
     yum install -y bash-completion
     
     补全命令
     补全选项
     补全参数
    

    2.快捷键

    Ctrl + a : 将光标跳转到当前命令的行首(ahead)
    Ctrl + e :将光标跳转到当前命令的行尾(end)
    Ctrl + w :按照空格删除光标之前的命令(word)
    Ctrl + c :终止当前的命令(cancel)
    Ctrl + l :清屏(命令clear的功能)
    Ctrl + r :查找执行的最近的一条命令(包含查找的字母)
    Ctrl + d :退出当前的bash(只退出一个)exit  logout(退出当前登陆的用户)
    Ctrl + z :把程序放在后台运行(windows上QQ最小化)
    Ctrl + k :删除当前光标到行尾的所有内容
    Ctrl + u :删除当前光标到行首的所有内容
    Ctrl + 左右:快速移动光标
    ESC + . :上一条命令,最后一个空格后面的内容显示出来
    delete : 删除光标后内容,对单个字母删除
    
    Ctrl + s :锁定当前命令行
    Ctrl + q :解锁当前命令行
    
    windows + l : windows锁屏
    
    # 在bash shell里是注释的意思 (不让计算机看)
    

    3.历史命令

    一般用于日志审计

    # 修改/etc/profile
    vim /etc/profile
    
    -----------------
    USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
    if [ "$USER_IP" = "" ]
    then
    USER_IP=`hostname`
    fi
    export HISTTIMEFORMAT="%F | %T | 用户IP: $USER_IP | 操作用户: `whoami` |操作命令: "
    shopt -s histappend
    export PROMPT_COMMAND="history -a"
    ------------------
    
    1. Shift + g
    2. 按 o
    3. CV工程师 Ctrl + c    Ctrl + v
    4. 按 ESC
    5. 输入 :wq
    6. 回车
    
    source /etc/profile
    
    
    # 查看历史命令
    [root@www ~]# history 
    
    # 清空历史命令
    [root@www ~]# history -c
    
    # 指定删除某一条历史记录
    [root@www ~]# history -d 4
    
    保存到: /root/.bash_history
    
    # 历史命令相关操作
    !v: 执行你上一条,命令带v的操作
    !!:执行上一条命令
    !17:执行历史命令中,指定的操作
    

    4.使用alias

    作用:将复杂的命令简化处理

    举例:
    [root@mysql ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    
    
    #用法
    - 增 - 改
    # 创建命令的别名(如果本身命令别名存在那么就是修改,不存在则创建)
    [root@mysql ~]# alias wk='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
    
    - 删
    [root@mysql ~]# unalias ww
    
    - 查
    # 查看当前系统中都有哪些别名
    [root@mysql ~]# 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'
    alias wk='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
    alias ww='vim /etc/hosts'
    

    5.bash shell 特性——命令获取帮助

    #linux中两种方式获取帮助
    1.命令 --help
    2.man 命令
    

    linux命令帮助网站1:TP

    linux命令帮助网站2:TP

  • 相关阅读:
    面试题:Spring的理解
    静态块与静态变量
    构造方法与构造块的执行顺序(区别于static)
    子类调用父类的构造函数几种情况
    使用json遇到的问题
    页面加载,使用ajax查询某个类别,并且给它们添加(拼接)连接
    对某个商品的上下架状态进行改变
    SSH后台管理系统,实现查询+分页
    跟上Java8
    java中值传递和引用传递
  • 原文地址:https://www.cnblogs.com/tcy1/p/12491140.html
Copyright © 2011-2022 走看看