2.3 UNIX命令
一、UNIX命令格式
1、UNIX命令提示符
在命令行下,操作系统会显示一提示符,提示用户在此提示符后可以输入一行命令。不同的Shell有不同的缺省提示符:
B Shell和K Shell的缺省提示符为"$";
C Shell的缺省提示符为"%";
但当以root用户登录时,系统提示符统一缺省为"#"。
用户可以更改自己的缺省Shell和提示符。
2、基本命令格式
在Shell提示符下,就可以输入UNIX命令。UNIX命令的基本格式如下:
command 参数1 参数2 ... 参数n
UNIX命令由一个命令(command)和零到多个参数构成,命令和参数之间,以及参数与参数之间用空格隔开。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令区分大小写,且命令和参数之间必须隔开。如:对DOS来说是以下四条命令是相同的:
cd\tmp
cd \tmp
CD \tmp
cd \Tmp
对UNIX操作系统来说,改变目录的命令也是cd命令,以下是正确的UNIX cd命令:
cd /tmp
cd /Tmp
但tmp和Tmp是两个不同的目录。以下两条命令:
cd/tmp
CD /tmp
已经不是cd命令了。
3、在一行中运行多个命令
可以在一行中输入多个命令,命令间用“;”分开,如:
mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
UNIX会顺序执行以上三条命令。
4、在后台运行程序
要让程序在后台执行,只需在命令行的最后加上“&”符号。
[例1] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件。
执行命令和立即显示的内容如下:
$ find . -name abc -print&
10722
$
...
10722表示进程号(PID)。当find命令在后台执行完后,会显示结果。
当在后台运行命令时,最好将其输出重定向输出到一个文件中去,以便以后检查。
[例2] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件并将结果存到myfind文件中。
执行命令如下:
$ find . -name abc -print>myfind&
在运行后台程序的同时可以继续输入命令。
5、nohup命令
当终端退出后,由该终端启动的后台程序自动退出。要想终端退出后程序不停止运行,则要用nohup命令启动后台程序。如对于例2的命令加入nohup后变为:
$ nohup find . -name abc -print>myfind&
二、特殊按键
在UNIX命令操作中有一些特殊键,列表如下:
Ctrl + d 结束键盘输入或退出当前shell
Del 中断键,停止当前动作回到shell
Ctrl+s 暂停屏幕输出
Ctrl+q 继续屏幕输出
Ctrl+u kill键,删除光标所在行的所有字符
Esc 结束当前的操作状态(如vi)
三、UNIX常用简单命令
下表列出了几个简单的UNIX命令:
解释 UNIX命令 命令举例
查看帮助信息 man man date
查看日期 date date
显示日历 cal cal 1998
显示大写大字 banner banner “ABCD”
计算器 bc bc
修改口令 passwd passwd
查看谁在使用系统 who who
查看我是谁 who am i who am i
显示用户信息 finger finger 用户名
清除屏幕 clear clear
1、man命令 - 查看帮助信息
举例:
查看man的使用方法: man
查看finger命令的帮助信息: man finger
2、date命令 - 显示、修改日期和时间
显示时间的命令如下:
date
显示如下:
Mon Aug 17 13:43:14 NST 1998
表示NST标准时间,1998年8月17日13:43:14,星期一。
3、cal命令 - 显示日历
举例:
显示1998年全年日历: cal 1998
显示1998年8月日历: cal 8 1998
4、banner命令 - 显示大写大字
举例:在屏幕上用大字显示“HUAWEI”,命令如下
banner "HUAWEI"
5、bc命令 - 简单计算器
bc命令可以进行加、减、乘、除、求模、乘方运算,运算符分别为“+”“-”“*”“/”“%”“^”。bc使用举例如下
bc
以后输入算式即可,如:
1234 * 3 + 2^4
按回车显示结果,以后等待输入其它算式。按<Ctrl>+d键退出bc。
6、passwd命令 - 修改口令
要修改自己的口令,只需运行:
passwd
以后系统会提示输入原来口令,并输入新口令。
7、who命令 - 查看正在使用UNIX的用户
用法如下:
who
系统会显示正在使用UNIX的用户名、终端号和登录时间。要查看使用者自己的信息,运行:
who am i
8、finger命令 - 显示用户信息
finger命令比who命令显示的信息量大,功能强。基本使用方法如下:
显示登录信息: finger
显示smith用户详细信息: finger smith
9、clear命令 - 清除屏幕
clear
四、UNIX用户间简单通讯命令
UNIX提供许多方式让用户相互通信,它允许你以文本的方式发送及接收信息。你可以传递信息给其他用户、所有用户、或自己。信息来源可以是文本文件或直接由键盘输入的内容。
(一)write 命令
可使用write 实用程序向已登录的另一个用户发送一条报文,当对方也使用write 命令时,双方之间就建立了通信。
当用户使用write 命令时,就在对方用户终端上显示提示信息。write 命令的格式如下:
write destination-user [terminal]
其中,destination-user 是你想与之通信的用户注册名,通常使用who 命令查看其注册名。如果对方在多台终端上登录,可通过用terminal 来控制write 的报文送向指定的终端。为了建立与其他用户的双向通话,用户和对方每次必须执行write 命令,且必须指定注册名。一般在使用UNIX 进行通话时,通信双方有一些约定:用“o” 表示结束一条报文,“oo” 表示结束这次通信,用ctrl-d 退出write 命令。
[例1] UNIX上两用户alex 和jenny 通过write命令通信。
在alex的所在终端上(<CR>表示回车):
$ write alex <CR>
Hi Alex, are you there? o<CR>
Message from Alex (tty11)[Sat Jan 5 15:08]….
Yes Jenny, I'm here. o<CR>
……
Thank you ,Alex, bye! oo<CR>
Ctrl-d
$
该例说明了使用write 命令实现Alex 和Jenny 的通信过程。首先Jenny 使用前两行向Alex发送了一条报文,接下来的两行是Alex 发送的报文Jenny 收到了,省略号表示他们的通信继续。最后,Jenny 用thank you,Alex,bye!oo 告诉Alex没有话要说了,并在下一行开始键入ctrl-d 来退出write 并回到shell。
(二)使用talk双方对话
talk 命令是一个虚拟通信命令,它允许登录双方通过键盘实时对话,其格式如下:
talk user-name [terminal]〈CR〉
注意,使用talk 进行双方对话时,双方使用的机器体系结构必须相同。当对方给出响应的talk命令后,双方终端上都显示
[connect established]
时,双方可双工通信了。双方可以以任意的速度从键盘输入,talk 把你的输入一行一行的显示在你和对方的屏幕上。用<Delete>退出talk 。
(三)使用mesg 拒绝和允许接收报文
mesg 命令允许或拒绝接收由其它终端发来的write 和talk通讯信息。mesg命令在本地终端运行,其使用格式如下:
mesg [y] [n]〈CR〉
其中,y 表示允许接收,n 表示拒绝接收。如既不给出y 也不给出n ,则报告现在的许可状态。例:
[例1] 显示状态:
$mesg <CR>
则命令的执行结果为:
is y
或 is n
[例2] 拒绝接收由其它终端发来的write 和talk通讯信息:
$mesg n
$mesg
is n
(四)wall 广播式消息传递
所有登录用户都可收到该消息。仅超级用户使用该命令。wall命令有以下几种格式:
# wall
# wall filename
# wall “send a message to all the people。”
2.4 注销(退出UNIX系统)
在每次使用完后,一定要进行注销,以防他人通过你的帐号进入系统,并保证系统的完整性。注销过程如下:在UNIX提示符下,运行:
$ exit
或
$ logout
或直接按键:
Ctrl+d。
由于UNIX操作系统的不同,注销的命令也可能不同。