好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

linux中dir命令参数应用 - linux教程

linux中dir命令参数应用

以下是linux中dir命令参数的使用方法.

linux中dir命令参数功能:

linux中dir命令参数支持的命令格式为:

DIR [filename] [/O[sortorder]] [/S] [/W]

linux中dir命令参数不区分大小写,支持多参数。

主要支持以下参数:

/ON 按名称排序

/OE 按扩展名排序

/OS 按大小排序

/OD 按修改时间排序

/S 显示子目录文件

/W 采用宽列表格式

1.linux中dir命令参数的思想是:通过对各参数的判断,构造出DOS中对应的命令字符串(var),运行之。

2.由于事先无法确定命令有多少参数,用shift语句让参数左移,通过case语句对$1参数的情况进行判断,将其对应bash下的命令参数加到将要运行的命令字符串的后面。

3.需要格外处理的是:linux中dir命令参数对应ls -a -l;而dir /w对应ls -a -m。这个通过对$*中是否存在[/w]或[/W]进行处理,具体方法是,记录[/w]或[/W]出现的次数,如果最后次数为0,则将要运行的命令字符串初始值为ls -a -l,否则为ls -a -m。然后对其他参数的情况进行处理(通过case语句)。

linux中dir命令参数代码 :

  • if  [  "$1"  =  "/?"  ] 
  • then  
  • echo "show the files in the directory or subdirectory"  
  • echo "DIR [filename] [/O[sortorder]] [/S] [/W]"  
  • echo "/O sort by"  
  • echo "sortorder N by name S by size"  
  • echo " E by extension D by time"  
  • echo "/S show the files in the directory and subdirectory"  
  • echo "/W use wide list format "  
  • exit 1 
  • fi 
  • i=0 
  • var =ls 
  • varapp=""  
  • for  id 
  • do  
  • if  [  "$id"  =  "/W"  ] 
  • then 
  • i=`expr $i + 1` 
  • fi 
  • if  [  "$id"  =  "/w"  ] 
  • then 
  • i=`expr $i + 1` 
  • fi 
  • done 
  • if  [ $i -eq 0 ] 
  • then  
  • varapp=" -a -l"  
  • else  
  • varapp=" -a -m"  
  • fi 
  • if  [ $# -gt 0 ] 
  • then 
  • while  [ $# -gt 0 ] 
  • do  
  • case  $1  in  
  • /OE|/oe|/Oe|/oE) var =$ var $ " -X"  
  • ;; 
  • /OD|/od|/Od|/oD) var =$ var $ " -t"  
  • ;; 
  • /OS|/os|/Os|/oS) var =$ var $ " -s"  
  • ;; 
  • /ON|/on|/On|/oN) var =$ var  
  • ;; 
  • /S|/s) var =$ var $ " -R"  
  • ;; 
  • /W|/w) var =$ var  
  • ;; 
  • *) var =$ var " $1"  
  • esac 
  • shift 
  • done 
  • fi 
  • var =$ var $varapp 
  • $var  

    以上是linux中dir命令参数的使用方法.

    查看更多关于linux中dir命令参数应用 - linux教程的详细内容...

  •   阅读:59次