免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1521 | 回复: 1
打印 上一主题 下一主题

Solaris命令 2............ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 14:02 |只看该作者 |倒序浏览
Solaris命令 2............









(二) 增强命令
1. ln 文档连结
命令格式:ln -s oldname newname ( Hard link )
同一文档,可拥有一个以上之名称,可将文档做数个连结.例子 :
ln -s file1 file2   将名称 file2,连结至文档 file1.

2.grep 查找一个字符串
命令格式:
grep string filename
寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观
念.以下是一些简单的□例,以及说明: 
^M 以M开头的行,^表示开始的意思
M$ 以M结尾的行,$表示结束的意思
^[0-9] 以数字开始的行,[]内可列举字母
^[124ab] 以1,2,4,a,或b开头的行
^b.503 句点表示任一字母
* 星号表示0个以上的字母(可以没有)
+ 加号表示1个以上的字母
\. 斜线可以去掉特殊意义
 
<eg> cat passwd | grep ^b 列出大学部有申请帐号者名单
cat passwd | grep ^s 列出交换学生申请帐号者名单
cat passwd | grep '^b.503' 列出电机系各年级...
grep '^\.' myfile.txt 列出所有以句点开头的行

3.fgrep 搜索字符串
命令格式:fgrep string file

4.file 显示文件类型
命令格式:file fileall
文件类型为shell script,ELF 32bit,ASCII text,data or tar file

5.diff 比较文档或目录之不同内容
命令格式:diff [-r] name1 name2 ( name1 name2 可同时为档名,或目录名称.)
例子 :
%diff file1 file2
比较文档 file1 与 file2 内,各行之不同处.
%diff -r dir1 dir2
比较目录 dir1 与 dir2 内,各文档之不同处

6.cmp 比较文档相同部分
命令格式:cmp file1 file2

★7.ftp 远程文件传输
命令格式: ftp [hostname|IP address]
在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username 与密码,如果输入对了就可以开始进行文档传输.
注意:如用户无密码,无法注册
(1) ftp 命令
ascii 将传输模式设为 ascii 模式.通常用於传送文字档.
binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像档等.
cd remote-directory 将远程主机上的工作目录改变.
lcd [ directory ] 更改本地主机的工作目录.
ls [ remote-directory ] [ local-file ] 列出远程主机上的文档.
get remote-file [ local-file ] 取得远方的文档.
mget remote-files 可使用通用字元一次取得多个文档.
put local-file [ remote-file] 将本地主机的文档送到远程主机.
mput local-files 可使用通用字元一次将多个文档放到远程主机上.
help [ command ] 线上辅助指令.
mkdir directory-name 在远程主机创建一个目录.
prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个文档之传
输时均会询问.
quit/bye 离开ftp .
(2) 后台执行ftp
1.首先,将过程所用到的指令依顺序放入文档中,如下:
%cat ftp_command
!mkdir test
lcd test
cd test
prompt
binary
mget *.*
bye
2.其次,建一个.netrc档,属性为400,让ftp 自动到此读取Username
与Password,方可顺利login 到的主机,如下:
%cat .netrc
machine remote login anonymous password guest
3.最後再执行下面指令即可.
%nohup ftp remote < ftp_command > message &

8.telnet 远程终端访问
命令格式:
telnet [hostname|IP address]

★9.IO 重新导向
UNIX所有的程式执行时,均需要资料的输入以及输出资料.一般而言,资料是从键盘输入,并将资料输出到萤幕上,这就叫做标准输入及标准输出,而我们可以更改标准出输出入.
A. 更改标准输入 —— 在命令後方加"< <filename>" ,即可从<filename>这个文档输入资料.
B. 更改标准输出 —— 在命令後方加"> <filename>" ,即可将萤幕输出的资料导向到<filename>这个文档上.
C. 更改标准输出 —— 在命令後方加">> <filename>",功能与B.相似,只不过这会将资料加在文档後方.
D. 管道 —— 在两个命令中间加上'|',即可将前方指令的输出当成後方指令
D. 管道 —— 在两个命令中间加上'|',即可将前方指令的输出当成後方指令的输入.
例:
cd /tmp
ls -l > /tmp/ls.out
cat /tmp/ls.out
more /tmp/ls.out
rm /tmp/ls.out
ls | more
ls | wc -l (word count, count line number,算出文档数目)\

 

