您的位置:首页 > 运维架构 > Shell

Shell入门基础

2016-07-28 17:07 295 查看
Shell基础

一、Shell概述

    Shell是命令行解释器

    Shell是依赖Ascii码表翻译成二进制

    用户--->Shell--->计算机内核

    计算机内核---> Shell ---> 用户

    Shell还是功能强大的编程语言

    分类

      Bourne Shell 

      C Shell

     这两种语法彼此不兼容。

     Bourne家族主要包括sh、ksh、Bash、psh、zsh

     C家族主要包括:csh、tcsh

      linux 执行的是Bash

      echo $SHELL 命令 #当前计算机执行的shell    

      vi /etc/shells  #查看计算机兼容的shell

二、脚本执行方式

  1、echo输出命令

     echo "hello world"

     echo "hello\b world"

     echo "hello\b\t\n world"

     echo "\x68\t\x65\t\x6c\n\x6c\t\x6f"

     echo -e "南海是中国的"

     echo -e "\e[1;31m 南海是中国的\e[0m"

    2.第一个脚本

     vi hello.sh

      #!/bin/bash

      #The first program

      echo -e "\e[1;31m 天上掉下来一个林妹妹\e[0m"

    3. chmod 755 hello.sh  #赋予权限

       ./hello.sh     #执行脚本

       bash hello.sh

       

三、Bash的基本功能

1、命令别名与快捷键

alias 查看系统的中所有的命令别名

alias ls='ls --color=never' 

alias ls='ls --color=auto'   

alias vi='vim'   #重启后无效

vi ~/.bashrc     #环境变量配置文件中写入 别名设置命令

unalias vi

常用的快捷键

Ctrl + c  强制退出命令

Ctrl + l  清屏

Ctrl + u 删除到行首

Ctrl + a 光标移到命令行首

Ctrl + e 光标移到命令行尾

Ctrl + z 把命令放入后台

Ctrl + r 在历史命令中搜索

2、历史命令

  history [选项] [历史命令保存文件]

  选项 

    -c:清空历史命令

    -w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

    history

    cat /home/.bash_history

    history -w

    history -c

  历史命令默认保存的是1000条

  vi /etc/profile 修改默认保存的条数

  history 

  !n 执行第n条命令 

  !! 执行上一次命令

  !字串 调用最后一个字串开头的命令

  命令补全 

    tab键

    

3、输出重定向

    标准输入输出

    设备名  设备文件名   文件描述符  类型

    键盘     /dev/stdin   0          标准输入

    显示器   /dev/sdtout  1          标准输出

    显示器   /dev/sdterr  2          标准错误输出

    标准输出重定向  

      命令 > 文件    覆盖到文件

      命令 >> 文件   追加都文件

    标准错误输出重定向

      错误命令 2>文件    覆盖到文件

      错误命令 2>>文件   追加到文件

    

    ifconfig > test.log

    ls >> test.log

    lschang 2>>test.log

   正确或错误信息都写到文件的命令:

    命令 > 文件 2>&1

    命令 >> 文件 2>&1

    命令 &>文件 

    命令 &>>文件 

   

    ifconfig >> test.log 2>&1

    ifconfig laoshi >> test.log 2>&1

    ls &>test.log

    ls dhhf &>test.log

    cat xdy >> access.log 2>>error.log  #正确命令日志保存到前者,错误日志保存到后者

    输入重定向

    wc [选项][文件]

    选项

    -c :统计多少行

    -w :统计多少单词

    -l :统计多少字符

    wc access.log

4、多命令顺序执行

   ;  命令1;命令2    #顺序执行

   &&  命令1&&命令2  #按逻辑且执行

   ||  命令1||命令2  #按逻辑或执行

   date;ls;cd/etc/;pwd

   date;tar -zcvf test.tar.gz;date

   

   ls && echo yes || echo no   #检测命令是否正确

   管道符 

     格式:命令1 | 命令2 

     ps -ef | grep java

     ls -l /etc | more 

     netstat -an  | grep ESTABLISHED | wc -l

   

5、Shell中特殊符号

  通配符

  ?匹配一个字符

  * 匹配多个字符

  [] 匹配中括号中任意一个字符

  [-] 匹配中括号中任意的字符串

  [0-9] 匹配中0到9中的一个数字

  [^] 逻辑非

  也就是正则表达式

  其他特殊字符了解下

  ''

  ""

  `` 反引号

  $()

  #

  $

  \ 转义符

  ls c*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: