zoukankan      html  css  js  c++  java
  • linux和shell总结

    linux发展史,从刚开始的Unix,变成Minx,发展成Linux。
    发行版本:Ubuntu.
    Redhat.
    Debian.
    Linux Mint.
    CentOS
    vim/vi:有三种模式。一般模式,编辑模式,指令模式。
    man 和 help都是帮助命令man是Linux的命令,help是shell中的命令
    ctrl + c 停止进程。ctrl + l 清屏,reset彻底清屏。ctrl + q退出,tab键提示补全。ctrl + alt linux和Windows之间切换。
    pwd:显示用户当前工作目录的绝对路径。
    ls查看目录列表,cd 进入目录下的某个文件夹,或者指定目录。
    mkdir创建目录,rmdir删除目录,只能删除空目录。
    touch创建空文件,rename为文件修改名称。cp 指定目录或文件复制到指定目录下。
    rm一般加-rf递归删除目录下所有文件。 mv移动文件或重命名。
    cat 查看文件内容 more、less、head、tail都是查看文件的内容
    echo 输出后面的内容 > 是覆盖 >> 追加
    ln 创建硬链接 ln -s 创建软连接 history 查看历史命令
    find -name -type -size -empty 判断文件。
    grep 过滤查找 which查看命令的绝对路径 whereis显示指令及相关文件的路径
    useradd添加用户,passwd设置密码,id查看用户是否存在,su切换用户,userdel删除用户及相关文件,
    whoami显示自身用户名称,who am i 显示登录用户
    sudo 设置普通用户添加root权限 usermod用于修改用户的基本信息,groupadd创建组,groupdel删除组,
    groupmod修改组信息,r=4,w=2,x=1 chmod改变权限,chown改变文件或目录所有者,chgrp改变所属组。
    date显示当前时间,cal查看日历,gzip/gunzip压缩与解压缩,压缩后源文件不存在,解压后压缩文件不存在。
    zip/unzip压缩与解压缩压缩过源文件存在,解压过源文件存在。
    tar-c是产生压缩文件,-x是解压文件,ps-aux查看进程,-ef查看子进程,kill-9 进程id杀掉某一个进程,killall进程名称。
    pstree查看进程树,top报告系统整体性能情况,free显示内存情况,netstat显示网络系统得状态和端口号占用情况。
    df查看磁盘占用情况,du显示文件和目录的磁盘使用空间情况 fdisk查看磁盘使用情况和磁盘分区,mount/umount挂载设备。
    rpm查询卸载安装软件包,yum安装软件包。crontab-e编解定时任务,-l显示定时任务列表,-r删除定时任务。

    shell是一个解释性语言、易编写、易调试、灵活性强。
    格式
    第一部分第一行必须是#!/bin/bash
    第二部分描述脚本名称时间作用路径等信息,第三部分开始脚本内容。
    自定义变量 用户变量 变量名=值 读取变量echo$变量名 撤销变量uset变量名 静态变量 readonly变量名=值,不能撤销。
    全局变量:export变量名=值,系统变量在/etc/profile文件中添加。
    $n n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10};
    $# 参数的个数 $*代表所有参数 $@代表所有参数,但是引号引起来会把它分开看待。$?获取上一次命令的结果
    数组名=() 获取所有元素echo${数组名[*]}、根据索引获取数据echo${数组名[索引]}、获取数组长度:echo${#数组名[*]}
    unset 数组名[索引] 删除根据索引得到的数据不写索引全部删除。
    $((运算式))或$[运算式] expr 运算符前后得加空格 小数计数得:echo "scale=小数位数 ; expression" | bc 给bc计算器
    (1)两个整数之间比较
    == 字符串比较
    -lt 小于(less than)
    -le 小于等于(less equal)
    -eq 等于(equal)
    -gt 大于(greater than)
    -ge 大于等于(greater equal)
    -ne 不等于(Not equal)
    (2)按照文件权限进行判断
    -r 有读的权限(read)
    -w 有写的权限(write)
    -x 有执行的权限(execute)
    (3)按照文件类型进行判断
    -f 文件存在并且是一个常规的文件(file)
    -e 文件存在(existence)
    -d 文件存在并是一个目录(directory)
    语法:if[条件判断式]
    then
    主体代码
    fi
    第二种
    if [ 条件判断式 ]
    then
    主体代码
    else
    主体代码
    fi
    第三种
    if [ 条件判断式 ]
    then
    主体代码
    elif [条件判断式]
    then
    主体代码
    else
    主体代码
    fi
    case判断语法
    case $变量名 in
    "值1")
    如果变量的值等于值1,则执行程序1
    ;;
    "值2")
    如果变量的值等于值2,则执行程序2
    ;;
    …省略其他分支…
    *)
    如果变量的值都不是以上的值,则执行此程序
    ;;
    esac
    for循环语句
    写法二
    $*:读取传入脚本中的全部参数,把参数看作一个整体
    $@:读取传入脚本中的全部参数,把参数区分对待

    for 变量 in "$*"
    do
    程序
    done

    for 变量 in "$@"
    do
    程序
    done
    while循环语句
    while [ 条件判断式 ]
    do
    程序
    done
    read读取控制台输入,-p指定提示符-t等待时间
    系统函数
    basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
    dirname从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
    自定义函数
    语法:[ function ] funname()
    {
    Action;
    [return int;]
    }
    funname
    cut对文件的切分指定用户显示出的部分。
    -b <起始字节位置-结束字节位置>仅显示行中指定字节范围的内容。例如,“-b 2-10”将显示第2~10个字节位置的内容,当只有一个数字时,则仅显示指定字符位置的内容.
    -f <起始列位置-结束列位置>显示指定的字段内容,-d <分隔符>指定字段的分隔符,默认的字段分隔符为“TAB”,-c <起始字符位置-结束字符位置>
    仅显示行中指定范围的字符。例如,“b2-10” 将显示第2~10个字符位置的内容。当只有一个数字时,则仅显示指定字符位置的内容。

    sort将文件进行排序-n依照数值的大小排序,-r以相反的顺序来排序。-t设置排序时所用的分隔字符,-k指定需要排序的列
    sed一次处理一行内容不在源文件上做修改然后输出修改过的结果。-e直接在指令列模式上进行sed的动作编辑(一次执行多个操作时)。
    -i直接编辑文件,p打印一般 -n 配合使用,a新增,在指定的行之后插入内容,i新增,在指定的行之前插入内容,
    d 删除,s 查找并替换 (注意:如果进行全局的查找替换 sed -i ‘s/查找条件/替换字符串/g’ global)。

    awk是一门编程语言,也是一个强大的文本分析工具,逐行扫描文件,默认从第一行到最后一行,寻找匹配特定模式的行,并在这些行上进行你想要的操作。
    语法:awk 选项 ‘pattern1{action1} pattern2{action2}...’ 文件名,-F 指定输入文件折分隔符,-v 赋值一个用户定义变量。
    awk内置的变量FILENAME文件名 NR已读的记录数 NF浏览记录的域的个数。

  • 相关阅读:
    Jenkins权限控制-Role Strategy Plugin插件使用
    迁移一个仓库到新的Gitlab
    Gitlab备份以及恢复
    10.使用nexus3配置golang私有仓库
    9.使用nexus3配置Python私有仓库
    8.maven上传jar包以及SNAPSHOT的一个坑
    7.nexus版本升级
    6.使用nexus3配置yum私有仓库
    5.使用nexus3配置npm私有仓库
    4.maven私服nexus2迁移到nexus3
  • 原文地址:https://www.cnblogs.com/chenduo000/p/13400072.html
Copyright © 2011-2022 走看看