五、用户管理(重点)
(本节为重点,所有的Unix初学者要精读)

(一) 用户基本知识
1.文件信息
ls -l
drwxrwxrwx filename
(1)访问权限
mode : rwx rwx rwx r:read w:write x:execute
user group other
缩写 : (u) (g) (o)
(2) 文件类型
: 普通文件
b : 块特殊文件,如硬盘和CDROM设备
c : 字符文件设备
l : 符号连接
p : 管道或流,用于进程通讯
d : 目录

2.缺省权限
创建文件和目录时,系统自动设置一定的权限.缺省权限由用户mask码控制
$umask  显示用户umask码
umask 设置 文件 目录
022 新文件属主有读权和修改权 用户组和其他用户有读权和修改权用户组和其他用户只有读权可用umask maskvalue 改变缺省权限

3.系统安全文件
(1) /etc/passwd
(2) /etc/shadow
/etc/group
/etc/default/login

(二)相关命令
★1. chmod 改变文档或目录之属性
命令格式:chmod [-R] mode name
( name 可为档名或目录名;mode可为 3 个 8 位元之数字,或利用ls -l命令,列出文档或目录之读、写、执行允许权之文字缩写.)
例子 :
chmod 755 dir1 将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改.
chmod 700 file1
将文档file1,设定只有拥有者可以读、写和执行.
chmod o+x file2 (u:user g:group other a:all) (r:read w:write x: execute)
将文档file2,增加拥有者可以执行之权利.
chmod g+x file3
将文档file3,增加群组使用者可执行之权利.
chmod o-r file4
将文档file4,除去其它使用者可读取之权利.

★2.chown 改变文档或目录之拥有权
命令格式:chown [-R] username name ( name 可为档名或目录名.)
例子 :
chown Karen file1 将文档 file1 之拥有权,改为使用者 Karen 所有.
chown -R luhua dir1 将目录dir1及其下所有文档和子目录之拥有权,改为luhua 所有.

★3.chgrp 改变文档或目录之群组拥有权
命令格式:chgrp [-R] groupname name ( name 可为档名或目录名 )
例子 :
chgrp PSI file1 将文档 file1 之群组拥有权,改为 PSI 群组.
chgrp -R Oracle dir1 将目录dir1,及其下所有文档和子目录,改为 Oracle 群组.

★4.touch 改变文档或目录之最後修改时间
命令格式:touch name ( name 可为文档或目录名称.)

5.who 查看当前系统上的用户名单
★who am i 显示当前用户
finger 列出所有用户名单
W:

6. id 查看当前用户用户号和组号
★7. passwd 修改用户口令
命令格式:passwd username
无用户参数修改本用户口令

★8. su 转换用户
命令格式: su [-] username
无用户参数为转换到超级用户
- :执行新用户环境设置
 

六、文件系统管理
(一)硬盘和文件资源

硬盘和CD-ROM设备使用块设备接口.硬盘设备文件存储在/dev目录下.
字符设备文件存于rdsk子目录下,块设备文件存在dsk子目录下.

1. 逻辑硬盘设备命名的约定

/dev/[r]dsk/cwtxdysz

例子:

/dev/dsk/c0t3d0s0

Cn:controller number 控制器号,标识被硬盘控制的加到系统上的逻辑顺序.
c0代表第一个硬盘控制器,c1代表第二个硬盘控制器,类推.
tn:target number 目标号,是位于控制器内的地址,通常在外围设备的背面能找到目标号.
Dn:disk number 硬盘号,代表连在目标上的设备的逻辑单位号.d0代表第一个硬盘,d1代表第二个硬盘,依次类推.对嵌入式SCSI控制器,硬盘驱动号总是0.
Sn:slice or portition number 片或分区号,标识硬盘的分区.

