zoukankan      html  css  js  c++  java
  • shell的基础入门

    shell 程序在学校都是单行命令的形式执行,缺乏逻辑关系

    区别:使用shell实现Linux的批量管理,而不是去开发应用程序。

    一、命令历史

      作用:查之前使用的命令

       关于命令历史的文件
        每个用户家目录下面的 .bash_history在关机的时候,会自动写入一次 (history -a 将内存中的命令历史写入文件)
      关于命令历史的变量(环境变量)

    •     env //查看环境变量
    •     set //常看更详细的环境变量参数
    •     HISTSIZE=1000 数量
    •     HISTCONTROL=ignoredups
    •     Ignoredups 忽略重复的历史命令 -- 连续且相同,才叫重复
    •     Ignorespace 忽略空白开头的历史命令,“键入空格开头则不会被记录”
    •     Ignoreboth 两者都生效
    •     HISTFILE=/root/.bash_history
    •     HISTFILESIZE=1000

      history 的常见操作

    •     查看命令历史
    •     !# #表示数值,执行#行的命令
    •     !string 匹配最近一次的字符串
    •     !! 上一条命令
    •     *!$* 上一条命令的最后的一个参数
    •     ls /etc
    •     ls !$
    •     ESC+.

      常见的选项:

    •     -a
    •     -d
    •     -c
    •     history # 显示最近 # 行的命令

    二、命令补全

    •   tab 
    •     a.提示
    •     b.自动补全

      拓展:制表符 (四个空格键)

    三、目录补全

    •   tab 
    •     a.提示
    •     b.自动补全

    四、命令展开-date命令

      Linux的目录遵循的规则是FHS目录规则

      {,}演示如下:

      

      

      date基于date目录来创建目录

        改变date的输出格式:

    •       %F:CCYY-mm-dd

                          

    •       %T  hh:MM:ss

                           

    •       %D  mm/dd/YY

                           

    •       %H  hh
    •       %M  MM
    •       %S   ss
    •       %Y   CCYY

                         

    •     通过for语句循环创建一个月的日志文件:.log 2019-08-06.http.log

         

    •      tar归档(压缩只能对文件进行操作,但不能对目录操作,但归档都可以)

               压缩工具:

                gizp

                bzip2

                xz

            tar的常见参数:

               -j bzip2

               -J xz

               -z gzip

               -c creat

               -x extract //可以不用指定解压工具

               -f 指定文件名

               -v 显示详细信息 verbose

               -t 不解压查看内容,和zcat相同

       

          补充:

            clock/hwclock 查看硬件时钟

            cal日历

    五、命令的执行状态 

      在Linux中,每一条命令执行后都有俩种结果:

        (1).命令本身放回内容

        (2).命令执行的结果状态

      $!变量,就是用来存放命令执行状态的变量:

    •     0 表示成功状态(和python)相反
    •     1-255表示失败状态

    六、命令的快捷键

    • ctrl + l
    • ctrl + c
    • ctrl + u //删除光标前的字符
    • ctrl + k //删除光标后的字符
    • ctrl + a
    • ctrl + e
    • ctrl + w //以空格为分隔符,去删除文件
    • ctrl + r //进入一个交互界面,搜索最近一次使用的命令(要输入string)

    七、alias别名

      系统启动时读取一些特殊文件的顺序;

      alias
      alias cdnet="cd /etc/sysconfig/network-scriptes" //这种方式定义alias只能在当前shell生效;

        /etc/profile : 定义环境变量(所有用户) -- EXPORT HISTCONTROL=XXX
        /etc/bashrc : 定义本地变量--alias(所有用户)
        ~/.bash_profile : 定义环境变量(指定用户)
        ~/.bashrc : 定义本地变量--alias(指定用户)

        sources /etc/profile 或者 . /etc/profile

    八、文字通配符  

      【文件通配符不是正则表达式】

    • ? 任意单个字符
    • * 任意长度的任意字符
    • [] 指定范围内的任意一个字符
    • [^] 指定范围以外的任意一个字符
    • [0-9A-Za-z]
    • [0-9] [a-z] [A-Z] [a-zA-Z]
    • 指定字符类:
      •   [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:],
      •   [:punct:], [:space:], [:upper:], and [:xdigit:]


          ^[[:space:]]*$ //有空格键的空行(正则表达式)

  • 相关阅读:
    JVM收藏的文章
    【转】Mysql相关子查询&&MySQL获取分组后的TOP N记录
    【转】JVM--内存区域划分
    【转】Nginx location写法
    【转】Dockerfile
    CORS web.xml 里配置
    分布式事务
    maven+dubbo+SpringMVC 项目搭建
    dubbo 报错
    多重背包问题:POJ2392
  • 原文地址:https://www.cnblogs.com/www-k/p/11321370.html
Copyright © 2011-2022 走看看