• SHELL 近期学习


      由于项目中很少使用到shell脚本所以。只是偶尔自学一点。慢慢积累。下面就把近段时间积累的发出来。学习。

    #sort 
    sort  按首字母排序
    sort -n 按数字大小 从小到大排序
    sort -rn 按数字大小 从大到小排序
    demo:  sort -n test.txt | uniq - c 一般和uniq组合使用 去重在计组数 
    who
    当前有多少用户同时登录 linux系统 
    正则表达式
    ?代表0个或者一个前置字符  K?代表零个或一个K字符
    + 代表1个或者多个前置字符  K+  代表一个或多个K字符
    ^字符开头  $字符结尾  ^KKK$ 表示KKK字符匹配
    w   匹配任何单词组成的字符
    W   匹配任何非单词组成的字符
    <  >    匹配单词的起始与结尾
             匹配单词的起始或结尾处所找到的空字符串.这是<和>运算符的结合
    B         匹配两个单词组成字符之间的空字符串
    |           匹配与|符号前后的正则表达式
    {n,m} 表示前置字符出现的次数 范围0~255
    (  )     将(和)直接模式存储在特殊的保留空间最多9个模式   (ab).*1表示匹配与ab组合的两次出现
    
              重复(与)括号内第n个子模式至此点的模式,n为1到9的数字,1为由左开始
    
    DEMO:
    表达式                                    匹配
    tolstoy                                   位于一行上任何位置的7个字母tolstoy
    ^tolstoy                                  7个字母tolstoy,出现在一行的开头
    tolstoy$                                  7个字母tolstoy,出现在一行的结尾
    ^tolstoy$                                 正好包括tolstoy这个7个字母的一行,没有其他的任何字符
    [Tt]olstoy                                在一行上的任何位置居中,含有Tolstoy或是tolstoy
    
    sed 流编辑器(Stream Editor) sed的设计就是用来以批处理的方式而不是交互的方式来编辑文件。当你知道要做好几个变更--不管是对一个还是对数个文件
            时,比较简单的方式是将这些变更部分写到一个编辑中的脚本里。再将此脚本应用到所有必须修改的文件
    -g (global 全局)
    $echo Tolstoy reads well. Tolstoy writes well. > demo.txt;
    $sed 's/Tolstoy/xiaoyan/g'
    
    $
    默认以 空格键分割 去第一个和第三个字符串
    $awk '{print "Hello",$1 ,$3, "BeyBye!" }'
    
    切割 指定位置的字符 1,2,3-10 切割前十个字符
    cut -c 1,2,3-10 file.txt        
    
    以:分割字符串成字符串数组 去第一个字符串
    awk -F ':' '{print $1}'
    
    定时任务
    crontab -e 编辑当前用户的定时任务 (edit user's crontab)
    crontab -l   展示当前用户的定时任务(list user's crontab)
    crontab -r  删除当前用户的定时任务(delete user's crontab)
    
    /etc/init.d/cron restart   重启crontab服务
    */1 * * * 1,2,3,4,5       command     工作日期间每分钟执行一次命令
    0 8 * * 1,2,3,4,5  command            工作日期间每天8:00执行命令
    
    虚拟签到配合系统的定时任务可以定时签到的。
    由cookie保持session信息。
    curl -D cookie.txt -b cookie.txt  'http://127.0.0.1:8080/xxxLog/loginUser.do?userBean.userid=xxx&userBean.userpwd=xxx'
    curl -D cookie.txt -b cookie.txt  'http://127.0.0.1:8080/xxxLog/signInSign.do'
    
    ####循环获取参数
    for i in $*
    do
     echo "i is $i"
    done
    #####一到十的参数
    $1 $2 ....${10} 
    ftp xx.xx.xx.xx
    userName
    passWord
    bin//二进制格式
    cd ,pwd
    get xx.txt 下载文件
    put xx.tar 上传文件
    ls 列出远程机的当前目录
    cd 在远程机上改变工作目录
    lcd 在本地机上改变工作目录
    ascii 设置文件传输方式为ASCII模式
    binary 设置文件传输方式为二进制模式
    close 终止当前的ftp会话
    bye退出
    Stay Hungry,Stay Foolish!
  • 相关阅读:
    socat + kata + cgroup
    2018-8-10-卷积神经网络全面解析
    2019-8-31-PowerShell-通过-WMI-获取系统服务
    2019-8-31-PowerShell-通过-WMI-获取系统服务
    2018-2-13-不使用数据结构反转栈
    统计难题
    Keywords Search
    [JSOI2008]最大数
    Android(java)学习笔记1:多线程的引入
    欢迎使用CSDN-markdown编辑器
  • 原文地址:https://www.cnblogs.com/stay-9527/p/3989227.html
Copyright © 2020-2023  润新知