Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
[root@sz1
root]# ps -aux
USERPID %CPU %MEMVSZRSS TTYSTAT STARTTIME COMMAND
root10.10.11372472 ?S21:320:04 init
root20.00.000 ?SW21:320:00 [keventd]
USER进程的属主;
PID进程的ID;
PPID父进程;
%CPU进程占用的CPU百分比;
%MEM占用内存的百分比;
NI进程的NICE值,数值大,表示较少占用CPU时间;
VSZ进程虚拟大小;
RSS驻留中页的数量;
TTY终端ID
WCHAN正在等待的进程资源;
START启动进程的时间;
TIME进程消耗CPU的时间;
COMMAND命令的名称和参数;
STAT进程状态
DUninterruptible sleep (usually IO)
R正在运行可中在队列中可运行的;
S处于休眠状态;
T停止或被追踪;
W进入内存交换(从内核2.6开始无效);
X死掉的进程;
Z僵尸进程;
N优先级较低的进程
L有些页被锁进内存;
s进程的领导者(在它之下有子进程);
lis multi-threaded (using CLONE_THREAD,
like NPTL pthreads do)
+位于后台的进程组;
ps提供了很多的选项参数,常用的有以下几个;
l长格式输出;
u按用户名和启动时间的顺序来显示进程;
j用任务格式来显示进程;
f用树形格式来显示进程;
a显示所有用户的所有进程(包括其它用户);
x显示无控制终端的进程;
r显示运行中的进程;
ww避免详细参数被截断;
标准输出和标准错误输出可以重定向到同一个文件,一般形式是:
command&>file
等价于下面形式的命令:
command > file2>& 1
–diff:按行比较两个文件的不同
–cmp:按字节比较两个文件的不同
–diff3:按行比较三个文件的不同
–sdiff:输出两个文件的合集。输出文件中两个文件原本的行在同一行中不同列
–comm:快速的比较两个已经排过序的文件,输出两个文件的合集,交集,或任何单独的部分
sort
•功能:对文件中的各行进行排序。
–sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。缺省情况下以整行为关键字按ASCII字符顺序进行排序。
•常用选项
–- m若给定文件已排好序,合并文件。
–- c检查给定文件是否已排好序。
–- u对排序后认为相同的行只留其中一行。
–- d按字典顺序排序,仅比较字母、数字、空格和制表符。
–- r按逆序输出排序结果。
–- b在每行中寻找排序关键字时忽略前导的空格和制表符。
–- t separator指定字符separator作为字段分隔符。
–-k,pos1,[pos2]:以pos1到pos2中间的字符为键值
•使用举例
–cat words | uniq –c | sort –k 1,1 –n –r将一批词按照出现频次有高到低排序
•cut功能:用来从标准输入或文本中剪切指定列或者域
•常用选项:
–-c:指定剪切字符数
–-f:field指定剪切指定域数
–-d:delimit指定除空格和tab外的域分隔符
•使用举例:
–cut–d : -f 3 example.txt
–who–u|cut–c1-8
•paste功能:将两个文件按行粘贴在不同的列中。是cut的反向操作
•
•
•(list) list将在一个子shell中执行,不会对当前shell产生影响,返回list的exit值
•{ list; }可以作组合命令用,list将在当前shell中被执行,list结尾处必须要有新行或‘;’号,返回list的exit值,list前后必须有空格
•推荐使用[[ ]]进行条件测试
if
[[“x$str”==“xa.txt”&& -f b.txt ]]
then
cmd;
fi
•if [ $a–lt 0 ]
then
echo OK
fi
•推荐使用(( ))
if(( a
> 0 ))
then
echo OK
fi
•for (( expr1 ; expr2 ; expr3 )) ; do list ;done
for ((i=0;i<100;i++));do echo $i;done
•while list; do list; done
while read line
do
echo $line
done < a.txt
•until list; do list; done
•
•截去域名尾部
name=jx-sys-superdb.jx.baidu.com
echo
${name%%.*}
jx-sys-superdb
•截取日期
str=20081011
year=${str:0:4}
•替换
echo
${name//jx/tc}
tc-sys-superdb.tc.baidu.com
•功能:查找文件。find将在目录树中查找和用户指定模式相符合的文件。locate则是通过在locate的数据库中查找,locate的数据库由updatedb程序负责维护。
•常用选项:
–-name:指定要查找的文件名
–-perm:指定要查找文件的权限
–-size:指定要查找文件的大小范围
–-mtime:指定查找修改时间在n天以内的文件。
–exec command:将find命令查找到的文件作为command命令的参数
-使用举例:
-find . -mtime –1:查找在最近一天内被修改的文件
-find . -name b.cpp -exec mv \{\} a.cpp \;
dd
拷贝二进制文件,
格式:
count=BLOCKS只拷贝BLOCKS个数据块
ibs=BYTES一次读入的数据量
if=FILE输入文件
obs=BYTES一次写出的数据量
of=FILE输出文件
seek=BLOCKS输出文件跳过BLOCKS个数据块
skip=BLOCKS输入文件跳过BLOCKS个数据块
time dd
if=/dev/zero of=test bs=1024k count=1024查看系统io性能
•
•
•x=aabbaarealwwvvww
echo “${x%w*w}“ #截去尾部最短匹配
aabbaarealwwvv
echo “${x%%w*w}“#截去尾部最长匹配
aabbaareal
echo “${x##a*a}“#截去头部最长匹配
lwwvvww
echo “${x#a*a}“#截去头部最短匹配
bbaarealwwvvww
•x=abcdabcd
echo ${x/a/b} #只替换一个bbcdabcd
echo ${x//a/b} #替换所有bbcdbbcd
•x=abcd
•${#x} #获取字串长度
4
•expr index $x “b“#获取子串所在偏移
2
expr index $x "a“
#获取子串所在偏移
1
•echo ${x:1}#获取子串
bcd
echo ${x:2}
cd
echo ${x:0:2}
ab
遍历数组:
•total=${#A[*]}
•for ((i = 0; i < total; i++))
•do
•echo ${A[$i]}
•done
•
•${!p*} #返回所有以p开头的变量
echo
${!P*}
PATH PIPESTATUS PPID PS1 PS2 PS4 PWD
•${p:-word} #如果变量p不存在,返回"word”
•${p:=word} #如果变量p不存在,返回"word",并将p的值设为"word"
•${p:?word} #如果变量p不存在,将"word"打入STDERR
•${p:+word} #如果变量p存在,返回"word"
–
–
–将标准错误和标准输出一起过滤
•./shell.sh2>&1|grep
–只过滤标准错误,标准输出不要
•./shell.sh 2>&1
1>/dev/null
•两个重定向顺序不能改变
•./shell.sh 1>/dev/null
2>&1的结果是抛弃所有输出和错误