shell命令基础

    xiaoxiao2021-03-26  25

    1:pgrep:获取某个服务的进程id

    如:

    pgrep redis

    2:查看进程运行时的环境变量可以使用如下命令

    cat /proc/$pid/environ

    3:给$path 添加一条新的路径

    export PATH="$PATH:/home/user/bin"或者

    PATH="$PATH:/home/user/bin"

    export PATH

    4:uid是一个重要的环境变量,可以用于检查当前脚本运行的用户身份

    if [ $UID -ne 0 ]; then

    echo Non root user.Please run as root.

    else

    echo "Root user"

    fi

    一般root用户的UID是0

    5:let命令可以进行基本的算算术运算

    no1=4;

    no2=5;

    let result=no1+no2

    echo $result

    let no1++

    let no1--

    let no1+=6

    let no1-=6

    7:[] 使用方法和let类似

    result=$[ no1 + no2 ]

    也可以加上前缀

    result=$[ $no1 + $no2 ]

    8:高级运算bc

    (1):

    echo "4 * 0.56" | bc

    no=54;

    result='echo "$no * 1.5" | bc'

    echo $result

    (2):设置小数精度

    echo "scale=2;3/8" | bc #取两位小数

    0.37

    (3):进制转换

    9:文件描述符

    概念:与文件输出,输入相关的整数用来跟踪打开的文件

    如:

    (1).echo "This is a text 1" > temp.txt

    特点:写入文件之前会把temp.txt里面的文件清空

    (2).echo "This is a text 1" >> temp.txt

    特点:追加的方式写入

    10:数组定义

    普通数组:

    array_var=(1 2 3 4 5 6)

    或者

    array_var[0]="test1"

    array_var[1]="test2"

    打印:

    ehco ${array_var[0]}

    清单形式打印

    echo ${array_var[*]}

    关联数组

    1,首先需要使用单独的声明语句将一个变量名声明为关联数组

    declare -A ass_array

    ass_array=([index1]=val1 [index2]=val2)

    或者

    ass_array[index1]=val1

    ass_array[index2]=val2

    11:创建笔名

    alias new_command='command sequence'

    12:

    获取终端的行数和列数

    tput cols

    tput lines

    13:导出函数

    export -f fname  这样函数fname  就可以在子进程中使用

    14:管道传输

    cmd1 | cmd2 | cmd3

    cmd1 传输给cmd2 cmd2再传输给cmd3  最终cmd3导入文件或者终端显示

    15:read

    read -n number_of_chars variable_name

    从number_of_chars 中读取n个字符并存入变量variable_name中

    16 :算术比较

    条件通常被放置在封闭的中括号中。

    [ $var -eq 0 ] or [ $var -nq 0 ]

    大于:-gt

    小于:-lt

    大于等于:-ge

    小于等于:-le

    17:文件系统相关测试

    [ -f $file_var ] :如果给定的变量包括正常的文件名或者文件路径则返回真

    [ -x $var ]  可执行返回真

    [ -d $var ] 是目录

    [ -c $var ]  是一个字符设备文件的路径

    [ -b $var ]  是一个给定的块设备文件的路径

    [ -w $var ]   文件可写

    [ -r $var ]  文件可读

    [ -L $var ]  变量是一个符号连接

    fpath="/etc/passwd"

    if [ -e $fpath ]; then

    echo File exists;

    else

    echo Does not exist;

    fi

    18:字符串比较

    [[ $var1 == $var2 ]]  判断是否相等

    [[ $var1 != $var2]] 不等

    [[ $var > $var2 ]]  大于

    [[ $var < $var2]]  小于

    [[ -z $var1 ]]  判断是否包含空字符串

    [[ -n $var2 ]]] 包含非空字符串返回真

    19   tar

    作用:

    (1).将文件归档

    tar -cf  目标文件名 源文件集合

    (2).向已经归档的文件添加一个文件

    tar -rvf  目标文件 new_file

    (3).用下面的方法列出归档文件中的内容

    tar -tf  目标文件

    (4).打印归档文件的详细信息

    tar -tvvf  目标文件

    (5).从归档文件中提取文件

    转载请注明原文地址: https://ju.6miu.com/read-659865.html

    最新回复(0)