设为首页收藏本站

UNIX技术社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: console
查看: 371|回复: 0

Solaris 常用命令专题

[复制链接]

2601

主题

1

好友

7629

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2010-9-15 14:19:19 |显示全部楼层
1         SOLARIS操作系统常用命令

SOLARIS操作系统中区分大小写字母,要注意输入系统的字符的大小写是正确的.在图形界面的CDE环境下,用鼠标的左键可以选定终端中的一个单词或一行字符,用鼠标的中键可以把选定的内容复制到光标当前的位置,十分方便.
1.1        man <要查的命令名字>   

给出要查命令所有选项的含义,以及命令的详细说明.
1.2        ls相当于DOS的dir

它的常用选项有-l(显示文件的详细信息),-a(显示包括隐含文件在内),-R(recursive,显示子目录中所有的文件和子目录),-t(依照文件最后修改时间的顺序列出文件名).例如:ls      列出目前目录下的文件名。

ls -a   列出包含以.起始的隐藏文件在内的所有文件名。

ls -t   依照文件最后修改时间的顺序,依序列出文件名。

ls -l   列出目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。

ls -R   显示出目录下,以及其所有子目录的文件名。

内容很多一屏显示不完时,可用管道符连接more命令,每显示一屏暂停,按空格键继续.如: ls -altR | more

注意:

ls rms*.* 将列出rms.ini这类中间带"."的文件,而不会列出rms这类不带"."的文件,用ls rms* 可以把带"."和不带"."的文件都列出
1.3        clear   相当于DOS的cls,清除屏幕上的内容
1.4        mkdir <目录名> 相当于DOS的md,新建一个目录
1.5        cd <目录名>

相当于DOS的cd,和DOS的cd不一样的是,只输入cd将回到HOME目录.
1.6        rm <文件名>

相当于DOS的del,支持通配符*和?,例如rm file*, 为了不误删除想要的文件,在用通配符删除之前,先用ls file* 看看是否列出的文件都需要删除.要注意,用命令行删除的文件是无法恢复的,Unix操作系统因为多用户的原因,无法提供DOS下的undelete命令.如果在Solaris的CDE环境下,扔到垃圾箱里的文件是可以恢复的,因为扔到垃圾箱里的文件并没有被真正删除.

rm -r <目录名>

相当于DOS的deltree,小心使用.例如:rm  file1      删除文件名为 file1 的文件。

rm  file?     删除文件名中有五个字符,前四个字符为file 的所有文件。

rm  f*         删除文件名中以 f 开头的所有文件。
1.7        cp <源文件> <目的文件>

相当于DOS的copy,和DOS的copy不一样的是,必须指定源文件名和目的文件名.cp -r <源文件> <目的文件>相当于DOS的xcopy,带子目录的拷贝.例如:cp file1 file2  将文件 file1 复制成 file2

cp file1 dir1   将文件 file1 复制到目录 dir1 下,文件名仍为 file1.

cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1。

cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2

cp -r dir1 dir2 复制整个目录。若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。
1.8        mv <源文件> <目的文件>

相当于DOS的move,常用来给文件换名.例如:mv file1 file2  将文件 file1,更改文件名为 file2。

mv file1 dir1   将文件 file1,移到目录 dir1 下,文件名仍为 file1。

mv dir1  dir2   若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1更改为目录 dir2。
1.9        pwd列出当前所在的目录位置
1.10    more <文件名>查看文件的内容

显示满一屏就暂停,按空格键翻到下一页,按回车键看下一行。其它命令的输出太多来不及细看时,常通过管道操作符"|"输出到more来分屏显示输出内容。

例如:

more file1    以分页方式,查看文件名 file1 的内容。

ls -l | more      把ls -l的输出通过管道符输出到more来分屏显示输出内容。
1.11    chmod     改变文件或目录的读、写、执行的允许权限

格式:chmod [-R] mode name

name 可为文件名或目录名;mode可为 3 个 0-7 的数字,或利用ls -l 命令,列出

文件或目录的读、写、执行允许权的文字缩写。)

mode :  rwx   rwx    rwx   r:read   w:write   x:execute

user  group  other

缩写 :  (u)    (g)     (o)

例如:

%chmod  755  dir1把目录dir1设定成任何使用者,都能读取和执行,但只有所有者可做修改。

%chmod  700  file1把文件file1设定只有所有者可以读、写和执行。

%chmod  u+x  file2 把文件file2增加所有者可以执行的权利。