2. dmesg命令

dmesg命令用实例名和物理名来标识连到系统上的设备.dmesg命令也显示系统诊断信息、操作系统版本号、物理内存的大小以及其他信息.
例子:
下面的输出信息是从前面的dmesg例子的输出信息中提取出来的,标识着连到系统上的硬盘设备。对每个硬盘设备,输出三行信息,分别表示:
硬盘的实例名。
硬盘的物理设备名.
硬盘的市场名和硬盘的外形信息特征.
硬盘的逻辑设备名是对硬盘的物理设备名的符号连接.
硬盘的实例名是对物理设备命的内核的缩写.
Solaris命令不用此来表示硬盘.

(二)硬盘分区
利用在设备目录下的字符设备文件和块设备文件对硬盘进行访问.然而,硬盘不是由用户直接访问的,是通过分区对它进行访问的,分区由设备目录下的设备文件来表示.“片”是“分区”的另一种说法 .
分区是管理数据的一个方便的方法.重要的系统文件和程序可以存在一个分区,而用户产生的文件放在另一个分区.它保持不同类型的数据在不同的分区.这使系统管理员能灵活地利用数据或使用不同的备份机制.因为用户的数据每天都发生变化,系统管理员应每天作备份.而重要的系统数据不是经常变化,也就不需经常做备份.由Sun提供的硬盘分区可多达8个,用1-7标识.
分区2表示整个硬盘.分区5表示/opt文件系统,此文件系统用来存贮那些未随操作系统一起提供的软件.分区6 是/usr分区,此文件系统包含那些只能在某些类型的系统上运行的文件(如SPARC executables)和一些能在所有系统类型上运行的文件(如联机手册放在/usr/share目录下).分区7的文件系统称为/export/home.这是挂接用户主目录的挂接点.硬盘分区通过在/dev目录下的逻辑设备文件加以访问.如/dev/dsk/c0t0d0s0表示在第一个硬盘上的第一分区.
1.format实用程序
format程序是一个硬盘维护工具,由系统管理员使用,完成以下任务:
重新格式化硬盘.
改变分区大小.
修理和分析硬盘扇区.

Part 标识分区号0-7.
Tag 显示分区标签,分区标签用于标识该分区所用的目的(root,usr,home,交换区).
Flag 显示分区标志,用以标识访问权限.
Cylinders 显示起始和终止的柱面号.
Size 按一定方式,以Mbytes或Gbytes为单位显示分区大小.
Blocks 按柱面数、磁头数和扇区数来标识分区的大小.
 
2.newfs 创建文件系统
命令格式:newfs raw-device
例子:newfs /dev/rdsk/c0t1d0s0
3.fsck 修复文件系统
命令格式:fsck raw-device
例子:fsck /dev/rdsk/c0t1d0s0

(三)挂接文件资源
1.mount 文件系统挂接
本地或远程文件资源被接到根文件层次,看起来就象是一个单一的文件系统.这个
连接操作称为“挂接”,利用mount命令完成 文件资源挂接到根文件层次的目录被
称为挂接点.在调用挂接命令前,挂接点必须存在.
命令格式:
mount file_name mount_point
没有选项的mount命令显示当前已挂接的文件资源.
例子:

# mount /dev/dsk/c0t3d0s0 /export/home

监视文件系统
 
2. df 显示文件系统所占用的硬盘空间
df -k命令按Kbytes显示可用硬盘空间的总量和已用的硬盘空间.
各域的含义为:

Filesystem 被挂接的文件系统.
Kbytes 按Kbyte计算的文件系统大小.
Used 已用的数量(Kbytes).
Avail 可用的数量(Kbytes).
Capacity 已用的百分比.
Mounted on 挂接点.
注意:大约10%的硬盘空间为文件系统保留,在df -k命令的输出中没有反映这一点.

