Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53278
  • 博文数量: 20
  • 博客积分: 208
  • 博客等级: 二等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-17 14:53
文章分类

全部博文(20)

文章存档

2012年(1)

2011年(19)

我的朋友

分类:

2011-06-24 03:50:22

第2章、基本OS命令
本章将介绍:查找用户信息、查找环境信息、创建和编辑文件、命令组合和输出定向、使用手册、查找硬盘信息 。
本章解释基本的操作系统命令,提供查找有关用户和系统环境信息的方法,同时讲述建立和编辑文件、命令组合、输入重定向,显示手册以及查寻基本磁盘信息的各种方法。
2.1查找用户信息
在管理系统时,经常需要知道谁在使用系统及他们在做些什么。本节描述了解用户信息的命令:who、finger、rusers -1、whodo、id等。
2.1.1确定系统中有谁注册
(who、finger、rusers -1、whodo、id)可以使用上述四个命令之中的一个来发现谁注册进入系统。每个命令还显示各种不同附加信息。
2.1.1.1使用who命令
who命令显示注册进入系统的用户名单,注册的tty端口,以及日期和时间,如果某用户是远程注册的,那么本命令还显示该用户的远程系统名,使用who命令的方法是:键入who。
在下例中,用户irving是远程注册的,用户ignatz是系统gtxa 的本地用户。
gtxa% who
irving pts/1 Oct 31 14:33(elm)
ignatz console Oct 31 12:22
gtxa%
2.1.1.2使用finger命令
finger命令显示注册进入系统的用户注册名,同时显示用户全名(取名/etc/passwd文件对应项的information域),tty端口,星期几,注册时间,如果是远程注册的用户,还显示远程系统名。使用finger命令的方法是:键入finger
在这个例子里,用户winsor从系统castle远程注册
gtxa%flogin @openet
openet%finger
Login Name TTY Idle When Where
Winsor Janice Winsor pts/0 11 Thu 09:59 castle
gtxa%
2.1.1.3使用rusers -1命令
rusers -1(远程用户注册)命令,显示从远程系统注册的用户名清单,同时显示用户注册的系统名,tty端口,日期,登录时间以及空闲时间(idle time)。如果主机不空闲,那么最后一列不显示,使用本命令的方法是:键入rusers-1后再回车。
gtxa%rusers -1
Sending Broadcast for rusersd protocol version 3...
Sending Broadcast for rusersd protocol version 2...
jah caps:consloe Mar 3 13:03 22:03
amber facehole: console Mar 2 07:40
sebree ondine: consloe Mar 2 10:35 14
tut cairo: consloe Mar 2 16:48
jrt cairo: ttyp5 Mar 2 16:20 47:54(gap)
ramseyis mowthelawn: consloe Mar 2 16:33 28
ramseyis mowthelawn: ttpy6 Mar 3 14:20 25:14
(:0.0)
(More logins not shown)
gtxa%
2.1.1.4使用whodo命令
whodo命令显示日期、时间和系统名。它为每一个注册的用户显示设备名、UID、注册时间以及一个与此UID相联系的活动进程表。此表的内容包含设备名、PID、使用的CPU时间(分、秒)以及进程名。
键入Whodo,可以看到谁注册了,以及注册者在做什么。
gtxa%whodo
Tue Mar 12 15:48:o3 1992
SunOs
tty09 men 8:51
tty09 28158 0:9sh
tty52 bdr 15:23
tty52 21688 0:05sh
tty52 22788 0:01whodo
tty52 22017 0:03vi
tty52 22549 0:01sh
2.1.2检查用户的用户号和组号(id命令)
使用id命令可以显示注册用户的用户id和组id号,当用户不能访问他们认为属于自己的文件时,使用这些信息来查找错原因,据此信息也可知道用户所属的组。使用id命令时,用户先注册,然后键入id命令。如果uid和uid与出现问题的文件的uid或gid不匹配,就需要改变文件的属主或组,或者将用户加入相应的组中。详见第5章。
gtxa%id
uid=6693(winsor)gid=10(staff)
gtxa%su
Password:
#id
uid=0(rood) gid=1(other)
#
2.2查寻环境信息
每个系统都有一个运行环境,这些环境说明在用户初始化文件标准shell和Korn shell的.profile或C shell的.cshrc和.login中定义,也可通过shell直接定义环境变量。环境变量可以规定诸如用户主目录,注册名,缺省打印机,电子邮件地址以及访问Open Windows环境的路径。本讲讲述如何查到环境变量的设置。这方面的更详细信息请见第8章。
为了显示用户的环境变量设置,键入env命令。这样系统地显示出环境变更的设备清单,关于环境变量的缺省设置值及如何设置环境变量,请见第1章的有关内容。
gtxa%env
HOME=/
PATH=:/home/ignatz:/usr/bin:
/home/ignatz/bin:/bin:/home/bin:/etc:/usr/etc
LOGNANME=ignatz
HZ=100
TZ=PST8PDT
TERM=sun
SHELL=/bin/csh
MAIL=var/mail/ignatz
PWD=/
MANSECTS=\1:1m:1c:1f:1s:1b:2:\3:3
c:3i:3n:3m:3k:3g:3e:3x11:3xt:3w:3b:9:4:5:7:8
gtxa%
2.3创建和编辑文件
本节描述如何使用cat、touch、cp、mv、Text Editor和vi命令来创建和编辑文件。
2.3.1使用cat命令
使用cat命令可创建短文件或附加少量文本信息到一个已存在的文件末尾。用cat命令创建文件可以:
1、键入cat ;
2、录入文本内容;
3、键入回车;
4、键入Control-D。
文本被存盘,shell提示符重新出现。
用cat命令将文本附加到已存在的文件上可以:
1、键入cat ;
2、录入内容;
3、键入回车;
4、键入Control-D。
文体被存盘,shell提示符重新出现。
2.3.2使用touch命令
touch命令将每个文件的访问和改动时间设为当前时间,如果文件不存在,就创建一个新文件。可以用touch命令创建一个空文件来检查允许权和属主,或创建一个文件用于以后录入文本。
要创建一个空文件,只需键入touch 这样一个新的空文件就创建出来了,如果此文件已存在,那么文件的修改时间就变为当前的日期和时间。
gtxa%ls -1 junk
junk: No such file of directory
gtxa%touch junk
gtxa%ls -1 junk
-rw-r--r--livringstaff 0 Sep 11 15:06 junk
gtxa%
2.3.3文件拷贝(cp)或改名(mv)
可以通过一对一已存在的文件进行拷贝或改名来创建一个新文件。
拷贝已存在的文件的方法是:键入cp ,这样就得到了原文件的拷贝,而且保留了原来的文件。
mv
原文件被改名,原名文件就不再存在。
gtxa%mv quest /tmp/quest。old
gtxa%
2.3.4文本编辑器的使用
可以使用Open Windows的文体编辑来创建和编辑文件。然而普通用户在使用文本编辑器来编辑具有根允许权限(root pemissions )的文件时可能会出现一些问题。
进入Open Windows工作区的主菜单中选择programs,再在programs菜单中选择Editor来打开文体编辑器,也可以在命令行键入:textedit &来打开文体编辑器。打开之后,显示一个文本编辑器窗口。进行编辑时,可使用键盘上Cut、Copy、Paste、Undo键来加快文本的编辑速度。
2.3.5 vi的使用
全屏幕编辑器vi,通常是由系统管理员编辑文本文件。有专门的一些书讲述vi使用法。本节仅提供其中最常用的编辑命令供用户参考。只需键入 vi 。就可启动vi,如果文件不存在,那么就打开一个新文件,当存入内容时,此新文件就创建出来,如果文件已经存在,则在启动完vi以后,就在屏幕上显示此文件的开头一部分内容。
表2.1一些基本的vi命令
功能命令
不存盘退出:qi
存盘:w
存后退出:wq
存后退出ZZ
左移一字符h
右移一字符i
上移一行k
下移一行j
移到文件尾G
插入文本(插入方式)v(文本)ESC
在光标后附加文本a(文本)ESC
在行尾附加文本A(文本)ESC
如何退出命令方式ESC
删行dd
删字符x
删词dw
在上一行开始加入新文本O
在下一行开始加入新文本o
拷贝一行到缓冲区Y
将缓冲区内容置于当前光标之前P
将缓冲区内容置于当前光标之后p