%chmod  g+x  file3 把文件file3增加工作组使用者可执行的权利。

%chmod  o-r  file4  把文件file4除去其它使用者可读取的权利。
1.12     chown   改变文件或目录的所有权

格式:chown [-R] username  name   

name 可以是文件名或目录名。

例如:

%chown user file1

将文件 file1 的所有权,改为使用者 user 所有。

%chown -R user dir1

将目录 dir1,及其下所有文件和子目录的所有权,改为使用者 user 所有。
1.13    chgrp 改变文件或目录的工作组所有权

格式:chgrp [-R] groupname name  

name 可为文件名或目录名

例如:

%chgrp sbsrms file1

将文件 file1 的工作组所有权,改为 sbsrms 工作组。

%chgrp -R bin dir1

将目录dir1,及其下所有文件和子目录,改为 bin 工作组。
1.14    date相当于DOS的date

只输入date就显示当前的工作站时间,如果有root超级用户权限,加上参数可以修改工作站的时间。

格式:date mmddHHMM[cc]yy   

mm--月份,dd--日期,HH--小时,MM--分钟,cc--世纪(可选),yy--年份

例如:

#date 1023153098     将把工作站系统时间改为1998年10月23日15点30分
1.15    su <用户名>

改变自己的用户名进入其他使用者的帐号,拥有其使用权利。不指明用户名,就进入root超级用户。

例如:

%su user        进入使用者 user 的帐号

passwrod:       输入使用者 user 的密码
1.16    passwd     更改用户口令

例如:

%passwd rms  更改用户rms的口令
1.17    exit退出终端操作
1.18    shutdown   超级用户root才有权执行,关闭Solaris操作系统

例如:

#/usr/sbin/shutdown -y -g0 -i0  输入绝对路径,以保证是执行关闭系统的shutdown程序
1.19    find搜索指定目录下要找的文件,找到后给出文件的路径

格式:find  search-path  -name  filename  -print

例如:

%find  /  -name  file1  -print ( 从根目录开始寻找 file1文件,并给出它的路径。)
1.20    vi

vi是在工作站上广泛使用的编辑软件。对初学者而言,

常因其特殊的使用方法,而不得其门而入;对已经在使用 vi 的使用者来说,也

常见因对 vi 的不熟悉或不够了解,而无法发挥出 vi 强大的编辑能力,以下将

简单介绍 vi 的使用方法。不必死记硬背,多实际操作几次就能记住常用的命令。

进入vi

直接执行 vi编辑程序即可:

%vi test

此刻k保留在硬盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。

离开vi

若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令

离开vi。

:q!    离开vi,并放弃刚在缓冲区内编辑的内容。

:wq    将缓冲区内的资料写入硬盘中,并离开vi。

:ZZ    同wq。

:x     同wq。

:w     将缓冲区内的资料写入硬盘中,但并不离开vi。

:q     离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。

  此指令可与:w 配合使用。

vi 的操作模式

vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。当使用者进入 vi 后,即处在指令模式下,此刻键入的任何字符都被视为  指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入模式。

输入模式

如何进入输入模式

a (append)  由光标之后加入资料。

A                 由该行之末加入资料。

i (insert)      由光标之前加入资料。

I                  由该行之首加入资料。

o (open)     新增一行于该行之下以供输入资料。

O                新增一行于该行之上以供输入资料。

如何离开输入模式

《ESC》 结束输入模式。

指令模式

光标的移动

h       向左移一个字符。

j       向上移一个字符。

k       向下移一个字符。

l       向右移一个字符。

0       移至该行之首

$       移至该行之末。

^       移至该行的第一个字符处。

H       移至屏幕的第一列。

M       移至屏幕的中间那列。

L       移至屏幕的最后一列。

G       移至该文件的最后一列。

+       移至下一列的第一个字符处。

-       移至上一列的第一个字符处。

(       移至该句之首。 (注一)

)      移至该句之末。

{       移至该段落之首。 (注二)

}       移至该段落之末。

nG      移至该文件的第 n 列。

n+      移至光标所在位置之后的第 n 列。

n-      移至光标所在位置之前的第 n 列。

<Ctrl><g>       会显示该行的行号、文件名称、文件中最末行的行号、光标

所在行号占总行号的百分比。

注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。

注二:段落(paragraph)在vi中是指以空白行隔开的文字。

<Ctrl><f>        屏幕往下卷一页。

<Ctrl><b>       屏幕往上卷一页。

