1、Linux 指令大全(3)本帖被 easy8 执行置顶操作(2007-05-01) 名称:/etc/aliases 使用权限:系统管理者 使用方式: 请用 newaliases 更新资料库 说明: sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases 档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinuxlink.ece.uci.edu
2、的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。 /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例: # newaliases 下面命令会做相同的事, # sendmail -bi 相关命令: mail, mailq, newaliases, sendmail ” mail
3、 返回 名称:mail 使用权限:所有使用者 使用方式:mail -iInv -s subject -c cc-addr -b bcc-addr user1 user 2 . 说明: mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。 参数: i 忽略 tty 的中断讯号。 (interrupt) I 强迫设成互动模式。 (Interactive) v 列印出讯息,例如送信的地点、状态等等。 (verbose) n 不
4、读入 mail.rc 设定档。 s 邮件标题。 c cc 邮件地址。 b bcc 邮件地址。 范例: 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。 mail user1email.address mail user1email.address user2 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。 mail -s 标题 -c user1 user2 mail.txt 指
5、令:mesg 使用权限 : 所有使用者 使用方式 : mesg y|n 说明 : 决定是否允许其他人传讯息到自己的终端机介面 把计 y : 允许讯息传到终端机介面上。 n : 不允许讯息传到终端机介面上 。 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。 例子 : 改变目前讯息设定,改成不允许讯息传到终端机介面上 : mesg n 与 mesg 相关的指令有: talk,write ,wall。 名称:/etc/aliases 使用权限:系统管理者 使用方式: newaliases 说明: sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当
6、sendmail 收到一个要送给 xxx 的信时,它会依据 aliases 档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinuxlink.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。 /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/al
7、iases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。 参数:没有任何参数。 范例: # newaliases 下面命令会做相同的事, # sendmail -bi 相关命令: mail, mailq, newaliases, sendmail 名称 : talk 使用权限 : 所有使用者 使用方式 : talk person ttyname 说明 : 与其他使用者对谈 把计 : person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入 personmachine.name ttyname : 如果使用
8、者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息 例子.1 : 与现在机器上的使用者 Rollaend 对谈,此时 Rollaend 只有一个连线 : talk Rollaend 接下来就是等 Rollaend 回应,若 Rollaend 接受,则 Rollaend 输入 talk jzlee即可开始对谈,结束请按 ctrl+c 例子.2 :与 linuxfab.cx 上的使用者 Rollaend 对谈,使用 pts/2 来对谈 : talk Rollaendlinuxfab.cx pts/2接下来就是等 Rollaend 回应,若 Rollaend 接受,则 Rollae
9、nd 输入 talk jzleejzlee.home即可开始对谈,结束请按 ctrl+c 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。 名称 : wall 使用权限 : 所有使用者 使用方式 : wall message 使用说明: wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D) 例子 : 传讯息“hi“ 给每一个使用者 : wall hi 名称 : write 使用权限 : 所有使用者 使用方式 : write user ttyname 说明 : 传讯息
10、给其他使用者 把计 : user : 预备传讯息的使用者帐号 ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息 例子.1 : 传讯息给 Rollaend,此时 Rollaend 只有一个连线 : write Rollaend 接下来就是将讯息打上去,结束请按 ctrl+c 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2, pts/3 : write Rollaend pts/2接下来就是将讯息打上去,结束请按 ctrl+c 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方 名称:kill 使用权限:所有
11、使用者 使用方式: 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 的行程砍掉 (kil
12、l) : kill -9 323 将 pid 为 456 的行程重跑 (restart) : kill -HUP 456 名称:nice 使用权限:所有使用者 使用方式:nice -n adjustment -adjustment -adjustment=adjustment -help -version command arg. 说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序) 把计 -n adjustment, -adjustment, -adjustment
13、=adjustment 皆为将该原有优先序的增加 adjustment -help 显示求助讯息 -version 显示版本资讯 范例: 将 ls 的优先序加 1 并执行 : nice -n 1 ls 将 ls 的优先序加 10 并执行 : nice ls 将 ls 的优先序加 10 并执行 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数, Linux 使用回合制(round-robin)的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU 时间就越多。 名称:ps 使用权限:所有使用者 使用方式:ps options -help 说明:显示瞬间行程 (
14、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
15、 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
16、? 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 ro
17、ot 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 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 * 范
18、例: 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)的优先序( 一个或多个将根据所下的参数
19、而定) 把计 -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
20、 q c S s n 说明:即时显示 process 的动态 把计 d : 改变显示的更新速度,或是在交谈式指令列 ( interactive command)按 s q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称 S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来 s : 安全模式,将交谈式指令取消 , 避免潜在的危机 i : 不显示任何闲置 (idle) 或无用 (zo
21、mbie) 的行程 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 ,
22、 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 离开