3.umount 摘下文件资源
从本地系统上摘下文件资源,超级用户可使用umount命令.
命令格式:
# umount mount_point
如果在被挂接的文件资源目录里有活动,则文件资源不可摘下.在摘下前cd至/ 目录是一个很好的习惯,不要不加区别地将系统正常运转所需要的文件系统摘下.
 

(四) 自动挂接文件资源
/etc/vfstab文件
系统引导时读/etc/vfstab文件以自动挂接文件资源.该文件包含本地和远程文件资源的登记项.各域的含义:

Device-to-mount 标识NFS服务器和文件系统,或被挂接的本地文件系统.
Device-to-fsck 标识用于执行fsck的本地原始设备.
Mount point 挂接点路径.
FS-type 文件系统类型,通常是ufs用于本地文件系统,nfs用于远程文件系统.
Fsck-pass 此域中的数字是fsck经过文件系统检查的顺序,相重的数字表示检查并行进行.
Mount-at-boot 决定文件系统是否在系统引导时被自动挂接.
Mount-options 定义挂接选项,如读/写访问.

域中的-表示无选项.
/dev/[r]dsk/cwtxdysz用于本地ufs文件系统.w,s,y,z分别表示控制器、目标、设备、片.一旦系统建立,手工在单机系统的/etc/vfstab文件中加入远程文件资源登记项.

(五)NFS资源
Sun的NFS分布式文件系统允许在网络上的机器共享他们的资源.NFS文件系统使机器共享本地文件系统和目录,允许远程用户象本地用户那样访问这些文件系统和目录.
1.share,shareall 共享文件资源
share –o ro user directory
/etc/init.d/nfs.server start
2.dfshares 显示远程机共享资源
dfshares remote
3.mount 挂接远程文件资源
mount remote:directory localdir
 

(六)卷管理
1./etc/init.d/volmgt [start|stop] 启动卷管理
2.volcheck 检查软盘,如有挂接在floppy目录下
3.eject [cdrom|floppy] 弹出设备
 

七、进程管理
1.ps 显示进程号 命令格式:ps -ef
2.kill 清除进程 命令格式: kill -9 pid
3.nohup 非挂起运行

 

八、软件包管理
1.pkginfo 显示软件包信息
命令格式: pkginfo -d[ device|pathname] -l pkg_name
例子:
这三个域为:
pkg_category 软件包种类,可为application,graphics 或system.
pkg_name 软件包名字,如为SUN产品则机SUNW 起 头.
Description 软件产品的简单说明.

例子:

# pkginfo -d /cdrom/solaris_2_2/s0/Solaris_2.2 |more

利用pkginfo -l 命令显示关于软件包的详细信息,包括软件包的大小(按硬盘块大小计算).

# pkginfo -d /cdrom/solaris_2_2/s0/Solaris_2.2 -l SUNWaudio

上面输出的最后一行指示软件包的大小. 利用此信息和df -k命令来确定你是否拥有足 够硬盘空间来安装此软件包.

2. pkgadd 增加软件包
利用pkgadd 命令增加软件包,当软件包被成功地安装以后,向root发送一个邮件.

命令格式:

pkgadd -d [device | pathname] pkg_name
例子:

# pkgadd -d /cdrom/solaris_2_2/s0/Solaris_2.2 SUNWaudio

3.pkgchk 校验软件包的安装
pkgchk命令通过将软件包的属性及路径名内容与系统记录文件中的值进行对比来校验.命令格式:
pkgchk [-p path1 [path2...]]
此命令可以检查整个软件包或通过指定-p选项对一特殊路径名进行检查,无输出则意味 着没有问题被检查出.由于/etc/group 文件大小已被改变,所以文件内容的checksum就不对.考察软件包信息pkgadd命令更新文件/var/sadm/install/contents、 此文件为系统中所有已安装软件包的记录文件.没有简单的方法来确定某软件包具有某一特殊文件(或命令).对于已安装的软件包,从/var/sadm/install/contents 记录文件中查找此软件包的路径 名.