<Ctrl><d>       屏幕往下卷半页。

<Ctrl><u>       屏幕往上卷半页。

<Ctrl><e>       屏幕往下卷一行。

<Ctrl><y>       屏幕往上卷一行。

删除、复制及修改指令介绍 (此单元较少使用)

d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为:

Operator + Scope = command

(运算子)   (范围)

运算子:

d       删除指令。删除资料,但会将删除资料复制到内存缓冲区。

y       将资料(字组、行列、句子或段落)复制到缓冲区。

p       放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资

料放置于光标所在位置的行列下。

c       修改(change)指令,类似delete与insert的组合。删除一个词组、句

子等的资料,并插入新输入的资料。

范围:

e       由光标所在位置至该字符串的最后一个字符。

w       由光标所在位置至下一个字符串的第一个字符。

b       由光标所在位置至前一个字符串的第一个字符。

$       由光标所在位置至该行的最后一个字符。

0       由光标所在位置至该行的第一个字符。

)       由光标所在位置至下一个句子的第一个字符。

(       由光标所在位置至该句子的第一个字符。

{       由光标所在位置至该段落的最后一个字符。

}       由光标所在位置至该段落的第一个字符。

整行动作

dd      删除整行。

D       以行为单位,删除光标后的所有字符。

cc      修改整行的内容。

yy      yank整行,使光标所在该行复制到内存缓冲区。

删除与修改

x      删除光标所在该字符。

X      删除光标所在之前一字符。

dd    删除光标所在该行。

r       用接于此指令之后的字符取代(replace)光标所在字符。

如: ra 将光标所在字符以 a 取代之。

R       进入取代状态,直到《ESC》为止。

s       删除光标所在的字符,并进入输入模式直到《ESC》。

S       删除光标所在的该行资料,并进入输入模式直到《ESC》。

移动与复制

利用 delete 及 put 指令可完成资料移动的目的。

利用 yank 及 put 指令可完成资料复制的目的。

yank 和 delete 可将指定的资料复制到内存缓冲区,而通过 put 指令

可将缓冲区内的资料复制到屏幕上。

例:

移动一行        .在该行执行 dd

.光标移至目的地

.执行 p

复制一行        .在该行执行 yy

.光标移至目的地

.执行 p

指令重复

在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n次。

例:

删除10行                .10dd

复制10行                .10yy

.光标移至目的地

.p

指标往下移10行  .10j

取消前一动作(Undo)

即复原执行上一指令前的内容。

u       恢复最后一个指令之前的结果。

U       恢复光标该行的所有改变。            

查找

在vi中可查找某一字符串,使光标移至该处。

/字符串           往光标之后寻找该字符串。

?字符串           往光标之前寻找该字符串。

n                      往下继续寻找下一个相同的字符串。

N                     往上继续寻找下一个相同的字符串。

资料的连接

J       句子的连接。将光标所在的下一行连接至光标该行的后面。

若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式

(可利用 a、i等指令)再按《Enter》即可。

环境的设定

:set nu              设定资料的行号。

:set nonu          取消行号设定。

:set ai                自动内缩。

:set noai            取消自动内缩。

自动内缩(automatic indentation)

在编辑文件或程序时,有时会遇到需要内缩的状况,『:set ai』即提供自

动内缩的功能,用下例解释:

.vi test

.(进入编辑屏幕后)

this is the test for auto indent

《Tab》start indent           ← :set ai (设自动内缩)

《Tab》data

《Tab》data

《Tab》data                   ← :set noai (取消自动内缩)

the end of auto indent.

.注:<Ctrl><d> 可删除《Tab》字符。

ex指令

读写资料

:w                     将缓冲区的资料写入硬盘中。

:10,20w test   将第10行至第20行的资料写入test文件。

:10,20w>>test  将第10行至第20行的资料加在test文件之后。

:r test                将test文件的资料读入编辑缓冲区的最后。

删除、复制及移动

:10,20d              删除第10行至第20行的资料。

:10d                   删除第10行的资料。

:%d                    删除整个编辑缓冲区。

:10,20co30        将第10行至第20行的资料复制至第30行之后。

:10,20mo30       将第10行至第20行的资料移动至第30行之后。

字符串搜寻与取代

s(substitute)指令可查找某行列范围。

g(global)指令则可查找整个编辑缓冲区的资料。

s指令以第一个满足该条件的字符串为其取代的对象,若该行有数个满足该条

件的字符串,也仅能取代第一个,若想取代所有的字符串则需加上g参数。

:1,$s/old/new/g  将文件中所有的『old』改成『new』。

:10,20s/^/   /  将第10行至第20行资料的最前面插入5个空白。

:%s/old/new/g 将编辑缓冲区中所有的『old』改成『new』。

恢复编辑时被中断的文件

在编辑过程中,若系统当掉或连线中断,而缓冲区的资料并还未

被写回硬盘时,当再次回到系统,执行下列指令即可回复中断前

的文件内容。

%vi -r filename

编辑多个文件

vi还提供同时编辑多个文件的功能,方法如下:

%vi file1 file2 ..

当第一个文件编辑完成后,可利用『:w』将该缓冲区存档,而后

再利用 『:n』载入下一个文件。
1.21    echo显示环境变量用

例如:

%echo $RMSROOT   显示环境变量RMSROOT的值
1.22    ping测试网络通断情况。

格式:ping ip_address

例如:ping 129.9.123.45
1.23    ftp本地工作站与远端工作站之间文件传输

必须拥有远端工作站的帐号及密码,才可进行传输工作 。

格式: ftp hostname or ftp ip_address

例如 :

ftp 129.9.123.45        与远端工作站 129.9.123.45 ,进行文件传输

Name (129.9.123.45:user-name)    : 输入帐号

Password (129.9.123.45:user-name): 输入密码

!为执行外部操作系统的命令。

ftp> help      列出 ftp 文件传输,可使用的任何命令。

ftp> !ls         列出本地工作站,目前目录下的所有文件名。

ftp> !pwd     列出本地工作站,目前所在的工作目录位置。

ftp> ls          列出远端工作站目前目录下的所有文件名。

ftp> dir       列出远端工作站目前目录下的所有文件名(略同于 UNIX 的 ls -l 指令).

ftp> pwd         列出远端工作站目前所在的目录位置。

ftp> cd  dir1    更改远端工作站的工作目录位置至 dir1 下。

ftp> get file1   将远端工作站的文件 file1 ,拷贝到本地工作站中。

ftp> put file2   将本地工作站的文件 file2 ,拷贝到远端工作站中。

ftp> mget *.c  将远端工作站中,文件名后缀为 c 的所有文件,拷贝到本地工作站中。

ftp> mput *.txt  将本地工作站中,文件名后缀为 txt 的所有文件,拷贝到远端工作站中。

ftp> bin         以二进制方式传输文件,切记在传送可执行文件时要先执行此命令。

可以将ASCII文件按二进制方式传输,但决不能将二进制文件按ASCII方式传输,否则二进制文件的内容会遭到破坏而无法使用。

ftp> asc 以ASCII方式传输文件,只在传输ASCII文件时用,特别是在DOS和Solaris之间传输时用。

ftp> prompt   使用 mput/mget 时不用每个文件皆询问yes/no

ftp> quit        结束 ftp 工作。

ftp> bye        结束 ftp 工作,和quit一样。

注: 从PC到工作站间的文件传输也可在 PC端WIN95下的 FTP命令进行文件传输,用法与

上所述大致相同。
1.24    telnet ip_address  远程登录命令,在工作站和PC机中都有

例如:

%telnet 129.9.123.45
1.25    ps查看系统的进程

格式:ps [-euf...]

例如:

%ps -u rms    (查看系统中,用户rms的 process。)

%ps -ef       (查看系统中,包含系统内部,及所有用户的进程。)
1.26    kill杀掉操作系统中的进程

一般先用ps命令先查看进程的ID号,再用kill。如果kill杀不掉,可再加参数-9,说明为强制杀掉。

例如:

%kill -9 1234 这里1234是假设的进程号。
1.27    tar把多个文件或目录打包成一个文件,或者把已经打包的文件展开

例如:

%tar cvf RMStar RMS 把目录打包成一个文件

%tar xvf RMStar         把打包的文件展开。
1.28    compress把文件压缩成后缀为.Z的压缩文件

例如:

%compress RMStar
1.29    uncompress   把后缀为.Z的压缩文件解压缩

例如:

%uncompress RMStar.Z
1.30    df -k查看各文件系统剩余的空间,-k说明单位是千字节(kb)
http://www.unixcom.cn
您需要登录后才可以回帖 登录 | 注册

手机版|UnixCom   

GMT+8, 2012-5-20 16:41 , Processed in 0.087126 second(s), 23 queries .

Powered by Dreameternal

© 2008-2010

回顶部