zoukankan      html  css  js  c++  java
  • Lnixu Bash

    一.简单命令

    1.创建文件(vi)
    vi hellowold.txt
    2.创建目录(mkdir)
    mkdir linux_bash
    3.删除文件(rm)
    rm helloworld.txt
    4.复制文件(cp)
    cp src des
    5.移动文件或重命名(mv)
    mv oldname newname
    6.脚本中打印(echo)
    echo "some print str"
    7.文件中搜索字符串(grep)
    grep 'searchworld' filename
    8.指定输出文件中字符长度(cut)
    cut -b 5-9 filename
    9.输出文件内容到屏幕上(cat)
    cat filename
    10.得到文件类型(file)
    file fimename
    11提示用户输入。并将输入赋值给变量(read)
    read var
    12.对文件中的行进行排序(sort)
    sort filename
    13.删除文本文件中出现的行列(uniq)
    sort filename | uniq
    14.进行数学运算(expr)
    add 2 and 3 expr
    15 搜索文件(find)
    find . -name filename -print
    16 将数据输出到屏幕或文件中(teee)
    somecommand | tee outfile
    17 回返不包含路径的文件名(basename)
    basename /bin/filename 返回filename
    18 返回文件所在路径(dirname)
    dirname /bin/filename 返回bin
    19 打印文件开头几行或者末尾几行
    head filename
    tail filename
    20 查找替换 可以从标准输入(如命令管道)读入文本,并将结果输出到屏幕
    sed 's/linuxfocus/LinuxFocus'(待定)
    21 从文本文件中提取字段awk
    cat filename | awk -F,'{print $1 "," $3}' 使用","作为字段分割符,同时打印第一个和第三个字段
    eg: srouce: Adam Bor,33,IndiaKerry Miller,22,USA
    dest: Adam Bor,Indiakerry Miller,USA

    23
    管道 | 将一个命令的输出作为另一个命令的输入
    eg: grep "hello" file.txt | wc -l
    在file.txt从搜索包含有"hello"的行并计算其行数
    重定向 >写入文件并覆盖旧文件
    >>加入文件的尾部,保留旧文件内容
    将一个命令的输出作为另外一个命令的一个命令行参数

    find . -mtime -1 -type f -print
    用来查找过去24小时(-mtime -2则表示过去48小时)内修改过的文件,
    tar -zcvf lastmod.tar.gz 'find . -mtime -1 -type f -print'
    打包查找的文件

    二:流程控制语法

    1.流程控制if else
    if [-f "somefile"] ;then
    echo "somefile 是一个文件"
    elif [-x "/bin/ls"] ;then
    echo "/bin/ls有权限"
    else
    echo "if fi为固定格式"
    fi


    “if” 表达式,如果条件为真则执行then后面的部分
    [-f "somefile"] 判断是否是一个文件
    [-x "/bin/ls"] 判断/bin/ls是否存在并有可执行权限
    [-n "$var"] 判断var变量是否有值
    ["$a"="$b"] 判断$a $b是否相等

    2.流程控制 case 可以用来匹配一个给定的字符串而不是数字

    ftype='file "$1"'
    case "$ftype" in
    "$1:Zip archve"*)
    unzip "$1";
    "$1: gzip compressed"*)
    gunzip "$1";
    "$1: bzip2 compressed"*)
    bunzip2 "$1";
    *) echo "File $1 can not be uncompressed with smartzip";
    esac

    3.流程控制 select表达式是一种bash的扩展应用,擅长于交互式使用,用户可以从一组不同的值中进行选择

    echo "what is your favourite OS?"
    select var in "Linux" "Gnu Hurd" "Free BSD" "Other";do
    break
    done
    echo "You have selected $var"

    如果你输入 1 ,输出 You have selected Linux

    4 流程控制loop
    4.1 while-loop 将运行直到表达式测试为真

    while ...;do
    ...
    done

    4.2 for-loop 表达式查看一个字符串(字符串用空格分隔)然后将其赋给一个变量

    for var in ....;do
    .....
    done

    for var in A B C do
    echo "var is $var"
    done


     3.简单脚本

    #! /bin/sh

    a="hellowold,boy!"
    echo "A is"
    echo ${a}

  • 相关阅读:
    ATOMac
    基于Python3 + appium的Ui自动化测试框架
    记 被难到的第一个算法题
    Requests发Post请求data里面嵌套字典
    Struts,Sping和Spirng MVC等框架分析
    雷军的留名,不是以程序员身份
    你有考虑过如果不做程序员,你会从事什么职业吗?或者你现在正在发展什么第二职业?
    java中的运算运算符 与或非(转)
    记录常用函数
    SQLServer记录常用函数(转)
  • 原文地址:https://www.cnblogs.com/lchd/p/3470948.html
Copyright © 2011-2022 走看看