4.pkgrm 删除软件包
命令格式: pkgrm pkgname1 pkgname2 …
在调用pkgrm 命令后,将向你警告有依赖关系的软件包信息,并提供放弃此操作的提示.当软件包被成功地删除后,向root发送一个邮件.pkgrm命令通过文件/var/sadm/install/contents 来确定软件包的地址,并且当软件包被删除以后,更新此文件.假如此软件包被两个或更多的包共享,则一定得将这些依赖于此包的所有软件包删除以后才删除此软件包.

5.spooling 软 件 包
一个软件包可以由安装CD-ROM中拷贝过来存放在系统中,但并没有安装此软件包。例如,一个服务器可以拷贝存储一个软件包,一个没有CD-ROM设备的系统可以从服务器上挂接此软件包,用以安装。软件包也可以利用Software Manager远程安装,暂 略.
服务器下面两个pkgadd命令用以说明如何spool一个软件包到/var/spool/pkg目录下或到一个你指定的目录下.pkgadd命令的-s spool选项会缺省地将软件包拷贝到/var/spool/pkg目录下.
你可以指定一个目录作为-s选项的参数.
客户假如服务器共享了/export/pkgs目录,则客户系统可以挂接目录/export/pkgs并安装软件包.
# mkdir /export/pkgs
# mount venus:/export/pkgs /export/pkgs
# pkgadd -d /export/pkgs SUNWaudio
删除Spooled软件包
在服务器上可以利用-s选项从spooling目录中删除一个软件包.
# pkgrm -s /export/pkgs SUNWaudio
与软件包管理有关的文件和目录

/var/sadm 包含系统记录文件和管理文件的目录
/opt/pkgname 安装未随操作系统一起提供的、名为pkgname的软件包的推荐目录.
/opt/pkgname/bin
/opt/bin 未随操作系统一起提供的、名为pkgname的执行文件的推荐目录.
var/opt/pkgname
/etc/opt/pkgname 未随操作系统一起提供的、名为pkgname的记录文件的推荐目录.
/var/sadm/install/contents 整个系统的软件包映象.
 

九、数据备份和传输工具
(一) 数据设备名
1.磁带
类型 设备名 容量 机器类型
8mm D8112 5G 8205
8mm D8160 7G 8505-8705
8mm D8170 20G 8900
4mm DDS1(60m) 1.3G  
4mm DDS2(120m) 7G  
4mm DDS3(125m) 12G  
设备名: /dev/rmt/0,/dev/rmt/0n(不倒带)
2.软盘
设备名:/dev/fd0
3.文件

(二) 数据备份命令
Solaris 2.x计算环境提供了几个命令用于备份和恢复文件和文件系统.

多卷备份 连接 系统跨接
ufsdump
ufsrestore Yes No No
tar No Yes Yes
cpio Yes Yes Yes
 

1.ufsdump命令

对系统管理员而言,ufsdump命令很有用,可对整个文件系统做完全或增量转储.
完全转储是对整个文件系统做备份.在较长的间隔做一次,如一星期或一月.
增量转储是对新创建或修改的文件进行备份.增量转储更频繁一些,可能一天一次.
ufsdump命令提供了不同等级的转储,从0至9.转储等级用来确定对哪些文件备份.0级指定完全转储,1至9指定不同等级的增量转储.例如,增量转储(1等级)将对在上一次低等级(0级)转储后修改或创建的文件进行备份.对文件系统作备份时,应将系统转至运行等级S.如系统在运行等级3时,文件可能正在使用,于是可能造成无效备份.
例子:
# ufsdump 0uf /dev/rmt/0 /export/home
选项及参数:

