获得某个目录下的所有目录以及子目录
#!/usr/bin/shcd $1function getPath{for file in *doif test -d $file ; thencd $fileecho "mkdir " `pwd` >> ./create_path.shgetPathcd ..fidone} echo "now is getting dirctory structure! ......"getPath[@more@]
指定目录解压
在解压缩某个存档文件时,使用 -C 选项来指定要在其中解压缩该文件的目录:tar xvf -C tmp/a/b/c newarc.tar.gz [@more@]
可以这样建目录
mkdir -p ./gwd/project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}[@more@]
split相当好使
用Split命令可以实现文件的分割,使用 cat 命令来完成分割文件的合并。 譬如,在下面 split 命令行中的 “800m” 表示分割后的每个文件为 800MB,“filename” 为待分割文件,分割后的文件自动命名为 xaa,xab,… split -b 800m GPSS.rcdcat 命令可将这些分割后的文件合并为一个文件,并重定向到“largefile”文件中(largefile为自定的文件名)。 $ cat x* > largeflie[@more@]
模拟一个大文件
今天突然想模拟一个大的文件一时没想到好的方法,就写了个循环,谁知道好的方法告诉我下#!/bin/shi=1sk=0while [ $i -le $1 ]do#echo $iecho "aaa,bbb,aaa" >> $2i=`expr $i + 1` sk=`du -sk`sk=`echo "scale=2;$sk/1024"|bc`if [ $sk -ge 200 ] ; then echo "文件大于200M" echo "总共循环了""$i""次" exitfidone [@more@]
Linux的load average的含义
在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢? 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中: - 它没有在等待I/O操作的结果 - 它没有主动进入等待状态(也就是没有调用'wait') - 没有被停止(例如:等待终止) 例如: uptime 7:51pm up 2 days, 5:43, 2 users, load average: 8.13, 5.90, 4.94 命令输出的最后内容表示在过去的1、5、15分钟内运行队列中的平均进程数量。 一般来说只要
什么是here document
一个here document是以<<开头的,后面所跟的是要在文档的结尾处重复出现的字符序列.<<是Shell的重定向标签,在这样的情 况下,他会强制将命令输入给here document.这个特殊的序列的作用就像是一个标记,来告诉Shell here document要在哪里结束.这个标记充列不可以出现在要传递给命令的行上,所以最好是将他们标记为最不常用的或是难以忘记的内容.如下面的这个例子:#!/bin/shcat <<gwdhelloI am bigstone!documentgwd而这个脚本的输出如下:hello I am bigstone!document[@more@]