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

脚本1 3阅读模式

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数组方面不太熟悉,下一本书《sed与awk》。

Wed Jan 23 11:14:44 CST 2013

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

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

Linux的命令分为内部命令和外部命令: 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。 type可以用来判断一个命令是否为内...
    • PHP程序员雷雪松
      PHP程序员雷雪松

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

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证