0 指定0级(完全)转储.
u 更新文件/etc/dumpdates,以记录成功的转储.
f 与下面的/dev/rmt/0参数一起确定转储的磁带设备.
/dev/rmt/0 转储的磁带设备.
/export/home 指定要转储的文件系统.
 

2.ufsrestore命令

ufsrestore命令从备份磁带上拷贝文件至当前目录下.
ufsrestore命令可用于重载转储好的整个文件系统或备份带上的单个或多个文件.
ufsrestore命令的选项用来指定磁带设备名和被恢复文件的路径名.
恢复过程
用ufsrestore命令按以下步骤恢复一个文件:
# cd /newdir
# ufsrestore tuf /dev/rmt/0

3.tar命令

tar命令是用户级的备份命令,用于备份和恢复文件或目录.
命令格式: tar options tape_device_name [filename]
option c-建立新文档 v-显示路径
t-显示文件列表 f-指定设备
x-抽取文件 i-交互式
例子:
(1)备份过程:
$ tar cvf /dev/rmt/0 *
(2)恢复过程:
$ tar xvf /dev/rmt/0
(3)目录复制
$ tar cvf - mydir|(cd newdir;tar xvf -)
(4) 异地拷贝(必须为可信任用户)
$ tar cvf - mydir|rsh remote tar xvf -

4.cpio命令

cpio(copy in/out)命令是能产生多卷备份的用户级命令.
命令格式:
cpio -ov >tape_device_name
cpio -i [vt] <tape_device_name
一旦它识别出介质的尾部,它就提示你插入另一磁带.
cpio命令利用ls或find命令的输出进行文件列表,将这些文件输出到一个文件,
如磁带设备.它在文件之间插入标题以便于恢复,所以比tar命令慢.
cpio命令可用通配符作为参数,然而,cpio反着用通配符,即除满足匹配条件的
文件以外,它将备份所有文件.
备份过程
$ find . -depth -print | cpio -ov > /dev/rmt/0
find命令给cpio命令提供文件和目录名的列表.
-o选项表示从标准输出读.
/dev/rmt/0参数确定磁带设备.
例子:
用find和cpio命令将主目录备份到磁带上:
恢复过程
用cpio命令按以下步骤从磁带上检索文件和目录.
1.将磁带插入磁带设备.
2.改变目录至/tmp目录.
3.用以下cpio目录确定要恢复的文件的路径名.
$ cpio -iv < /dev/rmt/0
-i选项抽取文件,v(verbose)选项与t选项合用则按ls -l格式列出文件,
使用此复合选项只显示文件信息,不抽取文件.
4.用以下cpio命令恢复文件至/tmp目录.
$ cpio -iv < dev/rmt/0 test.file
选项i抽取文件,v表示恢复时显示文件名.
5.从目录/tmp拷贝文件至所需目录.
6.取出磁带.
下面的例子说明如何用cpio命令恢复一个文件.

5.compress,uncompress,zcat 命令

compress命令利用一特殊格式来压缩文件,以减少文件大小.压缩比从20%至80%.
例如,用-v选项对名为bin.file的文件进行压缩:
此文件被压缩后,加上后缀.Z.
zcat < file.taz|tar xvf –
uncompress 解压缩
tar 打包. Tar –cvf 目标文件 源文件。 Tar –xfv ***.tar 解包
gzip / gunzip
6.mt 命令
mt -f /dev/rmt/0 status 报告设备状态
mt -f /dev/rmt/0 rew 倒带
mt -f /dev/rmt/0n fsf 1 前进一段
mt -f /dev/rmt/0n bsf 3 后退两段
7.dd 命令
dd if=/dev/rmt/0 of=/tmp/file bs=1024
8.异地使用磁带机(必须为可信任用户)
(1)备份数据至异地磁带机
tar cvf - dirname|rsh remote dd of=/dev/rmt/0
(2)从异地磁带机读取数据
rsh remote dd if=/dev/rmt/0 tar xvf -

论坛徽章:
0
2 [报告]
发表于 2011-12-21 14:24 |只看该作者
好贴,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP