Linux系统命令及其详解3

来源:互联网 发布:js触发select 下拉框 编辑:程序博客网 时间:2024/06/16 03:23

名称:kill
  使用权限:所有使用者
  使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
  说明:kill 送出一个特定的信号(signal) 给行程id pid 的行程根据该信号而做特定的动作,若没有指定,预设是送出终止 (TERM)的信号
  把计:
-s (signal):其中可用的讯号有 HUP (1), KILL (9), TERM (15),分别代表着重跑,砍掉,结束;详细的信号可以用 kill -l
-p:印出 pid ,并不送出信号
-l (signal):列出所有可用的信号名称
  范例:
  将 pid 323 的行程砍掉(kill):
kill -9 323
  将 pid 456 的行程重跑(restart):
kill -HUP 456


名称:nice
  使用权限:所有使用者

  使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
  说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序,内定的 adjustment10,范围为 -20 (最高优先序)19 (最低优先序)
  把计:
-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
--help 显示求助讯息
--version 显示版本资讯
  范例:
  将 ls 的优先序加 1 并执行:
nice -n 1 ls

  将 ls 的优先序加 10 并执行:
nice lsls的优先序加 10并执行

  注意:优先序 (priority) 为作业系统用来决定CPU 分配的参数,Linux使用『回合制(round-robin)』的演算法来做CPU 排程,优先序越高,所可能获得的CPU时间就越多。



名称:ps 
  使用权限:所有使用者
  使用方式:ps [options] [--help]
  说明:显示瞬间行程 (process) 的动态
  参数:
ps 的参数非常多,在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程

au(x) 输出格式:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□b进行I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令

  范例:

ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
........


名称:pstree 
  使用权限:所有使用者
  使用方式:
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
pstree -V
  说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定)或是以 init这个基本行程为根 (root) ,如果有指定使用者id , 则树状图会只显示该使用者所拥有的行程
  参数:
