意:优先序 (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 重新指定行程的 id 为 pid 的行程的优先序 -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 终端机代号 ( tty 或 pty ) -u 使用者名称 -p 程序代号 ( pid ) -c 命令名称 可使用的讯号: 以下列出已知的讯号名称,讯号代号,功能.
名称 (代号) 功能/ 描述 ALRM 14 离开 HUP 1 离开 INT 2 离开 KILL 9 离开/ 强迫关闭 PIPE 13 离开 POLL 离开 PROF 离开 TERM 15 离开 USR1 离开 USR2 离开 VTALRM 离开 STKFLT 离开/ 只适用于i386, m68k, arm 和 ppc 硬体 UNUSED 离开/ 只适用于i386, m68k, arm 和 ppc 硬体 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
名称: lpd 使用权限: 所有使用者 使用方式:lpd [-l] [#port] lpd 是一个常驻的印表机管理程式,它会根据 /etc/printcap 的内容来管理本地或远端的印表机./etc/printcap 中定义的每一个印表机必须在 /var/lpd 中有一个相对应的目录,目录中以 cf 开头的档案表示一个等待送到适当装置的印表工作.这个档案通常是由 lpr 所产生.
lpr 和 lpd 组成了一个可以离线工作的系统,当你使用 lpr 时,印表机不需要能立即可用,甚至不用存在.lpd 会自动监视印表机的状况,当印表机上线后,便立即将档案送交处理.这个得所有的应用程式不必等待印表机完成前一工作. 参数: -l: 将一些除错讯息显示在标准输出上. #port: 一般而言,lpd 会使用 getservbyname 取得适当的 TCP/IP port,你可以使用这个参数强迫 lpd 使用指定的 port. 范例: 这个程式通常是由 /etc/rc.d 中的程式在系统启始阶段执行.
名称 lpq -- 显示列表机贮列中未完成的工作 用法 lpq [l] [P] [user] 说明 lpq 会显示由 lpd 所管理的列表机贮列中未完成的项目. 范例 范例 1. 显示所有在 lp 列表机贮列中的工作 # lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相关函数 lpr,lpc,lpd
名称: lpr 使用权限: 所有使用者 使用方式:lpr [ -P printer ] 将档案或是由标准输入送进来的资料送到印表机贮列之中,印表机管理程式 lpd 会在稍后将这个档案送给适当的程式或装置处理.lpr 可以用来将料资送给本地或是远端的主机来处理.参数: -p Printer: 将资料送至指定的印表机 Printer,预设值为 lp. 范例: 将 www.c 和 kkk.c 送到印表机 lp. lpr -Plp www.c kkk.c
名称: lprm -- 将一个工作由印表机贮列中移除 用法 /usr/bin/lprm [P] [file...] 说明 尚未完成的印表机工作会被放在印表机贮列之中,这个命令可用来将常未送到印表机的工作取消.由于每一个印表机都有一个独立的贮列,你可以用 -P 这个命令设定想要作用的印列机.如果没有设定的话,会使用系统预设的印表机. 这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言,只有档案的拥有者或是系统管理员才有这个权限. 范例 将印表机 hpprinter 中的第 1123 号工作移除 lprm -Phpprinter 1123
将第 1011 号工作由预设印表机中移除 lprm 1011
名称: fdformat 使用权限: 所有使用者 使用方式:fdformat [-n] device 使用说明: 对指定的软碟机装置进行低阶格式化.使用这个指令对软碟格式化的时候,最好指定像是下面的装置:
/dev/fd0d360 磁碟机 A: ,磁片为 360KB 磁碟 /dev/fd0h1440 磁碟机 A: ,磁片为 1.4MB 磁碟 /dev/fd1h1200 磁碟机 B: ,磁片为 1.2MB 磁碟 如果使用像是 /dev/fd0 之类的装置,如果里面的磁碟不是标准容量,格式化可能会失败.在这种情况之下,使用者可以用 setfdprm 指令先行指定必要参数. 参数: -n 关闭确认功能.这个选项会关闭格式化之后的确认步骤. 范例: fdformat -n /dev/fd0h1440 将磁碟机 A 的磁片格式化成 1.4MB 的磁片.并且省略确认的步骤.
名称: mformat 使用权限: 所有使用者 使用方式: mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
在已经做过低阶格式化的磁片上建立 DOS 档案系统.如果在编译 mtools 的时候把 USE 上一页 [1] [2] [3] [4] [5] 下一页 [C语言系列]C# 和 Linux 时间戳转换 [Web开发]PHP flock文件锁介绍 [Web开发]flock() Linux下的文件锁 [电脑应用]Linux下的六个免费的虚拟主机管理系统介绍 [电脑应用]Linux数据库大比拚 [操作系统]在Windows中玩转Linux操作系统 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]linux指令大全 [办公软件]掌握 Linux 调试技术 [办公软件]理解 Linux 配置文件
|