读《Linux Shell脚本攻略》第9章笔记—结束语

    1. ps
    -e:(every),选项-ax(all)也可以生成同样的输出
    -f:显示更多列
    -o:指定想要显示的列(pcpu,pid,ppid,pmem,comm,cmd,user,nice,time,etime,tty,euid,stat)
    -o的参数以逗号操作符(,)作为定界符,值得注意的是逗号操作符与它分隔的参数之间是没有空格的。在大多数情况下,选择-o都是和选项-e结合使用的
    (-eo),因为它需要列出运行在系统中的每一个进程。但是如果-o需要使用某些过滤器,例如列出特定用户拥有的进程,那么就不再使用-e,-e和过滤器
    结合使用将没有任何实际效果,依旧会显示所有的选项
    –sort:将ps命令的输出根据特定的列进行排序
    -C:找出给定命令名对应的进程ID(如:# ps -C java -o pid=或者# pgrep java,pgrep只需要命令名的一部分作为输出参数来提取Bash命令(pgrep jav也可以),ps需要输入命令准确的全名)
    -L:显示线程的相关信息
    ps -eo cmd e:显示进程的环境变量

    2. 图像文件的批量缩放及格式转化

    #!/bin/bash
    #Filename: image_help.sh
    #Description: A script for image management
    if [ $# -ne 4 -a $# -ne 6 -a $# -ne 8 ];
    then
            echo Incorrect number of arguments
            exit 2
    fi
    while [ $# -ne 0 ];
    do
            case $1 in
            -source) shift; source_dir=$1 ; shift ;;
            -scale) shift; scale=$1 ; shift ;;
            -percent) shift; percent=$1 ; shift ;;
            -dest) shift ; dest_dir=$1 ; shift ;;
            -ext) shift ; ext=$1 ; shift ;;
            *) echo Wrong parameters; exit 2 ;;
            esac;
    done
    for img in `echo $source_dir/*` ;
    do
            source_file=$img
            if [[ -n $ext ]];
            then
                    dest_file=${img%.*}.$ext
            else
                    dest_file=$img
            fi
    if [[ -n $dest_dir ]];
    then
            dest_file=${dest_file##*/}
            dest_file="$dest_dir/$dest_file"
    fi
    if [[ -n $scale ]];
    then
            PARAM="-resize $scale"
    elif [[ -n $percent ]];
    then
            PARAM="-resize $percent%"
    fi
    echo Processing file : $source_file
    convert $source_file $PARAM $dest_file
    done

    结束语
    很久没有仔细的看完整本书并记下笔记,曾经几度想过放弃,但是不能半途而废,终于坚持下来了,呵呵。过程虽然枯燥乏味,但是学到很多有用的技巧,以后得多练练,其实还是有点意思的,哈哈,感觉自己awk数组方面不太熟悉,下一本书《sedawk》。

    Wed Jan 23 11:14:44 CST 2013

    • 本文由 发表于 2013-01-23
    • 转载请务必保留本文链接:https://linuxeye.com/280.html
    Linux下内置命令和外部命令详解 Linux

    Linux下内置命令和外部命令详解

    Linux的命令分为内部命令和外部命令: 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。 type可以用来判断一个命令是否为内...
    shell字符串处理 脚本

    shell字符串处理

    字符串操作(长度,读取,替换) 表达式 含义 ${#string} $string的长度 ${string:position} 在$string中, 从位置$position开始提取子串 ${stri...
    Linux shell用法和技巧 脚本

    Linux shell用法和技巧

    检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台: Ctrl + z 将进程转到前台: fg 产...
    匿名

    发表评论

    匿名网友

      • avatar PHP程序员雷雪松

        ps平时用的多,查看进程id.