-a 显示该行程的完整指令及参数,如果是被记忆体置换出去的行程则会加上括号
-c 如果有重覆的行程名,则分开列出 (预设值是会在前面加上*
  范例:

pstree

init-+-amd
|-apmd
|-atd
|-httpd---10*[httpd]
%pstree -p
init(1)-+-amd(447)
|-apmd(105)
|-atd(339)
%pstree -c
init-+-amd
|-apmd
|-atd
|-httpd-+-httpd
| |-httpd
| |-httpd
| |-httpd
....



名称:renice 
  使用权限:所有使用者

  使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

  说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
  把计:
-p pid 重新指定行程的 idpid的行程的优先序
-g pgrp 重新指定行程群组(process group)id pgrp 的行程(一个或多个)的优先序
-u user 重新指定行程拥有者为 user的行程的优先序
  范例:
  将行程 id 987 32 的行程与行程拥有者为daemon root 的优先序号码加1:
renice +1 987 -u daemon root -p 32
  注意:每一个行程(Process)都有一个唯一的(unique) id


名称:top 
  使用权限:所有使用者
  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
  说明:即时显示 process 的动态
  把计:
d:改变显示的更新速度,或是在交谈式指令列( interactive command)s
q:没有任何延迟的显示速度,如果使用者是有superuser 的权限,top 将会以最高的优先序执行
c:切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S:累积模式,会将己完成或消失的子行程( dead child process ) CPU time 累积起来
s:安全模式,将交谈式指令取消,避免潜在的危机
i:不显示任何闲置 (idle)或无用 (zombie)的行程
n:更新的次数,完成后将会退出top
b:批次档模式,搭配"n" 参数一起使用,可以用来将top 的结果输出到档案内
  范例:
  显示更新十次后退出 ;
top -n 10

  使用者将不能利用交谈式指令来对行程下命令:
top -s

  将更新显示二次的结果输入到名称为 top.log 的档案里:
top -n 2 -b < top.log

名称:skill 
  使用权限:所有使用者
  使用方式: skill [signal to send] [options] 选择程序的规则
  说明:

  送个讯号给正在执行的程序,预设的讯息为TERM (中断) ,较常使用的讯息为 HUP , INT , KILL , STOP , CONT ,0
  讯息有三种写法:分别为 -9 , -SIGKILL , -KILL , 可以使用-l -L 已列出可使用的讯息。
  一般参数:
-f 快速模式/尚未完成
-i 互动模式/每个动作将要被确认
-v 详细输出/列出所选择程序的资讯
-w 智能警告讯息/尚未完成
-n 没有动作/显示程序代号
  参数:选择程序的规则可以是, 终端机代号,使用者名称,程序代号,命令名称。
-t 终端机代号 ( ttypty )
-u 使用者名称
-p 程序代号 ( pid )
-c 命令名称 可使用的讯号:
  以下列出已知的讯号名称,讯号代号,功能。

  名称 (代号)功能/描述
ALRM 14 离开
HUP 1 离开
INT 2 离开
KILL 9 离开/强迫关闭
PIPE 13 离开
POLL 离开
PROF 离开
TERM 15 离开
USR1 离开
USR2 离开
VTALRM 离开
STKFLT 离开/只适用于i386, m68k, armppc硬体
UNUSED 离开/只适用于i386, m68k, armppc硬体
TSTP 停止 /产生与内容相关的行为
TTIN 停止 /产生与内容相关的行为
TTOU 停止 /产生与内容相关的行为
STOP 停止 /强迫关闭
CONT 从新启动 /如果在停止状态则从新启动,否则忽略
PWR 忽略 /在某些系统中会离开
WINCH 忽略
CHLD 忽略
ABRT 6 核心
FPE 8 核心
ILL 4 核心
QUIT 3 核心
SEGV 11 核心
TRAP 5 核心
SYS 核心 /或许尚未实作
EMT 核心 /或许尚未实作
BUS 核心 /核心失败
XCPU 核心 /核心失败
XFSZ 核心 /核心失败
  范例:
  停止所有在 PTY 装置上的程序
skill -KILL -v pts/*
  停止三个使用者 user1 , user2 , user3
skill -STOP user1 user2 user3

  其他相关的命令: kill

名称:expr 
  使用权限:所有使用者
### 字串长度
shell>> expr length "this is a test"
14

### 数字商数
shell>> expr 14 % 9
5

### 从位置处抓取字串
shell>> expr substr "this is a test" 3 5
is is

### 数字串 only the first character

shell>> expr index "testforthegame" e
2

### 字串真实重现
shell>> expr quote thisisatestformela
thisisatestformela


名称: tr
### 1.比方说要把目录下所有的大写档名换为小写档名?

  似乎有很多方式,"tr"是其中一种:
#!/bin/sh
dir="/tmp/testdir";
files=`find $dir -type f`;
for i in $files
do
dir_name=`dirname $i`;
ori_filename=`basename $i`
new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;
#echo $new_filename;
mv $dir_name/$ori_filename $dir_name/$new_filename
done

### 2.自己试验中...lowercase to uppercase

tr abcdef...[del] ABCDE...[del]
tr a-z A-Z
tr [:lower:] [:upper:]

shell>> echo "this is a test" | tr a-z A-Z > www
shell>> cat www
THIS IS A TEST

### 3.去掉不想要的字串
shell>> tr -d this ### 去掉有关 t.e.s.t
this

man
man
test
e
### 4.取代字串
shell>> tr -s "this" "TEST"
this
TEST
th
TE

指令:clear 
  用途:清除萤幕用。
  使用方法:在 console 上输入 clear

名称: reset, tset
  使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
  使用说明:
reset 其实和 tset是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数,命令列或是其它的组态档决定目前终端机的型态。如果指定型态是? 的话,这个程式会要求使用者输入终端机的型别。

  由于这个程式会将终端机设回原始的状态,除了在login 时使用外,当系统终端机因为程式不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o例如不小心把二进位档用 cat指令进到终端机,常会有终端机不再回应键盘输入,或是回应一些奇怪字元的问题。此时就可以用reset 将终端机回复至原始状态。选项说明:
-p
  将终端机类别显示在萤幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。
-e ch
  将 erase 字元设成 ch
-i ch
  将中断字元设成 ch
-k ch
  将删除一行的字元设成 ch
-I
  不要做设定的动作,如果没有使用选项-Q 的话,erase,中断及删除字元的目前值依然会送到萤幕上。
-Q
  不要显示 erase,中断及删除字元的值到萤幕上。
-r
  将终端机类别印在萤幕上。
-s
  将设定 TERM 用的命令用字串的型式送到终端机中,通常在.login .profile 中用
  范例:
  让使用者输入一个终端机型别并将终端机设到该型别的预设状态。
# reset ?

  将 erase 字元设定 control-h
# reset -e ^B

  将设定用的字串显示在萤幕上
# reset -s
Erase is control-B (^B).
Kill is control-U (^U).
Interrupt is control-C (^C).
TERM=xterm;

名称:compress
  使用权限:所有使用者
  使用方式:compress [-dfvcV] [-b maxbits] [file ...]
  说明:
compress 是一个相当古老的 unix档案压缩指令,压缩后的档案会加上一个.Z 延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案tar 起来再压缩。由于gzip 可以产生更理想的压缩比例,一般人多已改用gzip 为档案压缩工具。
  参数:
c 输出结果至标准输出设备(一般指荧幕)
f 强迫写入档案,若目的档已经存在,则会被覆盖(force)
v 将程式执行的讯息印在荧幕上 (verbose)
b 设定共同字串数的上限,以位元计算,可以设定的值为9 16 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值16 bits (bits)
d 将压缩档解压缩
V 列出版本讯息
  范例:
  将 source.dat 压缩成source.dat.Z ,source.dat.Z 已经存在,内容则会被压缩档覆盖。
compress -f source.dat

  将 source.dat 压缩成source.dat.Z ,并列印出压缩比例。
-v -f可以一起使用
compress -vf source.dat

  将压缩后的资料输出后再导入 target.dat.Z 可以改变压缩档名。
compress -c source.dat > target.dat.Z

-b 的值越大,压缩比例就越大,范围是9-16 ,预设值是16
compress -b 12 source.dat

  将 source.dat.Z 解压成 source.dat ,若档案已经存在,使用者按y 以确定覆盖档案,若使用-df 程式则会自动覆盖档案。由于系统会自动加入.Z 为延伸档名,所以source.dat 会自动当作source.dat.Z 处理。

compress -d source.dat
compress -d source.dat.Z 

0 0
原创粉丝点击