zoukankan      html  css  js  c++  java
  • shell入门

    1、追求漂亮

    echo -e "33[30m 黑色字 33[0m"
    echo -e "33[31m 红色字 33[0m"
    echo -e "33[32m 绿色字 33[0m"
    echo -e "33[33m 黄色字 33[0m"
    echo -e "33[34m 蓝色字 33[0m"
    echo -e "33[35m 紫色字 33[0m"
    echo -e "33[36m 天蓝字 33[0m"
    echo -e "33[37m 白色字 33[0m"

    2、获取ip

    #!/bin/sh
    # Shell script scripts to read ip address
    # -------------------------------------------------------------------------
    # Copyright (c) 2005 nixCraft project <http://cyberciti.biz/fb/>
    # This script is licensed under GNU GPL version 2.0 or above
    # -------------------------------------------------------------------------
    # This script is part of nixCraft shell script collection (NSSC)
    # Visit http://bash.cyberciti.biz/ for more information.
    # -------------------------------------------------------------------------
    # Get OS name
    OS=`uname`
    IO="" # store IP
    case $OS in
    Linux) IP=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`;;
    FreeBSD|OpenBSD) IP=`ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'` ;;
    SunOS) IP=`ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2} '` ;;
    *) IP="Unknown";;
    esac
    echo "$IP"

    3、shell调用shell

    ip=`sh ./getip.sh`
    echo $ip

    4、创建表空间

    [root@localhost tsmis3003-param-bk]# vi create_tablespace_op.sh

    #!/bin/sh
    get_mysql_datadir=$(cat /etc/my.cnf| awk -F= 'NR==2{print $2}')
    CF_DATADIR="/data/mysql"
    COMMON_DATADIR="/usr/share/TSMIS/mysql"
    if [ "$get_mysql_datadir" == "$CF_DATADIR" ];then
    echo -e "33[32m 执行CF卡系统表空间创建操作 $get_mysql_datadir 33[0m"
    if [ ! -d /data/mysql ];then
    echo -e "33[31m 创建表空间 33[0m"
    tar -zxvf mysql.tar.gz
    if [ ! -d /data ];then
    mkdir /data
    fi
    mv ./mysql /data
    service mysqld restart
    fi
    else
    echo -e "33[32m 普通版本系统不执行表空间创建操作 33[0m"
    fi

     5、创建多个文件夹

    #!/bin/sh

    system_log_dir_arr=("/data/softwarelog" "/data/systemlog" "/data/image")

    for log_dir in ${system_log_dir_arr[@]};do
    if [ ! -d $log_dir ];then
    echo "create directory $log_dir"
    mkdir -p $log_dir
    fi
    done

    6 tar 打包隐藏的文件

     tar -zcvf CFSystem_Param_Backup.tar.gz CFSystem_Param_Backup/*  CFSystem_Param_Backup/.[!.]*

    7 bz2 压缩与解压缩

    bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。 
    与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例 
    说明一下: 
      # tar -cjf all.tar.bz2 *.jpg 
      这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个 
    bzip2压缩过的包,包名为all.tar.bz2 
      # tar -xjf all.tar.bz2 
      这条命令是将上面产生的包解开。

     7.sed中包含tab键或者空格

    sed -i 's:PASS_MIN_DAYS[[:space:]]0:PASS_MIN_DAYS       10:' login.defs   ##注意DAYS    10  这个之间是一个tab键,askii16进制值为09,不是空格20

    8.设置文件夹权限

    普及 linux 基础知识,Linux 文件及文件夹权限,不要动不动就 777 权限。网上教程过于复杂啰嗦,简单总结如下...

    一、查看 Linux 文件权限

    ls -l (通用)
    ll (Ubuntu适用,等于ls -al)

    二、权限标示符

    r(读)、w(写)、x(执行)
    4(读)、2(写)、1(执行)

    注:目录必须有执行权才能读取

    二、修改 Linux 文件权限

    方法一

    chmod -R 777 dir/

    -R 更改dir 目录及dir内所有子文件和文件夹
    777 指将“文件所属用户、所属用户组、其它用户”改为读、写、执行。

    方法二

    chmod 参数:a(用户及组)、u(用户)、g(组)、0(其他用户)
    chmod 运算符:+(加)、-(减)、=(赋予)

    chmod +x file.txt (用户、组、其他用户,加执行权)
    chmod u+x file.txt (用户,加执行权)

    三、Linux 常用文件权限

    777(读写执行、读写执行、读写执行)
    755(读写执行、读执行、读执行)
    644(读写、读、读)
    400(读、禁止、禁止)

    8 强制爆破shadow 和passwd的密码

    tar zxvf john-1.7.2.tar.gz

    cd john-1.7.2

    cd src

    make

    make clean SYSTEM

    make clean generic

    cd ../run/

    ./john --test

    ./unshadow /etc/passwd /etc/shadow > passwd_shadow

    ./john --show passwd_shadow

     

  • 相关阅读:
    安装devstack之配置proxy
    设备信息表项目
    好的运维工程师
    rhel 6.4 增加光盘为yum repo
    深度运维产品工具关键词
    坚持是一种能力
    书单 电影单 电视剧单
    三日不读书,便觉得言语无味,面目可憎
    STAR法则
    【断舍离】
  • 原文地址:https://www.cnblogs.com/xianqingzh/p/3182526.html
Copyright © 2011-2022 走看看