2.4命令组合及输出重新定向
SunOS 5.0系统允许以多种方法组合命令,本节讲述命令组合的三种方法。
2.4.1在同一命令行里键入多个命令
在命令之间用分号(;)隔开,就可以在同一命令行中键入多个命令,例如,可以用cd /usr/bin;ls命令先转到一个目录中,再列出此目录中的目录和文件,另外一个例子是为Bourne shell设定环境变量再输出(export)该变量。
PATH=。:/usr/bin:$HOME/;export PATH
2.4.2输出重新定向(<>)
除非另外说明,命令结果通常显示在屏幕上,使用重新定向符(“<”和“>”),可以将输出结果重新定向,例如:将结果存入一个文件而不是将它显示在屏幕上,只需使用重新定向符“>”,指示shell将内容放入一个文件,下面的例子中,date命令的输出被重新定向到Sample.file文件中:
gtxa%date > samle.file
gtxa%
下面是Sample.file的内容:
gtxa%more sample.file
Tue May 26 13:26:59 PDT 1992
gtxa%
也可以重新定向输入。例如,将一个文件的内容邮件寄到用户ignatz@gtxa,键入mail igzatz@gtxa < report.file,report.file文件就通过电子邮件发给ignatz@gtxa。
2.4.3组合命令(|)
使用管道操作符(|)来联结两个或更多的命令,管道操作符把前一命令的输出作为后一命令的输入。有许多方法可以将命令用管道线组合起来,本节只举两例:
键入man cat│lp再回车,可以打印cat(1)手册。上述手册就不显示在屏幕上,而是将输出内容传给lp命令,使之在缺省打印机上打印出来。
将ps -ef命令用管道(|)与grep命令联结起来,可以在进程表中找出某个命令对应的过程,输出结果显示在屏幕上。例如,显示Open Windows的进程信息:
gtxa%ps -e│grep openwin
260 ? 0:00 openwin
gtxa%
如果想要打印上述信息,可以另加管道命令(|lp )于上述命令之后:
gtxa%ps-ef │grep openwin │lp
request id is castle─51(request id is cstle ─51
(standard input)
gtxa%
2.5使用手册
SunOS 5.x提供联机参考手册,手册被分为不同的节(section),同一类型的命令组成一节。例如,大多数用户命令归并为(1)节,系统管理归并为(IM)节。手册可以存放在本地系统上,也可以在服务器上,本节描述如何显示手册,及如何找到某条命令在哪一节。
2.5.1显示手册(man)
显示手册,只需键入man ,手册页即显示出来。
gtxa%man grep
grep(1) USER COMMANDS grep(1)
NAME
grep -search a file for a pattern
SYNOPSIS
grep [-bchilnsvw] limited -expression
...
2.5.2找命令节号(whatis、man)
有些命令的名字可以出现在几个章节中,此时可以使用whatis找到命令在手册中的节号(section number)。
注意:仅当使用了cat man来命令建立手册之后whatis命令才起作用。在超级用户状态下键入#cat man 可以建立手册页,其中是欲建立的节号。
依下列步骤可以找到手册的节号:
1、 键入whatis 。本命令手册的第一行显示出来,此行中含有该命令手册的节号。
2、键入man -s 再回车,则显示手册页。
gtxa%whatis chown
chown chown(1) -change owner of file
chown chown(1b) -change owner
chown chown(1m) -change owner
chown chown(2) -change owner and group of a file
gtxa%man -s2 chown
chown(2) SYSTEM CALLS chown(2)
NAME
chown, lchown, fchown-change owner and group of a file
SYNOPSIS
# include
# include
int chown(const char * path, uid-t owner, gid-t group);
int chown(const char * path, uid-t owner, gid-t group);
int fchown(int fildes, udi─towner, gid─t group);
DESCRIPTION
chown()sets the owner ID and group ID of the file specified by path or feferenced ty the open file descriptor fields to owner and group respectively. if owner or group is specified as-1, chown() does not change the corresponding ID of the file. ...
2.6查阅磁盘信息
下面的命令可用来查磁盘使用信息,并指出某文件系统是本地的UFS还是远程的(nfs)。
2.6.1显示磁盘空间的信息(df -k)
Solaris中的df命令,当不加参数使用时, 输出结果与以前的df命令不同。df加上-k选择项,可以按SunOS 4.x中的格式来显示磁盘信息。键入df -k显示文件系统名,总字节数,已使用的字节数,剩余字节数,已经使用的百分比,以及安装点。
gtxa%df -k
/dev/dsk/c0t0d0s0 30383 19926 7427 73% /
/dev/dsk/c0t0d0s6 189683 66503 104220 39% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
swap 44268 12 44256 0% /tmp
/dev/dsk/c0t0d0s7 331953 116133 182630 39% /opt
/dev/dsk/c0t3d0s7 189858 24293 146585 14% /export/home
openet:(pid146) 0 0 0 0% /nt
openet:(pid146) 0 0 0 0% /home
....
2.6.2判别某文件系统是否为本地文件系统(df)
键入df 可以查出某文件系统是本地文件系统还是远程安装的网络文件系统(nfs)。与指定的文件系统相应的磁盘格式信息(包括磁盘位置或安装点)也将显示出来。
在下例中,文件系统是nfs文件系统。
gtxa%df /home/ignatz
bigriver:export/home/ignatz 5388980 399435 85647 82%/tmp-mmt/home/ignatz
gtxa%
在下例中,文件系统在本地硬盘上
#df /
/dev/dsk c0t0d0s0 30383 11885 15468 43% /
2.6.3找出某种类型已安装的文件系统(df -F)
若欲显示同一类型的所有已安装文件系统,可使用-F选择项,后接文件系统类型。最常用的文件系统结构是本地文件系统ufs 和网络文件系统nfs。键入df -F 可列出所有特定类型的已安装文件系统。下例中,显示所有已安装的nfs文件系统:
gtxa%df -F nfs
/net (cinderella: (pid153):0 blocks-1 files
/usr/dist( cinderella:(pil53)):1276248 block.-1 files
/home (cinderella:( pid153): 0 block-1 files
/usr/man (ocak: /export/man) : 272934 blocks-1 files
gtxa%
在下例中,显示已安装的ufs(本地)文件系统。
cinderella%df ─F ufs
/ (/dev/dsk/c0t0d0so): 36992 blcoks 13558 files
/usr (/dev/dsk/cotodod6): 274346 blocks 94403 files
/export/home/cinderella (/dev/dsk/cotddos7): 379670 blocks 96046 files
cinderell%
在下列中,显示已安装的临时文件系统信息
cinerella%df ─F tmpfs
/tmp (swap): 88528 block 3156 files
注: 由于交换区文件系统(swapfs)从不安装,故不可用df命令显示之。
阅读(807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~