linux&Perl&R  

su  youruser  youruser就是你要切换去的用户

qstat -u \* | le 查看那些人在写数据

qstat  –u  xyz:查看已投递任务跑的情况

qsub -S /bin/bash -cwd -l vf=1.2G jinhua

vf用来指定程序使用的内存 ,-P 和-q  用来指定的队列 (可以省略),jinhua 是投放任务 的脚本。

qsub-sge.pl --resource vf=2G --jobprefix hemz --reqsub group.sh

qstat –j ID | grep usage 可查看任务的mem使用情况; 

qstat | wc –l 显示所有大型机上项目总数

qdel –u xyz:删除所有任务

qmod –cj JobID 改变任务状态为正常

du –sk filename:查看一个文件夹大小

df -v:查看盘阵磁盘空间剩余:

du -h --max-depth=1:

更改文件读写权限:

chmod 700 *:文件拥有者可对当前目录下所有的文件和目录读写执行,其他人没有

chmod 740 file:自己都行,组内可读,其他人啥都干不了

chmod 700 ~:对home的拥有者可以读写执行,其他人浮云

u-user g-group o-other a=all       +增加特权 –删除特权 =设置特权

r-读 w-写 x-执行/搜索 u-用户当前的特权

chmod g=u file:给予组内用户文件拥有者的特权

chmod go= file:取消其他人的任何访问权

chmod a+x file:所有人都可以执行/chmod a-rw:取消所有人读和写的访问权

chmod –R 711 directory:对目录directory内的子目录和文件递归执行

自动调整文本对齐:

#!/usr/bin/perl

将光标放在#上,按ESC,输入要调整的行数,之后连按两次==.

调整全文TABLE值:

按ESC+:后输入:set ts=n(n为设定的TABLE值)

 命令行脚本

perl -ne 'BEGIN{$all=0} chomp;@a=split /\s+/;$b=(split /\s+/,`head -n 1 $a[2]`)[5];$all+=$b*$a[1]; END{print $all, "\n";}'

注:单引号是在命令行执行命令,”`”是在perl中执行命令。

perl -ne 'BEGIN{$a=0} if ($_ !~ /^>/) { chomp; s/\s+//g; $a+=length($_); } END{print $a, "\n";}'

查看文件夹里文件总数:

ls –l |wc –l

命令行投任务:

for i in `ls *`;do qsub -cwd -l vf=500M $i;done 

system("for i in {1..22} X Y;do ls $ARGV[1]/*/CNS/chr\$i.cns >> $ARGV[2]/list/chr\$i.list;done");

读入压缩文件:

open FI, " gzip -dc $filename |";

open FO, " | gzip > $filename";

Vi [option] [file]

   +n 从第n行开始编辑

   +/exp 从文件匹配字符串exp的第一行开始编辑

设置Vi基本环境:

在命令行输入:

   ai:自动缩进,新行将与前一行开头对齐

ic:在查找时忽略大小写

nu:显示行号,

1G:将光标置于文件首行

G:将光标置于文件末行

在vi环境下,执行shell命令,在命令行输入前加拨“!”如:!pwd

Less –N [file]:显示行号


2012-08-02 linux

评论

©linux&Perl&R Powered by LOFTER