第一篇:Solaris 常用命令小结
注意:在solaris下输入命令后修改,需要用delete键。调出历史命令也很不方便,上下箭头键也不起作用。我们需要进入bash 环境,方法是#bash退出时输入exit即可。在bash环境下面是具有类似doskey的功能的,可以记录历史命令,按上箭头键就可以正常显示刚才敲过的命令了,也可输入history显示整个历史命令记录。1.系统
# passwd:修改口令 # exit:退出系统 2.文件
# cp:复制文件或目录,参数:-a递归目录,-i覆盖确认 # mv:改名移动
# rm:删除,参数:-r递归删除 3.目录
# mkdir:创建目录 # rmdir:删除空目录 # cd:改变工作目录 # pwd:查看当前路径
# ls:列目录,参数:-a所有文件,-c按时间排序,-l详细信息 4.文本
# sort:排序
# uniq:删除重复行 5.备份压缩
# tar:档案,参数:-c创建新档案,-r追加到末尾,-t列出档案内容,-u更新文件,-x释放文件,-f使用档案文件或设备,-M多卷,-v详细报告,-w每步确认。例tar cvf text.tar *.txt # gzip:压缩解压缩,参数:-d解压,-r递归压缩 # unzip:解压缩,参数:-d目录,-x解压缩 6.权限
# chmod:改变权限,r可读,w可写,x可执行。0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。# chgrp:改变所属用户组 # chown:改变属主 7.管理
# wall:发送信息到全部登录用户 # write:向某个用户发送信息
# mesg y:设定允许别人给自己发送信息 # sync:缓存同步校验
# shutdown:关机,参数:-r重启,-h关机不重启,-f快速关机,-c取消关机 # free:查看内存
# uptime:显示系统运行时间
# df:磁盘占用空间,参数:-a显示所有文件系统 # du:磁盘使用情况 # dd:拷贝并格式转换 # fdformat:低格软盘 # echo:显示文字 # cal:日历
# date:系统日期和时间 # clear:清屏
8.我的回忆 by tom2sun # who:查看当前用户
# finger:查看其他用户信息 # rlogin:远程登录 # rcp:远程复制 # netstat:网络状态 # cat:一次完全显示 # more:分屏显示 # file:列出文件类型 # grep:查找内容 # find:查找文件
# ps:当前运行程序,参数-a显示所有进程 # at:时间,命令,Ctrl+D结束 # lp:打印
# nice:指定优先级 # renice:调整优先级 # kill:终止进程 # man:获取命令帮助 # touch:改变时间记录 # ln:链接
# mount-t vfat /dev/hda1 /mnt/dos:挂载Dos分区(不适用于Unix-Center)9.FTP # ftp:启动FTP程序 ftp> open:打开 close:关闭 bye:离开 get:下载 put:上传
mget/mput:多个文件下载/上传 reget:恢复下载
binary:二进制传送文件 ascii:ASCII码传送 cd:改变远程目录 lcd:改变本地目录 mkdir:建目录 rmdir:删除目录 delete:删除文件
mdelete:一次删除多个 rename:重命名 status:显示状态 prompt:交互式
hash:每传送1024字节显示#(hash)size:显示文件大小 reset:重置 10.vi a,i:进入输入状态 ESC:返回命令状态 :命令模式 Q!:退出
11.快键及其他
Alt+F1~F6:访问多个虚拟控制台(不适用于Unix-Center)Tab:命令补全 末尾&:后台进程
---------硬件系统:
1、如何查看cpu的状态? # psrinfo-v # mpstat 可以列出多cpu负载的状态
2、如何查看内存? # prtconf | grep 'Memory' 可以查看内存的多少.# /usr/platform/sun4u/sbin/prtdiag
3、如何动态添加swap分区? # $su -
root-----成为超级用户
# mkfile 100m /home/swapfile-----创建100m的Swap文件 # /usr/sbin/swap -a /path/filename-----激活Swap文件 # /usr/sbin/swap -l-----验证swap文件 # /usr/sbin/swap -d /path/filename-----取消swap文件 # rm-rf /home/swapfile-----删除swap文件
4、如何查看当前网卡是以何种速率起来的? # dmesg |grep Link
5、如何调整x-window的分辨率和刷新频率?
字符界面登陆,运行:#/kdmconfig
6、如何使用光、软驱? 一般情况下用:
# /etc/init.d/volmgt start # volcheck 以上方法不行,用:
# /etc/init.d/volmgt stop # mount-F hsfs-o ro /dev/dsk/c0t6d0s0 /cdrom--挂接光驱 # mount-F pcfs /dev/diskette0 /floppy--挂接软驱 solaris定义系统磁盘文件系统说明:
ufs – UNIX文件系统。是Solaris缺省的文件系统。hsfs – 高密度CD-ROM文件系统,是只读文件系统。pcfs – PC文件系统,支持DOS格式化的软盘
7、SCSI设备的命名规则是什么?
带有总线控制器的硬盘的使用,下面列出了总线控制器的硬盘命名习惯: cWtXdYsZ c Logical controller number t Physical bus target number d Drive number s Slice(or partition)number(0 to 7)例如:
/dev/rdsk/c0t0d0s0 该原始接口对应第一个控制器的第一个SCSI目标地址的第一个硬盘的第一片(根)/dev/rdsk/c0t0d0s2 该原始接口对应第一个控制器的第一个SCSI目标地址上的第一个硬盘的第三片(表示整上硬盘)
8、如何查看硬盘的使用情况?
# df-k 可以看到已安装的文件系统的空间大小及剩余空间大小。
# quota-v 查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。# du-sk * 查看目录的使用情况
# du-k | sort-n 可以迅速发现那个目录是最大的。
9、如何查看硬盘物理信息?
# format 这个命令也可以查看硬盘的类型和分区的详细情况 # iostat-E看硬盘的大小和型号
# prtvtoc /dev/rdsk/c0t0d0s0 显示某个磁盘的分区状况
10、查看系统内核命令。# isainfo 看内核的bit, # isainfo-kv 调整内核
# modinfo 显示可载入的模组
# prtconf 显示系统硬件配置(周边设备)
#sysdef 显示可载入的模组,硬件配置与一些可以调整的核心参考值 #ulimit-a
11、打印当前的OBP版本号 # prtconf –V OBP 3.20.0 2000/10/24 10:47 # /usr/platform/sun4u/sbin/prtdiag –v | grep OBP OBP 3.20.0 2000/10/24 10:47 POST 6.1.0 2000/10/24 10:49 ok..version Release 3.20 Version 0 created 2000/10/24 10:47 OBP 3.20.0 2000/10/24 10:47 POST 6.1.0 2000/10/24 10:49 OBDIAG 4.5.1 2000/10/24 10:48
12、查看及启动系统的32位或64位内核模式 64位模式
# isalist –v sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc # isainfo –v 64-bit sparcv9 applications 32-bit sparc applications # isainfo –b 64 启动64位内核模式
ok.boot kernel/sparcv9/unix 32位模式
# isalist –v sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc # isainfo –v 32-bit sparc applications # isainfo –b 32 启动32位模式
ok.boot kernel/unix
13、测定当前的显示器刷新频率 # /usr/sbin/fbconfig –rev ?
14、如何配置网卡ip?
# ifconfig-a--查看网卡,例如是hme0 # ifconfig hme0 unplumb--停止网卡 # ifconfig hme0 plumb--起用网卡
# ifconfig hme0 inet 192.168.2.3 netmask 255.255.255.0 up--添加ip、子网掩码 # vi /etc/defaultrouter 添加默认路由的ip # vi /etc/hostname.hme0 添加主机名 # vi /etc/nodename 添加主机名 # vi /etc/resolv.conf domain china.com 你的域名
nameserver 202.106.0.20 你使用的nds ip # vi /etc/nsswitch.conf 更改 hosts:file dns
15、PROM状态命令与参数 格式: OK>;指令
命令 说明
banner 显示当前机器配置状况,CPU,内存,hostid,EtherNet probe-scsi 显示内部SCSI通道所挂接设备 probe-scsi-all 显示所有SCSI通道及所挂接设备
probe-ide 显示所有IDE通道及所挂接设备(针对U10,U5)devalias 显示设备别名,如 cdrom,disk,disk0,disk1等 printenv 无参数,显示环境变量或
参数为环境变量名 如: printenv auto-boot? setenv 设置环境变量,如: setenv auto-boot? false set-default 恢复环境变量预定值 如:set-default auto-boot? set-defaults 恢复所有环境变量预定值 boot device option 启动主机
设备别名: cdrom 或 disk 设备名: /pci@1f,4000/scsi@3,1/disk@6,0:f option-r 设备配置-s 单用户 eject cdrom|floppy 弹出cdrom或floppy reset 复位 test net watch-net-all show-devs
16、查找网卡名称及接口个数 # grep network /etc/path_to_inst
17、如何一块网卡帮定三个ip,并且子网掩码不同? 举例说明,网卡名hme0: # vi /etc/hosts 127.0.0.1 localhost 192.168.2.1 dbs loghost 192.168.9.15 dd 192.168.9.65 aa # vi /etc/netmasks 192.168.2.0 255.255.255.0 192.168.9.0 255.255.255.192 192.168.9.64 255.255.255.252 #vi /etc/hostname.hme0 dbs #vi /etc/hostname.hme0:1 dd #vi /etc/hostname.hme0:2 aa # ipconfig hme0 inet 192.168.2..1 netmask 255.255.255.0 up # ipconfig hme0:1inet 192.168.9.15 netmask 255.255.255.192 up # ipconfig hme0 inet 192.168.9.65 netmask 255.255.255.252 up # init 6 #ipconfig-a
18、如何在prom状态下查看光纤硬盘 ? stop +a进入ok状态:
ok>;select 光纤卡设备名(可用show-devs查看到)ok>;show-children
19、主机双屏幕设置。
1.Confirm there are two Video Cards。
2.Confirm driver installed and patches installed if need。3.vi /usr/dt/config/Xservers.comment the last line.and uncomment the nearest line like this.4.reboot.20、查看硬盘参数及其物理地址: #format
21、显示磁盘的分区情况: #prtvtoc /dev/rdsk/c0t0d0s2 系统应用:
1、、查看系统运行级别 # who-r 看运行级别
2、进程工具 pstop pid 停止进程 prun pid 重新启动进程
ptime pid 使用微状态计算进程时间 pwait pid 等待指定的进程终止 pcred pid 显示可信度
* pfiles pid 显示已打开文件的fstat和fcntl信息
* pflags pid 显示每个lwp的/proc跟踪标志,等待和待有信号量以及其他状态信息 * pldd pid 显示链接到每个进程的动态链接库
* pmap pid 显示地址映射空间
* psig pid 显示信号操作
* pstack pid 显示每个lwp的十六进制与符号堆跟踪
* ptree pid 显示包含指定PID的进程树 pwdx pid 显示当前工作目录
* 后面加*的必须是超级用户执行。这些工具在/usr/proc/bin/里面。
3、patch软件包的安装 每个补丁都有编号。例如补丁号为101945,版本是34的话,这个补丁的目录名就是101945-34.# patchadd 105160-01 安装补丁 # patchrm 删除补丁
# patchadd-p 检查系统的补丁情况
# showrev-p 查看所有已经安装的patch
4、如何容许root用户远程登录? # vi /etc/default/login CONSOLE=/dev/console---用#注释掉这一行。
5、如何限定telnet登陆数?solaris pts的数量缺省为47, 修改/etc/system文件,增加如下内容: set maxusers=数量 set pt_cnt=数量
6、显示已经使用和未使用的i-node数目 # df –F ufs –o i
7、显示cpu使用率最高的进程 # ps –eo pid,pcpu,args | sort +1n 该命令输出当前系统进程的pid, CPU占用率及命令描述,并以pcpu来排序
8、查看当前的OpenWindows版本 # showrev –w OpenWindows version: X11 Version 6.4.1 5 November 2001
9、查看当前CDE的版本 # /usr/ccs/bin/what /usr/dt/bin/dtmail /usr/dt/bin/dtmail: CDE Version 1.4.6_06 CDEVersion1.4.6_06
10、文消掉本中的^M # cat test.dat | tr-d ' 15' >;test.out 这样可以将 test.dat 内 ^M( 15)这个字元去掉, 产生 test.out
11、关机命令。
关闭系统的方式根据关闭的原因而不同.执行关闭有的是为了转至执行等级S,有的是要停止操作系统并关闭设备的电源.(1)/usr/sbin/shutdown –gtime –ilevel-y(2)init 0(3)halt(4)STOP+A;sync(5)关闭电源
紧急情况,按Stop_A , 如Stop_A不起作用,则将设备电源关闭再打开.这是 极端情况.这两种方法不是干净的关闭,是突然关闭的,仅在紧急情况使用.12、Solaris下怎么发送即时消息? 用wirte命令到单个用户的终端。$ wirte username 输入消息正文,结束按ctrl-d,消息就会出现在用户终端。用户可以用mesg n[y]来决定是否启动接受消息。用wall,是发给所有系统用户。$ wall hello ,i love you......结束用ctrl-D.rwall-n netgroup 给网络上所有用户。
$ rwall-n workgroup--------发给组workgroup下的每一个用户 hi!no smoking......结束用ctrl-d $ rwall sune450------或者主机名为sune450。用法如上。。
13、系统是sunos5.8,不知何种原因现在唯一的普通用户起不了Terminal, vi等,但是超级用户可以,如何补救?
用/etc/skel/local.cshrc 替换掉登陆路径下的.cshrc, 重新登陆,就OK了!$cp /etc/skel/local.cshrc./
14、关机时这个题是什么意思?
/usr/sbin/vold[724]: [ID 244572 daemon.error] 卸载 /vol 时发生问题;中断系统调用 uxwdog[481]: [ID 248799 daemon.error] error communicating with server(Broken pipe)你还没卸下来/VOL就启动,才出问题,运行: # umount-f /vol后再做。
15、find常用的例子:
命令格式: find dir-name filename command 例子: # find.-name hello-print 寻找目前目录及所有的子目录内叫hello的文档。# find.-ctime +7-print 找出七天内未被更动的文档
# find.-size +2000m-print 找出大小超过2000 bytes的文档 # find /tmp-user b1234567-print 在/tmp下属於b1234567的文档 # find.-name '*.c'-exec rm {} 删除所有的.c档
# find.-name test*-print 显示当前目录及其子目录文件名前4位为test的文件名
16、忘记solarsi的root口令怎么办? 方法一: 1.别怕 ,跟我来.2.把你的solaris光盘放进cdrom 3.键入stop+a 4.当出现'ok'字样时,键入boot cdrom-s 5.cd /tmp 6.mkdir /tmp/xxx(xxx是什么鬼东西就无关紧要了)7.mount /dev/dsk/c0t0d0s0 /tmp/xxx(在这里c0t0d0s0是你的root盘)8.运行csh 9.TERM=sun;export TERM或者 setenv TERM vt220 10.cp /tmp/root/xxx/shadow /tmp/root/xxx/shadow/shadow.backup 11.vi /tmp/root/xxx/shadow并且将password里root项删除。12.重启动,你就可以以无密码的root登陆了,这时更改你的密码。
要是没有shadow,就把/etc/passwd里root用户名后面的X删掉,就可以了 方法二: 找一台有系统的solaris机器,把忘记密码的系统放进去mount上来,重复方法一10以后的步骤.solaris for x86的机器:
用光盘启动到要你安装的时候退出去就成单用户,剩下的操作如上。
17、常见文件的解压 一般而言,在solaris下,会有这么几种格式的软件: 1).gz结尾的文件,我们用gunzip或者gzip-d来解压,再用tar来解压.2).tar结尾的文件,我们肯定知道用tar xvf的格式来解压.3).zip结尾的文件,我们用unzip,注意,这个只有在高版本的solaris下,才有.而且该文件格式以solaris的patch比较多.4).Z结尾的文件,我们一般用uncompress来解压(当然,每个人的习惯不一样.)上面讲的是解压,一般解压后,会生成这么几种方式: 1)生成.local的文件,这个时候,我们用: pkgadd-d xxx.local来安装.2)生成一个目录,而且该目录下会有一些pkg信息,我们用: pkgadd-d.;指在当前目录下,安装,并且按照缺省的路径来安装.3)生成一个数字的目录,一般是指solaris的patch,这个时候我们用patchadd来安装.18、如何在命令行界面替换一个文件中的字符段? # vi file 在命令模式中输入:
:1,$s/diag/peng/g 全文件查找diag并替换为peng
19、请问TERM=VT100和TERM=dtterm都在什么情况下设置?
一般情况下如果你在机器的显示器上登陆或者通过XMANAGER等登陆,就默认是dtterm,telnet 一般是ansi,当你通过telnet修改文件的时候,需要设置成 TERM = VT100;export TERM 20、如何查看系统的版本? $ uname-X $ more /etc/release
21、命令行进入CDE:
#/usr/dt/bin/dtlogin-daemon;exit or #/etc/rc2.d/S92dtlogin start;exit;
22、查看patch安装过程中返回错误代码的含义: #more /usr/sbin/patchadd
23、如何从一台SOL8的机器登录到另外一台SOL8的CDE桌面上去。登陆CDE的时候点击一下菜单:选择--登陆远程主机--
24、如何查看你的默认语言环境? C.Arthur # more /etc/default/init
25、如何更改/home的权限?
停掉autofs服务,或者将/etc/auto_master的home注释掉: #vi /etc/auto_master------------内容如下----------# Master map for automounter # +auto_master /net-hosts-nosuid,nobrowse #/home auto_home-nobrowse /xfn-xfn 第三方软件应用或技巧:
1、查看当前的bind版本信息 # nslookup –class=chaos –q=txt version.bind
2、在登录时显示系统指定的消息?
#vi /etc/motd----删除所有过时的消息,输入新消息
注意:对于已经登录且正在使用系统的用户不显示该消息,超过一屏的消息无法显示。每次修改该文件后,该文件的时间戳随之更新。
3、去掉文本中^M # dos2unix aaa.txt bbb.txt,会去掉aaa.txt中的^M,生成bbb.txt文件。
4、将系统中7天前的txt文件查找并打包。# find /-mtime-7 >;aaa.txt # tar cvf bbb.tar-I aaa.txt---查找出文件记录在aaa.txt文件中,在作成bbb.tar文件包。
5、查找并删除比某一天更老的文件:
#find.!-mtime-
6、solaris9普通用户下无法正确输入中文的解决方法: 在用户目录在#vi.profile 修改如下: stty cs8-istrip
7、请问如何防止telnet登陆发呆时间过长被踢呢? 这里,vi /etc/default/login # TIMEOUT sets the number of seconds(between 0 and 900)to wait before # abandoning a login session.# #TIMEOUT=300 修改之后不是立即生效,在这之后所又的login session都符合这个要求,但是在修改之前已经建立的连接不受影响。
8、如何安装gcc。
去sunfreeware.com上下载相应平台的pkg包的gcc版本。#pkgadd-d gcc* 设置环境变量:
bash 和sh 的shell: vi $home/.profiel PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin;export PATH CC=gcc;export CC csh的shell: vi $home/.cshrc set path=(/bin /usr/bin /usr/ucb /etc /usr/local/bin /usr/local/sbin.)setenv CC gcc
9、列出当前目录下的目录。ls-al | grep '^d'
10、用命令行来打开一个新的terminal。/usr/dt/bin/dtterm X86或者Vmware:
1、在Solaris10 x86上挂接window98分区的方法。#mount-F pcfs /dev/dsk/c0d1p0:e /mnt 总结一下:
偶的硬盘是接在IDE1的slaver盘上,用上述命令可将E:盘挂在/mnt 目录下。如果你的电脑只有一个硬盘,并且是接在主板的IDE1槽,设为 Master盘(通常这种情况较多),现在想挂WIN98下的D:盘,可输入 #mount-F pcfs /dev/dsk/c0d0p0:d /mnt 注意,/mnt可以改为任意的其它空目录,如/data(我在文件管理器中自己 新建的一个目录),可改为
#mount-F pcfs /dev/dsk/c0d0p0:d /data 按回车后如没有任何出错提示,则表示挂接成功,你就可以进入挂接的文件夹(此处为/data)找到你所挂接的win98的D:分区上的文件了。
本方法经过偶N次实验,是确实可行的。为后来者不再偶走过的弯路,偶特在此总结一下,哪位初学者不会在Solaris10 x86(Solaris9也应该行)挂win98分区的话,可参考本方法。
第二篇:mathematic命令小结
1.初等数学(1).算术函数
Plus(+)加号 Subtract(-)减号
Times(×)乘号, 用空格,* 或者×(Esc * Esc)表示 Divide(/)除号
Power(^)幂, 以上标形式输入,使用 Ctrl+^ Sqrt平方根, 输入 Sqrt[] 或使用 Ctrl+@ expr 直接输入表达式 N[expr]或 expr//N expr的近似值
N[expr,n] n位精度的expr的近似值(2).数学常数
Pi()圆周率(Esc p Esc)
E()自然对数底数(Esc ee Esc)Infinity()无穷大 (Esc inf Esc)I 虚数单位
Degree 度数 °
GoldenRatio 黄金分割 =(1+Sqrt[5])/21.618 EulerGamma 欧拉常数 0.577(3).复数 z=x+I y Re[z] 求z的实部 Im[z] 求z的虚部 Conjugate[z] 求z的共轭 Abs[z] 求z的模 Arg[z] 求z的幅角
Sign[z] 将z单位化(z/|z|)(4).数值函数
IntegerPart[x] x的整数部分 FractionalPart[x] x的分数部分 Round[x] x的四舍五入取整 Floor[x] x的向下取整 Ceiling[x] x的向上取整 Abs[x] x的绝对值
Max[{e1,..., en}] 给出n个数的最大值 Min[{e1,..., en}] 给出n个数的最小值 Sign[x] 符号函数 Boole[x] 布尔函数
UnitStep[x] 阶梯函数(x>=0时为1, x<0时为0)Mod[k, n] k模n(k除 n的余数)Quotient[m, n] m除n的商数(舍弃m/n的小数部分)QuotientRemainder[m,n] m除n的商数和余数的列表 GCD[n1, n2, ] 求n1, n2,...最大公约数 LCM[n1, n2, ] 求n1, n2,...最小公倍数 n!n的阶乘 n(n-1)(n-2)1 n!n的二阶阶乘 n(n-2)(n-4) Binomial[n,m] 组合数(n,m)= n!/[m!(n-m)!Multinomial[n1,n2, ]] 多重组合(n1+n2+ )!/(n1!n2!...)Rescale[x,{xmin,xmax}] IntegerDigits FromDigits(5).一般函数 初等函数
Log[x] 计算表达式的对数函数值 Log[b,x]
计算x以b为底的对数...Sin[x]
计算表达式的三角正弦 Cos[x] 计算表达式的三角余弦 Tan[expr]
计算表达式的三角正切 Cot[expr]
计算表达式的三角余切 Sec[expr]
计算表达式的三角余割 ArcSin[expr] 计算表达式的反三角正弦 ArcCos[expr] 计算表达式的反三角余弦 ArcTan[expr] 计算表达式的反三角正切...Sinh[expr]
计算表达式的双曲正弦 Cosh[expr] 计算表达式的双曲余弦 Coth[expr] 计算表达式的双曲余切 Tanh[expr]
计算表达式的双曲正切 ArcCosh[expr] 计算表达式的反双曲余弦 ArcSinh[expr] 计算表达式的反双曲正弦 ArcTanh[expr] 计算表达式的反双曲正切 Sech[expr]
计算表达式的双曲余割
特殊函数
Zata[expr]
计算表达式的Zata函数 Bessell[expr] 计算表达式的贝赛尔函数值 Beta[expr] 计算表达式的Beta函数值 Gamma[expr] 计算表达式的伽玛函数值 Erf[expr]
计算表达式的误差函数
统计函数
NormalDistribution[,] 正态分布 StudentTDistribution[v] 学生分布 ChiSquareDistribution[v] 2分布 FRatioDistribution[m,n] F分布 UniformDistribution[min,max] 均匀分布 ExponentialDistribution[] 指数分布
LaplaceDistribution[,] 拉普拉斯分布 GammaDistribution, ] 分布 BetaDistribution[, ] 分布 CauchyDistribution[a,b] 柯西分布 BernoulliDistribution[p] 贝努利分布 BinomialDistribution[n,p] 二项分布 PoissonDistribution[] 泊松分布
PDF 求分布的密度函数 CDF 求分布的概率函数 Mean 求均值 Variance 求方差 Quantile 求距 Skewness 求峰度 Kurtosis 求偏度 ExpectedValue 求期望
RandomReal 产生随机实数 RandomInteger 产生随机整数(6).自定义函数
f[x_]:=expr 定义函数f f[x_,y_]:=expr 定义多变量函数f.Piecewise[{{val1,cond1},{val2,cond2},}] 用于定义分段函数 ?f 显示函数的定义 Clear[f] 清除函数f x=value 给x赋值
x=.清除变量x的值
expr/.x->value 用value替换expr中的x(7).表达式化简
Simplify[expr] FullSimplify[exper] Simplify[expr,assum] assum 选项
Element[x,Reals] 或 xReals Element[x,Integers] 或 xIntegers Element[x,Complexs] 或 xComplexs Element[x,Primes] 或 xPrimes Element[x,Rationals] 或 xRationals Element[x,Booleans] 或 xBooleans Assumptions Assumming
2.多项式与有理函数(1).多项式
1、多项式的普通运算 Expand[poly] 展开多项式乘积与乘方 Factor[poly] 对多项式进行因式分解 FactorTerms[poly] 提取数字公因子
FactorTerms[poly,patt] 提取关于patt的公因子
Collect[poly,x] 以x幂的形式重新排列多项式 Collect[poly,{x,y,...}] 以x、y、...幂的形式重新排列多项式 Expand[poly,patt] 展开与patt相匹配的多项式poly
2、得到多项式的结构
PolynomialQ[expr,x] 判断expr是否为关于x 的多项式
PolynomialQ[expr,{x,y,...}] 判断expr是否为关于x,y,...的多项式 Variables[poly] 列出多项式poly中的变量 Length[poly] 列出多项式poly的项数
Exponent[poly,x] 给出多项式poly的x的最高指数 Coefficient[poly,expr] 给出多项式poly中关于expr的系数
CoefficientList[poly,{x,y,..}] 生成多项式poly中关于x、y、...的系数
3、多项式的代数运算
PolynomialQuotient[poly1,poly2,x] 求出关于x的多项式poly1除以poly2的商,忽略余式 PolynomialRemainder[poly1,poly2,x] 求出关于x的多项式poly1除以poly2的余式
PolynomialQuotientRemainder[poly1,poly2,x] 求出关于x的多项式poly1除以poly2的商和余式 PolynomialReduce[poly,{poly1,poly2,...},{x1,x2,...}] PolynomialGCD[poly1,poly2] 寻找两个多项式的最大公因式 PolynomialLCM[poly1,poly2] 寻找两个多项式的最小公倍式 Resultant[poly1,poly2,x] 寻找两个多项式的消元式 Discriminant[poly, x] 给出多项式有根的判别式
PolynomialReduce[poly,{poly1,poly2,...},{x1,x2,...}] 寻找使用ployi表示poly的最小表示式(2).有理式
关于有理多项式的运算
ExpandNumerator[expr] 仅把有理表达式的分子展开 ExpandDenominator[expr] 仅把有理表达式的分母展开 Expand[expr] 仅展开分子,并把分母分成单项 ExpandAll[expr] 同时展开有理表达式的分子和分母 ExpandAll[expr,patt] 仅展开与patt匹配的项 Together[expr] 合并具有相同分母的项
Apart[expr] 以最简分母项和的形式书写表达式 Cancel[expr] 约去分子分母中的公因子
Factor[expr] 将有理式合并,并同时对分子分母因式分解 Numerator[expr] 获取有理表达式的分子 Denominator[expr] 获取有理表达式的分母(3).三角函数表达式
1、三角表达式
TrigExpand[expr] 将三角函数表达式转化为和差
TrigFactor[expr] 将三角函数表达式和差形式转化为乘积形式 TrigReduce[expr] 用倍角的方法化简三角表达式 TrigToExp[expr] 将三角函数表达式转化为指数形式 ExpToTrig[expr] 将指数形式表达式转化为三角函数形式
2、含有复数变量的表达式
ComplexExpand[expr] 展开表达式expr,并假定所有的变量都是实数 ComplexExpand[expr,{x1,x2,...}] 展开表达式expr,并假定x1,x2,...变量都是复数
3.代数方程与不等式(1)代数方程求解
Solve[eq var] 求解方程eqns中的未知变量vars Solve[{eq1,eq2,...},{var1,var2,...}] 求解方程组
Root[f,k] 求解方程f[x]=0的第k个根
Reduce[eqns vars] 给出含未知常数方程eqns所有可能的情况 Eliminate[eqns,elims], 消去方程eqns中变量elims RSolve[eqns,vars[n]] 求递推方程eqns的通解vars[n] Resolve(2)不等式求解
Reduce[{eqns1, eqns2,...}, x] 给出满足不等式eqnsi的x的集合
4.微积分(1).求极限
x0f(x)Limit[f,x->x0] xlimLimit[f,xx0Limit[f,xx0
x0,Direction->1] xx0,Direction->-1] xlimf(x)f(x)
lim(2).求(偏)导
D[exp,x] 计算表达式一阶(偏)导数 D[exp,x1,x2,xn] 计算表达式混合偏导数
D[exp,{x,n}] 计算表达式对x的n阶(偏)导数 D[exp,{{x1,x2,...}}] 计算向量函数(偏)导数
Derivative[n 1,n2,][f] 对f的第一个变量求n1阶导数,第二个变量求n2阶导数,...Dt[exp] 计算表达式的全微分df Dt[exp,x] 计算表达式关于x的全导数df/dx
Dt[exp,x1,x2, xn] 计算表达式关于x1,x2,xn的全导数d/dx1 d/dx2...d/dxn f Dt[exp,x,Constants->{c1,c2,, cn}] 计算表达式关于x的全导数,并指出表达式中 ci为常数 Maximize[f,{x,y,}] 求变量为x,y,函数f的最大值.Maximize[{f,cons},{x,y,}] 求在约束条件cons下函数f的最大值
Minimize[f,{x,y,}] 求变量为x,y,函数f的最小值.Minimize[{f,cons},{x,y,}] 求在约束条件cons下函数f的最小值
FindMinimum[{f,cons},{x,x0},{y,y0}] 求在约束条件cons下函数f的局部最小值(3).求积分 Integrate[exp,x] 求表达式关于x的不定积分
Integrate[exp,{x,a,b}] 求表达式关于x在区间[a,b]上的定积分 NIntegrate[exp,{x,a,b}] 求表达式关于x在区间[a,b]上的数值积分 Integrate[exp,{x,a,b},{y,c,d}] 求x,y在区间[a,b][c,d]上的二重积分 Integrate[Boole*ieq,{x,a,b},{y,c,d}] 求不等式所限制的区域上的二重积分(4).幂级数展开
Series[exp,{x,x0,n}] 对表达式在x0处进行n阶展开
Series[exp,{x,x0,n1},{y,y0,n2}] 对二元表达式在x0,y0处进行n1,n2阶展开 Series1/.x->Series2 将级数Series2代入级数Series1 Normal[exp] 将级数转化为函数表达式(即:除去余项)Residue[exp,{x,x0}] 求exp在x=x0处的留数(5).微分方程
DSolve[eqn,y[x],x] 求解微分方程解y[x] DSolve[eqn,y,x] 求解微分方程解函数 DSolve[{eqn1,eqn2,eqnn},{y1,y2,yn},x] 求解微分方程组的解
DSolve[eqn, y[x1,x2,...], {x1,x2,...}] 求解偏微分方程的解(6).和与积
Sum[f,{i,imin,imax}] 和式
Sum[f,{i,imin,imax,di}] 关于i求和,i的步长为di
Sum[f,{i,imin,imax},{j,min,jmax}] 多重求和
Product[f,{i,imin,imax}] 求积(7).一些用于迭代的函数
Nest[f,x,n] 对x嵌套运用f函数n次 NestList[f,x,n] 产生一n元嵌套列表{x,f(x),f(f(x)),...}。FixPoint[f,x] 求x=f(x)的不动点
FixPointList[f,x] 产生一列表{x,f(x),f(f(x)),...},直到不动点为止 FixPoint[f,x,SameTestComp] 求x=f(x)的迭代,直到满足comp为止 Fold[f,x0,{a,b,...}] FoldList[f,x,{a,b,...}] 产生一列表{x,f(x,a),f(f(x,a),b),...}
5.线性代数
(1).数表与矩阵的输入及其构造
v={a1,a2,...an} 输入一个名为v的n维向量(表),其中ai为数值或为表达式 p={{e11,e12,e1n},,{em1,em2,emn}} 输入一个名为p的m×n矩阵(多维表),其中eij为数值或为表达式 v=Table[f,{i,m}] 输入一个名为v的n维向量(表), 其元素f为i的函数
p=Table[f,{i,m},{j,n}] 输入一个名为p的m×n矩阵, 其元素f为i,j的函数 p=Array[f,{i,m},{j,n}] 输入一个名为p的m×n矩阵,其元素为f[i,j] p=Range[f,{n}] 生成一列表{f[1],f[2],....f[n]} p=DiagonalMatrix[{e1,e2,,en}] 输入一个名为p的n阶对角阵,对角元素为e1,e2,,en
imaxiiminfimaxiiminjmaxjjminf
imaxiiminfp=IdentityMatrix[n] 输入一个名为t的n阶单位阵 p=Table[0,{m},{n}] 输入一个名为t的m×n零矩阵
p=Table[If[i>=j,f,0],{i,m},{j,n}] 输入一个名为p的m×n下三角阵,其元素f为i,j的函数 p=Table[If[i<=j,f,0],{i,m},{j,n}] 输入一个名为p的m×n上三角阵其元素f为i,j的函数 p=Normal[SparseArry[{{i1,j1}->v1,{i2,j2}->v2,...},{m,n}] 构造一矩阵其在ik行jk列的值为vk,其余为0。Tuples Subsets Permutations RandomChoice
(2).矩阵的剪裁
v[[i]](Part[v,i])取出向量v的第i个元素 M[[i,j]] 取出矩阵M的元素m(i,j)M[[i]] 取出矩阵M的第i行 M[[All,i]] 取出矩阵M的第i列
M[ {i1,i2ir},{ j1,j2js }] 取出矩阵M的一个r×s子矩阵,它由i1, 行和 j1, js列相交处的元素构成 M[{Range[ i0,i1],Range[ j0,j1]}] 或Take[M,{i0,i1}, {j0,j1}] 取出矩阵M的一个子块,它由 i0到 i1行和 j0Minors[M,i] 算出矩阵M的一个i×s的i阶余子式矩阵 ArrayRules[M] 矩阵M中非零元素的位置 Tr[M,List] 矩阵M对角线上的元素
M[[i,j]]=v 将矩阵M的i行j列的元素换为v。M[[i]]=v 将矩阵M的i行的元素全换为v。
M[[i]]={v1,v2,...} 将矩阵M的i行的元素全换为{v1,v2,...}。M[[All,j]]=u 将矩阵M的j列的元素全换为u。
M[[All,j]]={u1,u2,...} 将矩阵M的j列的元素全换为{u1,u2,...}。First Last Rest Most Take Drop TakeWhile Append Prepend Insert Delete AppendTo PrependTo RotateLeft RotateRight Reverse
ir 到j1列相交处的元素构成 Partition Flatten Sort Join Riffle(3).矩阵的运算
c*v 常数乘矩阵 v.u 向量内积 Norm[u] 求向量u的模
v*m 向量对应的元素相乘 m.v 矩阵乘向量 m.p 矩阵相乘 Cross[v,v] 向量差积
m*p 矩阵对应的元素相乘 VectorAngle[u,v] 求两向量的夹角 Normalize[u] 将向量u单位化 Orthogonalize[{u,v,...}] 将向两组正交化 Projection[u,v] 求向量u到v上的投影 Outer[Times,m,n] 求矩阵的外积 Transpose[m] 求矩阵的转置 Inverse[m] 求矩阵的逆矩阵 Det[m] 求矩阵的行列式
Minors[m,k] 矩阵所有可能的k*k阶子式 MatrixPower[m,i] 求矩阵m的i次幂
MatrixExp[m] 求以矩阵m作为指数的值 Tr[m] 求矩阵的迹
CharacteristicPolynomial[m,x] 求矩阵的特征多项式。Chop[%] 舍弃上一个输出中的无意义的小量 MatrixPlot[M] 打印矩阵 Map Apply(4).解线性方程组
LinearSolve[m,w] 求解线性方程组m.x=w的解 NullSpace[m] 求矩阵m的零化子空间
RowReduce[m] 用Gauss消元将矩阵m化为对角形式 MatrixRank[m] 求矩阵m的秩
LeastSquares[m,w] 求线性方程组m.x=w的最小二乘解(5).特征值,特征向量及分解
Eigenvalues[m] 求矩阵m的特征值
Eigenvalues[m,k] 矩阵m的最大的前k个特征值 Eigenvectors[m] 求矩阵m的特征向量
Eigenvectors[m,k] 对应矩阵m的最大的前k个特征值的特征向量 Eigensystems[m] 求数字矩阵m的特征值和特征向量 Eigenvalules[{m,a}] 求矩阵m关于a的广义特征值 Eigenvectors[{m,a}] 求矩阵m关于a的广义特征向量 QRDecomposition[m] 求数字矩阵m的QR分解 SchurDecomposition[m] 求数字矩阵m的Schur分解 LUDecomposition[m] 求数字矩阵m的LU分解
CholeskyDecomposition[m] 求数字矩阵m的Cholesky分解 JordanDecomposition[m] 求数字矩阵m的Jordan分解 SingularValues[m] 求数字矩阵m的奇异值分解 PseudoInverse[m] 求数字奇异矩阵m的拟逆
6.数值计算
(1).数据拟合与插值
ff=Table[N[f[x]],{x,n}] 输入名为ff的拟合函数表,变量x在区间[0,n]上,间距为1。fp=Fit[ff,{f1,f2,,fn},x] 建立名为fp的拟合函数,它由f1,,fn的线性组合形成,拟合变量为x。fp=FindFit[ff,form,{pars1,pars2,...},x] 建立名为fp的拟合函数,函数形式form已知,求参数parsi。fp=Fit[ff,Table[x^i,{i,0,n}],x] 多项式拟合的简单输入形式
ff=Flatten[Table[{x,y,f[x,y]},{x,x1,x2,dx},{y,y1,y2,dy},1] 输入名为ff的二元拟合函数表,变量x在区间[x1,x2]上,间距为dx。变量y在区间[y1,y2]上,间距为dy。
fp=Fit[ff,{f1,f2,,fn},{x,y}] 建立名为fp的拟合函数,它由f1,,fn的线性组合形成,拟合变量为x,y。ff={{x1,y1},{x2,y2},,{xn,yn}} 输入名为ff的二元插值函数表 fp=InterpolatingPolynomial[ff,x] 用牛顿法进行多项式插值
ip=Interpolation[{f1,f2,...}] 构造在整数点i处函数值为fi的插值多项式 ip=Interpolation[{{x1,f1},{x2,f2},...}] 构造在点xi处函数值为fi的插值多项式
ip=Interpolation[{{x1,y1,f1},{x2,y2,f2},...}] 对二维整数网格点上值为fij构造插值多项式
ip=ListInterpolation[List,{{xmin,xman},{ymin,ymax},...}] 对二维区域网格点值构造插值多项式
ip=ListInterpolation[List,{{x1,x2,...},{y1,y2...}}] 对二维区域上给定的网格点上值构造插值多项式(2).方程数值解与函数优化
NSolve[poly==0,x] 求多项式方程的解
NSolve[poly==0,x,n] 求多项式方程的解,精度为n。FindRoot[f[x]==0,{x,x0}] 用牛顿方法求方程在x0附近的解
FindRoot[f[x]==0,{x,x0,x1}] 用割线方法求方程在x0、x1附近的解 FindRoot[{f1,f2,...},{{x,x0},{y,y0},...}] 用牛顿方法求方程组在x10,x20,,附近的解 FindInstance[f[x]==0,x] 求方程的任意一特解
FindInstance[f[x]==0,x,dom] 求在给定范围dom内任意特解 FindInstance[f[x]==0,x,dom,n] 求在给定范围dom内任意n个特解 NIntegrate[f[x],{x,xmin,xmax}] 计算一元定积分
NIntegrate[f[z],{z,z0,z1,,zn,z0}] 计算复变函数的回路积分 NIntegrate[f[x,y],{x,a,b},{y,c,d}] 计算二元定积分
LinearProgramming[c,m,b] 求满足m.x>b,x>0约束使c.x最小的x LinearProgramming[c,m,b,l] 求满足m.x>b,x>l约束使c.x最小的x FindMinimum[f[x],{x,x0}] 求函数f(x)在x0附近的局部极小值
FindMinimum[f,{{x,x0},{y,y0},...}] 求函数f在{x0,y0,...}附近的局部极小值 FindMaximum[f[x],{x,x0}] 求函数f(x)在x0附近的局部极大值
FindMaximum[f,{{x,x0},{y,y0},...}] 求函数在{x0,y0,...}附近的局部极大值 NMinimize[f,{x,y,...}] 求多元函数函数f最小
NMinimize[{f,cons} ,{x,y,...}] 求在约束cons下函数f最大值 NMaximize[f,{x,y,...}] 求多元函数函数f最大值
NMaximize[{f,cons}, {x,y,...}] 求在约束cons下函数f最大值值(3).微分方程数值解
NDSolve[equ,y,{x,xmin,xmax}] 给出方程在区间[xmin,xmax]上关于y的数值解。NDSolve[equs,{y1,y2,...},{x,xmin,xmax}] 给出方程在区间[xmin,xmax]上关于函数yi的数值解。NDSolve[equs,u,{t,tmin,tmax},{x,xmin,xmax},...] 给出偏微分方程组上关于函数u的数值解。NDSolve[equs,{u1,u2,...},{t,tmin,tmax},{x,xmin,xmax},...] 给出偏微分方程组上关于函数ui的数值解。y[x]/.solution 得到方程插值形式的解y[x].Plot[Evaluate[y[x]/.solution],{x,xmin,xmax}] 打印出微分方程解的图形
7.绘图
(1).平面图形 显函数绘图
Plot[f, {x, x1, x2}, “选项”] 打印函数f在区间[x1, x2] 上的图形
Plot[{f1, f2,...}, {x, x1, x2}, “选项”] 在同一幅图上打印出函数f1, f2,...在区间[x1, x2] 上的图形 参数方程绘图
ParametricPlot[{x[t], y[t]}, {t, t0, t1}, “选项”] 画出参数形式给出的函数曲线图形 ParametricPlot[{fx, fy}, {u, u0, u1}, {v, v0, v1}, Option] 画出参数形式给出的函数所描述的区域图形 极坐标图形
PolarPlot[r, {theta, theta1, theta2}] 画出极坐标形式给出的函数曲线图形 PolarPlot[{r1, r2,...}, {theta, theta1, theta2}] 同时画出多个极坐标形式给出的函数曲线图形 隐函数图形
ContourPlot[f(x, y)== 0, {x, xmin, xmax}, {y, ymin, ymax}] 打印隐函数f == 0 所描述的曲线图 等高线图形
ContourPlot[f, {x, xmin, xmax}, {y, ymin, ymax}] 打印函数f所对应的等高线图 密度图形
DensityPlot[f, {x, xmin, xmax}, {y, ymin, ymax}] 打印函数f所对应的密度图 区域图形
RegionPlot[ineq, {x, xmin, xmax}, {y, ymin, ymax}] 打印不等式ineq所描述的区域图 Show[{g1, g2,..., gn}, Option] 显示几个已画出的函数图形 离散点图形
ListPlot[{y1, y2,..., yn}] 画出列表形式给出的函数图象(横坐标为整数)ListPlot[{{x1, y1}, {x2, y2},..., {xn, yn}}] 画出表形式给出的函数图象 ListLinePlot[list1, list2,..., Option] ListContourPlot[array] ListContourPlot[{{x1, y1, f1}, {x2, y2, f2},...}] ListDensityPlot[array] ListDensityPlot[{{x1, y1, f1}, {x2, y2, f2},...}] ArrayPlot[array] ReliefPlot[array] MatrixPlot[matrix]
Option选项常用的有: 图形界面选项
Frame-> “True” 给图形加上图框 FrameLabel-> None, FrameStyle-> {}, FrameTicks-> Automatic, FrameTicksStyle-> {}, AspectRatio-> Automatic,Background-> None, GridLines-> None, GridLinesStyle-> {}, ImageSize-> Automatic, Mesh-> None, MeshShading-> None, MeshStyle-> Automatic, 坐标轴选项 Axes-> True, AxesOrigin-> Automatic, AxesStyle-> {}, AxesLabel-> “名1,名2” 是否给坐标轴加上名字 RotateLabel-> True, Ticks-> Automatic, TicksStyle-> {} 图形选项
PlotPoints-> 数字 画图时计算函数的点数
PlotStyle-> RGBColor[a, b, c] 产生彩色图, a, b, c为[0, 1] 中的值 PlotRange-> {y1, y2} 指定函数因变量的区间 PlotLabel-> “图名” 是否给图形加上名字 ColorFunction-> Automatic, ColorFunctionScaling-> True, ColorOutput-> Automatic, Epilog-> {}, Filling-> None, FillingStyle-> Automatic, LabelStyle-> {}, Method-> Automatic, PlotRangeClipping-> True, PlotRegion-> Automatic, Prolog-> {}
ColorFunction-> Automatic, ColorFunctionScaling-> True, ColorOutput-> Automatic, ContourLabels-> None, ContourLines-> True, Contours-> Automatic, ContourShading-> Automatic, ContourStyle-> Automatic, Exclusions-> Automatic, GridLines-> None, GridLinesStyle-> {}, ImageMargins-> 0., ImageSize-> Automatic, LabelStyle-> {}, PlotPoints-> Automatic, PlotRange-> {Full, Full, Automatic}, PlotRegion-> Automatic Prolog-> {}, RegionFunction->(True &), RotateLabel-> True, Ticks-> Automatic, TicksStyle-> {}
(2).空间图形
Plot3D[f[x,y],{x,xmin,xmax},{y,ymin,ymax},Option] 绘制函数z=f(x,y)在给定范围内的三维图形。ParametricPlot3D[{x[t],y[t],z[t]},{t,t1,t2},Options] 绘制三维空间的曲线图。
ParametricPlot3D[{fx[u,v],fy[u,v],fz[u,v]},{u,u1,u2},{v,v1,v2},Option] 绘制三维空间的曲面图 RevolutionPlot3D SphericalPlot3D RegionPlot3D Show[图形名,Option] 显示已绘制好的图形,按特别说明加以修改 CotourPlot3D[f[x,y,z],{x,xmin,xmax},{y,ymin,ymax},{z,zmin,zmax}] 绘制函数f=f(x,y,z)在给定范围内的等值面图。ListPlot3D ListPointPlot3D 绘制3维散点图 ListSurfacePlot3D ListContourPlot3D 8.编程
(1).条件结构
If[cond,then,else,none] 如果cond成立,计算then;不成立,计算else;无法判定,计算none。Which[cond1,value1,cond2,value2,...,True,value] 如果条件cond1成立,计算value1,条件cond2成立,计算value2,...,全不成立,计算value。lhs:=rhs/;cond 如果cond成立,定义lhs为rhs,Switch[expr,form1,valu1,form2,value2,...,_,def] 如果条件cond1成立,计算value1,条件cond2成立,计算value2,...,都不相等,计算def。(2).循环结构
Do[expr[i],{i,min,max,id}] 计算表达式expr[i],i从min到max,步长为id。Do[expr,{n}] 计算表达式expr n次。
While[cond,expr] 只要cond为true,就计算expr。For[start,test,incr,expr] 从start开始计算expr一次,再计算incr一次,直到test为false结束.
第三篇:Solaris新手121问范文
Solaris新手必读
-121个问题解答让你从菜鸟到高手
1.Q: Solaris 的系统配置文件一般在什么地方?
A: 可以查看/etc/system文件,里面有一些solaris启动时默认加载的选项,包括 共享内存大小等的设置。
2.Q: 在solaris中,用户默认的Shell在什么文件中规定? A: 可以查看/etc/passwd中,用户默认的shell在这里规定。
3.Q: 如果solaris不幸忘记了root密码,如何解决? A: 可以有如下两种情况
1.工作站只有root用户,无其他用户。2.工作站除了root用户以外,还有其他的用户
1.如果连接了网络,我们可以采用远程缓冲溢出的方法,但是这样的方法不属 于“经典”方法,且有的远程缓冲溢出具有一定的破坏性,不建议使用。还 有一种方法就是采用SUN公司自带的光盘采取引导,建议采取这种方法: 1.boot cdrom-s 2.fsck /dev/dsk/c0t0d0s0(取决于根分区的设备)3.mount-F ufs /dev/dsk/c0t0d0s0 /mnt 4.TERM=ansi;export TERM 5.编辑/mnt/etc shadow文件,把root对应的口令去掉。6.重启后的root的口令为空。
2.如果还有普通用户,方法可以采用本地缓冲溢出,这种方法虽然破坏性小,但是也有损毁硬盘引导区的危险,建议采用“文件连接”错误是获得root权 限,这种方法没有什么危险性。
4.Q: 有时候用vi编辑器的时候,显示窗口过大,如何处理? A: 只需要用鼠标拖曳终端窗口,使其缩小,即可解决。
5.Q: 共享内存大小如何设置? A: 在system文件的最后一行加入Set shmsys:shminfo_shmmax=XXX /etc/set shmsys:shminfo_shmmin=XXX 这里的XXX是代表共享内存的大小。单位:字节 共享内存一般为内存的一半 例如内存为512M 设置应为512/2*1024*1000=262144000
6.Q: root用户的配置文件在什么地方? A: root用户的配置文件和其他用户的配置文件有些不同,它在/etc/profile文件 中规定。
7.Q: SUN solaris 在远程X-win pro下无法以root进行登陆,如何解决? A: 直接以root在终端上登录的时候,执行/etc/default/login脚本。在这个脚本 中限制了在远程终端上不能直接以用户root登录,如果想这样,修改此脚本,将下面这一行注释掉即可 CONSOLE=/dev/console
8.Q: 在solaris下,如何查看网络是否配置成功?
A: 可以采用命令Ifconfig-a来查看,如果网卡绑定ip成功,而不是显示0.0.0.0 就证明网卡配置基本无误,主要检查网络介质(网线,RJ45插头...)是否损坏。
9.Q: 如果敲错一个命令如何结束它呢?
A: solaris和SCO有少许不一样,solaris可以采用ctrl+C来结束,而不是SCO的 ctrl+Del
10.Q: solaris的联网中,网关如何配置? A: solaris的网关设置和SCO的设置不一样
SCO: /etc/gateways ;所有中间的很长的空均为TAB Net,host 表示路由指向是网络还是主机,net和host是关键字 Name1 目的网络名或主机名 Gateway 关键字 Name2 网关名或网关ip地址 Metric 关键字 Value 跳数 Passive 关键字,表示被动方式,路由器不叫换路由信息 Active 关键字,表示主动方式,路由器交换路由信息 External 关键字,表示外部方式,其他进程已安装了路由 例如: net 129.9 gateways 129.6.0.1 metric 1 passive host 129.7.10.21 gateway 129.6.0.2 metric 1 passive Solaris 为defautrouter,只需要在里面填入网关。 11.Q: 如何在网上安装Solaris? A: 假设SERVER IP为10.11.41.10,hostname为inssvr;CLIENT IP为10.11.41.11,hostname为inscli。在SERVER端执行以下步骤 条件:有340M的剩余空间 1.将Solaris 2.6的安装盘插入CD-ROM 2.将Solaris 2.6 CD-ROM的slice 0拷贝到硬盘 # cd /cdrom/sol_2_6_sparc_smcc_svr/s0/solaris_2.6/Tools #./setup_install_server /export/install 3.编辑文件/export/autocfg/sysidcfg,以下是它的内容 #Sample sysidcfg file for SPARC systems system_locale=en_US timezone=GMT-8 timeserver=10.11.41.10 terminal=dtterm name_service=NONE root_password=...(取自/etc/shadow文件)4.编辑文件/etc/hosts,以下是它的内容 10.11.41.10 inssvr loghost 10.11.41.11 inscli 5.增加安装客户 # cd /export/install #./add_install_client-e CLIENT的以太网地址-i CLIENT的IP地址-s inssvr:/export/install-c inssvr:/export/autocfg-p inssvr:/export/autocfg inscli sun4u 在CLIENT端的OK提示符下执行 OK boot net-install Solaris 7 for sparc与2.6的区别,7没有默认的sysidcfg和autocfg目录,需要自 己建立,而且OK boot net即可 12.Q: DHCP in Solaris8? A: 1.# touch /etc/dhcp.hme0,hme0:请用相应的网卡设备名;2.修改/etc/init.d/network,/etc/init.d/inetsvc 先备份 # cp /etc/init.d/network /etc/init.d/network.org # cp /etc/init.d/inetsvc /etc/init.d/inetsvc.org 修改/etc/init.d/network第278行: “dhcp” #hostname=`/sbin/dhcpinfo Hostname` hostname=`cat /etc/nodename` 修改/etc/init.d/inetsvc第168行: hostname=`/sbin/dhcpinfo Hostname` if [-z “$hostname” ];then #hostname=“unknown” hostname=`cat /etc/nodename` fi 修改/etc/init.d/inetsvc第82行: if [ “$_INIT_NET_STRATEGY” = “dhcp” ];then #dnsdomain=`/sbin/dhcpinfo DNSdmain` dnsdomain=`cat /etc/defaultdomain` else dnsdomain= fi if [-n “$dnsdomain” ];then #dnsservers=`/sbin/dhcpinfo DNSserv` dnsservers=`cat /etc/dnsservers` 修改/etc/init.d/inetsvc第220行: /usr/bin/mv /tmp/hosts_clear.$$ /tmp/hosts.$$ mydomain=`cat /etc/defaultdomain` echo “${ipaddr}t${hostname}t${hostname}.${mydomain}t# Added by DHCP” >;>;/tmp/hosts.$$ 在/etc/init.d/inetsvc第一行加入如下语句: if [-f /etc/dhcp.*[0-9] ];then _INIT_NET_STRATEGY=“dhcp” export _INIT_NET_STRATEGY fi 3.创建/etc/defaultdomain,内容为huawei.com.cn 4.创建/etc/nodename,内容为你的机器名 5.创建/etc/dnsservers:129.9.111.100 10.15.1.3 之所以要修改,究其原因我们的DHCP服务器支持的协议可能比较老,不能返回给 客户端DNSdomain,DNSServer,Nodename; 13.Q:SUN上如何编译动态库? A: CC=cc C++=CC +w.SUFFIXES:.cpp.cpp.o: $(C++)-g-c-Kpic $< liberrlog.so:ErrLog.o ld-o liberrlog.so-G ErrLog.o 14.Q: 在sun工作站上安装solaris软件时没有安装网卡,安装完成后应该修改那些文 件添加网卡? A: 1.#reboot--r 或者ok boot-r 2.在1.成功找到你新加的硬件之后,再执行相应的硬件设置命令,对网卡执行: ifconfig hme0 16.Q: Ultra60工作站从外挂光驱启动? A: Ultra60 工作站缺省配置是内置光驱,用外挂光驱重新安装Solars时,用boot cdrom命令则不能从光驱启动,屏幕上打印错误信息:Drive not found.原因如下:由于Ultra60工作站缺省支持内置光驱,cdrom的缺省配置是内置光 驱的物理设备名。当使用外挂光驱时,当使用boot cdrom命令时,cdrom的替 换为内置光驱的物理设备名。这就是不能从光驱启动的原因。 解决办法如下:(1)stop+a命令 (2)在ok提示符下输入:probe-scsi-all 则出现硬盘、光驱、磁带机等设备的实际物理名。如:/pci@1f,4000/scsi@3,1 cdrom (3)在ok提示符下输入:devalias 则出现硬盘、光驱、磁带机等设备的缺省设置。如:cdrom /pci@1f,4000/scsi@3/disk6,0:f 这是缺省配置,用boot cdorm命令时,cdrom被解释为 /pci@1f,4000/scsi@3/disk6,0:f 而/pci@1f,4000/scsi@3/disk6,0:f指示的是内置光驱的设备名,因此不能从外挂光驱启动! (4)在ok提示符下输入:boot /pci@1f,4000/scsi@3,1/disk6,0:f 说明:[boot后的参数参看(2)和(3)中的cdrom的设备名,由两者组合而来 即可正确的从外挂光驱启动。17.Q: 一台Sun Ultra80工作站安装SunOS 5.6失败,请问其原因以及如何避免? A: 硬件环境为Ultra-80/2CPU(450M)/1harddisk(18G)/2G Memory,从网络启动安 装SunOS 5.6。安装过程中途中断并出现以下提示: panic[CPU3]/thread=0x301bde80: CPU3 privileged UE Error: AFSR 0x00000000 80200000 AFAR 0x00000000 7c5e0190 SIMM U1302 U0302 U1301 U0301 syning file systems...[27[ 406 136 done 12535 static and sysmap kernel pages 50 dynamic kernel data pages 205 kernel pageable pages 0 segkmap kernel pages 0 segvn kernel pages 0 current user process pages 12790 total pages(12790 chunks) dumping to vp 6145608c, offset: 3989467 panic[CPU3]/thread=0x30043e80: panic dump timeout Dump Aborted Type 'go' to resume{3} ok 随后输入„go'或者„boot-r‟都无法使系统启动,提示如下: Can not open Kernel/unix input filename [Kernel/unix]: 只有重新从网络启动。这是由于CPU硬件结构与Solaris系统不兼容造成的,需要补丁。这个问题不仅仅是在Ultra80的机器上,如果Ultra60使用了SUN的 新推出的高速CPU(400M以上,一般为450M)且操作系统为Solaris 2.6或者 Solaris 2.5.1,也会出现类似问题。如果工作站使用的是这种高速CPU,在 随新机器一起的附件中会有一本手册:Installing Solaris 2.5.1 or Solaris 2.6 Software on 419+ MHz Systems,其中详细描述了如何解决这 个问题(在zh-6页)。另外,附件中还有一张补丁光盘,名字叫做: Operating Environment Installation CD May 1999,此光盘专门用于解决 此问题.18.Q :在solaris上如何进行数据的备份和恢复? A: 备份整个文件系统,也称作完全备份(full dump);在完全备份的基础上备 份修改过的文件,称作渐进备份(incremental dump); ufsdump ufsdump命令用于备份文件系统,可以完全备份也可以渐进备份。ufsdump命令的格式 为:/usr/sbin/ufsdump [options] dump_device files_to_dump options包括: 0-9:指定备份的级别。0为最低,即完全备份;9为最高。假设当前备份级别为i,那 么ufsdump命令在执行时将寻找最近一次级别等于i或小于i的备份,将以前备份过后修 改过的文件备份下来。例如,星期一执行了一次级别为2的备份,星期二执行了一次 级别为4的备份,那么当星期三执行级别为3的备份时备份文件中将包括自星期一备份 以来所有修改过或新创建的文件。如果星期三执行级别为4的备份,那么备份文件中将 包括自星期二备份以来所有修改过或新创建的文件。f:指定备份的设备,例如/dev/rmt/0; u:更新备份记录(/etc/dumpdates)。使用这一选项后ufsdump将创建或更新 /etc/dumpdates文件,文件内容包括文件系统名、备份级别、和备份时间,例如: pioneer# ufsdump 0uf /tmp/ddd /dev/dsk/c0t0d0s0 DUMP: Writing 32 Kilobyte records DUMP: Date of this level 0 dump: Mon Sep 07 22:37:16 1998 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s0(pioneer:/)to /tmp/ddd.DUMP: Mapping(Pass I)[regular files] DUMP: Mapping(Pass II)[directories] DUMP: Estimated 25234 blocks(12.32MB).DUMP: Dumping(Pass III)[directories] DUMP: Dumping(Pass IV)[regular files] DUMP: 25214 blocks(12.31MB)on 1 volume at 1599 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Mon Sep 07 22:37:16 1998 pioneer# more /etc/dumpdates /dev/rdsk/c0t0d0s0 0 Mon Sep 7 22:37:16 1998 备份前的准备工作 重新启动系统到单用户状态,或将要备份的文件系统卸载下来。通知所有用户该文件系统不可用。#wall /export/home will be unavailable in two minutes, please log out Press ctrl-D 对文件系统进行检查(fsck)。 ufsdump 如前例所示。 如果使用渐进的备份方法,最后实现建立备份计划,例如: Sun Mon Tue Wed Thu Fri Week1: Full 5 5 5 5 3 Week2: 5 5 5 5 3 Week3: 5 5 5 5 3 Week4: 5 5 5 5 3 上例中,每个月作一次完全备份,每个周末对每一周的改动作一次备份,每天的备份 只对当天的改动作备份。这样作的目的是节省备份所用的空间。 ufsrestore ufsrestore用于恢复使用ufsdump命令备份的文件系统。命令格式为: /usr/lib/fs/ufs/ufsrestore options [arguments] [filename...] options包括: t:备份列表; x:只恢复命令行中指定的文件; r:恢复整个备份; f:指定备份文件所在的设备或目录; v:verbose mode,列出备份文件的路径。例如: 对备份文件进行列表: pioneer# ufsrestore tvf ddd Verify volume and initialize maps Media block size is 126 Extract directories from tape Initialize symbol table.Dump date: Mon Sep 07 22:37:16 1998 Dumped from: the epoch Level 0 dump of / on pioneer:/dev/dsk/c0t0d0s0 Label: none dir 2.dir 3./lost+found dir 5696./usr dir 11392./var dir 5697./export dir 11393./export/home dir 5698./opt leaf 4./bin dir 11394./dev dir 5699./dev/sad leaf 5879./dev/sad/admin leaf 5825./dev/sad/user leaf 11592./dev/be leaf 11496./dev/conslog...从备份中恢复指定文件: pioneer# cd /tmp pioneer# ufsrestore xvf ddd./etc/passwd Verify volume and initialize maps Media block size is 126 Dump date: Mon Sep 07 22:37:16 1998 Dumped from: the epoch Level 0 dump of / on pioneer:/dev/dsk/c0t0d0s0 Label: none Extract directories from tape Initialize symbol table.Make node./etc Extract requested files You have not read any volumes yet.Unless you know which volume your file(s)are on you should start with the last volume and work towards the first.Specify next volume #: 1 extract file./etc/passwd Add links Set directory mode, owner, and times.set owner/mode for '.'? [yn] n 执行该操作需要指定所要恢复的文件在备份文件中的位置。由于备份文件从卷1开始,所以可以指定从卷1开始搜索。恢复整个文件系统下例将一个老的文件系统(/opt)移 到一个新的磁盘分区(/dev/rdsk/c0t3d0s5)中。首先,卸载老的文件系统并实施备 份: #umount /opt #fsck /opt #ufsdump 0uf /dev/rmt/0 /opt 其次,生成新的文件系统,将其安装到一个临时目录(/mnt),并实施恢复: #newfs /dev/rdsk/c0t3d0s5 #fsck /dev/rdsk/c0t3d0s5 #mount /dev/dsk/c0t3d0s5 /mnt #cd /mnt #ufsrestore rvf /dev/rmt/0 #rm restoresymtable 最后,卸载新的文件系统,用fsck检查其一致性。#cd / umount /mnt #fsck /dev/rdsk/c0t3d0s5 选择性备份,备份指定的文件和目录; tar 系统备份:tar-cvf 目标文件名/设备名 备份文件,例如: tar-cvf backup.tar * 命令将当前目录下的所有文件(包括各级子目录)都打包在backup.tar文件中。tar-cvf /dev/rmt/0 * 命令将当前目录下的所有文件(包括各级子目录)都打包到磁带上。查看tar文件的内 容:tar tvf 目标文件名/设备名,例如: tar-tvf backup.tar tar-tvf /dev/rmt/0 将tar文件中的内容恢复到指定目录中去:tar xvf 目标文件名/设备名 [目录名],例 如: tar-xvf backup.tar /home tar-xvf /dev/rmt/0 /home 如果不指定目录名则表示当前目录。 19.Q: 如何在Soraris下面安装ATM网卡? A: 网卡型号:FORE PCA-200EUX/OC3 操作系统:Solaris 2.7 工作站:SUN Ultra60 一、硬件安装 1、工作站关电后,将网卡妥善安装在一个PCI插槽中; 2、工作站上电,按STOP and A中断boot process,到ok提示符; 3、输入命令show-devs,显示系统配置,FORE网卡的device-pathname应出现在 配置列表中,形式可能如下: /pci@1f,2000/FORE,PCA-200E@2 4、设备提供光口自环测试(media loopback)和内部自环测试(internal loopback),供检查设备及安装是否完好。根据经验用内部自环测试即可,方法: 输入命令 test /pci@1f,2000/FORE,PCA-200E@2 待出现:pass 0 说明硬件及安装都正确; 5、输入boot命令,启动系统。 二、软件安装 1、软件安装需要root权限; 2、网卡支撑软件一般是一个.tar文件提供,解开后在其目录下有8个子目录,分 别为: FORECore ForeThought ATM Core Software FOREDrv ForeThought ATM Card Drivers FORESpans ForeThought SPANS Signalling Software FOREUni ForeThought UNI Signalling Software FOREclip ForeThought Classical IP Software FOREip ForeThought FORE IP Software FOREmpoa ForeThought MPOA / LAN Emulation Software FORExti ForeThought XTI Application Programming Interface 3、例如.tar文件解开后在/home/FORE下,则该目录下就有上述8个子目录,我们要 用的程序在FOREDrv、FOREip下,但各个模块之间有一定的依赖关系,需要安装的模块 有6个: FORECore、FORESpans、FOREDrv、FOREip、FOREUni、FOREclip。安装过程: >;pkgadd-d /home/FORE The following packages are available: 1 FORECore ForeThought ATM Core Software.........(sparc)5.1 2 FOREDrv ForeThought ATM Card Drivers.........(sparc)5.1 3 FORESpans ForeThought SPANS Signalling Software.........(sparc)5.1 4 FOREUni ForeThought UNI Signalling Software.........(sparc)5.1 5 FOREclip ForeThought Classical IP Software.........(sparc)5.1 6 FOREip ForeThought FORE IP Software.........(sparc)5.1 7 FOREmpoa ForeThought MPOA / LAN Emulation Software.........(sparc)5.1 8 FORExti ForeThought XTI Application Programming Interface Select package(s)you wish to process(or 'all' to process all packages).(default: all)[?,??,q]: 选择要安装的模块,根据提示安装。 4、安装后的软件在/opt/FOREatm /bin(使用的配置命令所在目录)/conf /examples /include /lib /man 三、网卡配置 1、网络接口名配置 >;configure_atm 选择配置ip模块,得到一个ip interface名,默认为fa0。重启工作站,可以看到在 /dev下有fa0接口,而网卡的设备名为fatm0。 2、>;adinfo fatm0 可查询设备硬件信息 >;adconfig fatm0 可进行设备配置 >;adstat fatm0 可查询设备状态 这三个命令较少用到。 3、接口ip地址配置 ifconfig fa0 4、IPOA配置 atmarp-s hostname device vpi vci aal encapsulation(outgoing PVC配置)atmarp-l device vpi vci aal encapsulation(incoming PVC配置)例:分配给工作站的pvc为 vpi 0 vci 150 工作站的IPOA地址为200.200.200.101 MUSA设备的IPOA地址为201.200.200.100 AAL类型为5 encapsulation 为llc_routed >;atmarp-s 201.200.200.100 fa0 0 150 5 llc_routed >;atmarp-l fa0 0 150 5 llc_routed [在MUSA设备上要做:add nms、act nms、add route、add atm arp、add ipaccess] >;ping 200.200.200.101 如果ping通,则已配置成功。 20.Q: 在哪里能得到有关Solaris的较全面的文档? A: http://docs.sun.com.Q: 请教sun小型机上的路由跟踪命令是什么?(HP上是traceroute)谢谢!A:这个命令也是traceroute.在/usr/sbin目录下.22.Q: 一个GUI程序,在换个不同的SUN环境时界面就变的难看了,主要是字体影响(还有其它影响么?)SUN 的字体都有哪些,如 -sun-screen-bold-r-normal--14-140-72-72-m-90-iso8859-1 都有哪些可选? A: If a font can not be found in the system, the system will select another font which might be not so elegent as you expect.The correct way is to insure the font you want is correctly installed in system.In solaris answer book, there is a perfect reference talking about the font administration “font administration” in System Administration Vol1.You can get solaris answer book by accessing sunlibrary.huawei.com.Chen Zhexue(4924)is responsible for maintain.it.Q: Solaris启动过程是如何的?启动的时候读那些文件启动一些服务比如我要在系 统启动的时候自动启动Apache(httpd)服务,应该在哪个文件里面配? A: Solaris的启动是典型的ATT UNIX启动过程, 在普通的UNIX书记和SUN公司的文 档中都有详细的介绍,这里就不详谈了.要点室内核引导后启动init进程, init 按照/etc/inittab 的控制加载各子系统, 一般是执行 /etc/rc* 之类的脚本.这些脚本再执行 /etc/rc*.d/ 下的脚本,其中 /etc/rc2.d/S72inetsvc 运行 inetd, 该后台进程根据/etc/inetd.conf 控制网络服务,所以要自动启动 Apache,需要在inetd.conf 中修改或增加 80 端口的启动命令。(如果不是用80,还要修改/etc/services文件)Q: 有一个问题要请教一下,谢谢!一台SUN服务器,更换IP地址。 原来地址为10.11.43.137,现在更换为10.108.22.247 我的操作步骤如下: 1:修改/etc/hosts文件,修改后的文件内容如下: 127.0.0.1 localhost 10.108.22.247 westsnow loghost SYBASE 10.109.22.247 eastsnow /etc/hostname.hme0文件内容: westsnow /etc/hostname.hme0:1文件内容: eastsnow 2:修改/etc/netmasks文件,修改后的文件内容如下: 10.0.0.0 255.255.0.0 3:修改网关/etc/defaultrouter文件,修改后的文件内容如下: 10.108.22.1 按照上面步骤修改完后REBOOT机器,启动过程中没有任何异常,但是机器启动 后和别的机器连不上,而且连网关都 PING 不通,请问是什么原因?谢谢! A: /etc/hostname.hme0:1 中应当写你想用的IP地址,而不是机器名.如果只改IP 地址,就不需要这个文件.Q: UTF-8和US-ASCII之间的区别在那里?请举例说明。 A: UTF-8 包括 US-ASCII 和多字节编码。与普通的多字节编码不同,UTF-8的字节 长度不固定,对于ASCII, 字节长度为1, 对于中文,阿拉伯文等,可以是2,3或更 多字节,这样能有效节省存储空间.它还与很多传统编码标准兼容,所以很受欢 迎.Q: 如何在脚本里实现修改用户口令? A: 由于修改口令需要从终端读取用户口令,所以不能用重定向的办法,但可以采用 expect 之类的工具,这些工具建立一个伪终端来模拟输入, 所以起到用脚本控 制终端的效果.Q: 我在用EXCEED连到工作站时,开了一个root权限term,网络突然中断,请问如 何能够kill该term的进程? A: 用xkill 连dtterm 一起杀掉。在桌面上是可以的,在exceed 中不知是否可以。Q: 在Solaris下可用什么命令查看system software info? A: 用/usr/bin/pkginfo.或者 /usr/bin/prodreg,有图形界面将注册过的产品显示成树的形状.Q: 请问:在SOLARIS 8 中,用什么命令看port id? A: 我曾就这个问题问过不少人,有的说 fuser 可以做,但我查 fuser 的手册 没有见到相关选项。lsof 是一个比较理想的工具,可以从sunfreeware.com下 载。还有一个简单的办法是这样的: /usr/proc/bin/pfiles /proc/* >;result.txt 在到result.txt 中搜索相应 socket port.也可以自己用awk 过滤 pfiles 的 结果 Q: 使用FTP时,不能以root用户登录系统,应修改什么配置文件? A: 看一下 /etc/ftpusers,如果有root,删掉就可以了。 Q: 我们的系统需要计算solaris的负载,可以使用uptime输出的load average吗, 如果不用uptime,使用libkstat的load average可以吗? A: 可以.32 Q: 请问uptime的load average 是如何计算出来的? A: 这个问题满复杂的,我们知道,unix内核里有许多种结构,如 user,proc等,有的还mount到 文件系统中,比如 /proc /dev/kstat /dev/ksysm, uptime,kstat,sar,vmstat,prstat 等命令都是通过分析这些结构来进行计算的有 一个系统函数叫getloadavg ,uptime 就是直接调用这个函数的,你也可以试试.33 Q: 如何得到和设置操作系统内核参数。A: 通常,这些参数在 /etc/system 中配置。 Q: 如何得到系统当前动态运行指标,如CPU占有率、IO量、硬盘剩余空间等。A: 检查的命令则有许多,可用 vmstat 和 sar 命令,还有iostat,df,du 用 于检查磁盘的情况。 Q: How can I get a Workshop6's licence? A: get a new one from.110 Q: 关于SUN机器root口令丢失问题,如何解决? A: 办法如下: 利用SOLARIS的启动盘来启动,然后把硬盘mount上去,修改硬盘上原etc目录 下的shadow文件,将root项里的password域内容删除,变成无密码。然后重新 启动主机,以无密码的root登陆后,重新设置root口令。具体步骤如下: 1.把你的solaris光盘放进cdrom 2.键入stop+a 3.当出现'ok'字样时,键入boot cdrom-s 4.cd /tmp/root 5.mkdir /tmp/root/xxx(xxx是什么鬼东西就无关紧要了)6.mount /dev/dsk/c0t0d0s0 /tmp/root/xxx(在这里c0t0d0s0是你的root盘)7.运行csh 8.setenv TERM vt220 9.cp /tmp/root/xxx/etc/shadow /tmp/root/xxx/shadow/shadow.bak 10.vi /tmp/root/xxx/shadow,并且将root项里的password域删除即可。11.重启动,你就可以以无密码的root登陆了,登录后,更改root的密码。 Q: In solaris 2.6.when i use command “killall” ,all process started in CDE will be killed and the eviroment will change to CDE login.I looked up the man manual about “killall” ,it told me that “only root can use the command”.But I really use it with common id.In solaris7 and solairs 8, with common id,i can't use the common.can you tell me why i can execute “killall” successfully in solaris 2.6? A: Just see the access mode of /usr/sbin/killall.If you can use it with a common account identity, the access mode should be x-rsx-rx-r.If you can not use it in a common account identity, the mode should be x-r--r--r.You can change the mode as you like, whenever in 2.6, or 2.7 or 2.8.112 Q: I downloaded the SDM2.3 from the Download Center of “www.xiexiebang.com” ,read the White Paper and web detailed describing.But it is only the outlook of the software.I need the detailed document about how to integrated my own network management application to Solstice.A: I transfer this messag to Sun Service in Guangdong.113 Q: 请问有没有磁盘管理工具。我们有一台E450,有5块硬盘,想做RAID,但是没有工 具.A: If the machine's OS is solaris 2.8, the storage management software is also installed in you machine.You can make the RAID by issuing the command family: /usr/sbin/meta*;If you are not so familiar with these commands.I can do it for you.or you can use solstice disksuite, it is a GUI tool.114 Q: 怎样强制更改NIS客户端的本地NIS数据表?有时候NIS客户端和NIS服务器端有 时会出现不一致的情况.NIS服务器和NIS slave 服务器也会出现这种情况。A: 你可以用yppush和 ypxfr 来做这种工作,更常见的方法是把它们写进cron,定 期更新,具体步骤请查阅Answerbook.115 Q: 为了将工作站设为从DHCP动态分配IP,并且将主机名由“unknown”改为原名 修改了/etc/init.d/rootusr,将dhcpinfo后面三行(不是四行)注释掉;hostname=`/sbin/dhcpinfo Hostname` # case $? in # 0)[-z “$hostname” ] && hostname='unknown';;# 2)try_dhcp=no;;esac 重启后,提示: /sbin/rcs:ysntax error at line 143 : 'esac' unexpected INIT:cannot creat /var/adm/utmp or /var/adm/utmpx INIT:SINGLE USER MODE 输入root口令后,只能运行在单用户模式,且vi、ls等都不能用(#vi:not found)如何才能打开/etc/init.d/rootusr文件进行修改,恢复正常状态。 A: 请找一个SOLARIS的安装启动盘,使用以下方法可以修改rootusr文件,步骤如 下: 1.把你的solaris光盘放进cdrom 2.键入stop+a 3.当出现'ok'字样时,键入boot cdrom-s 4.cd /tmp 5.mkdir /tmp/xxx(xxx是什么东西无关紧要,随便取一个名字,如test)6.mount /dev/dsk/c0t0d0s0 /tmp/xxx(在这里c0t0d0s0是你的root盘)7.运行csh 8.setenv TERM vt220 9.vi /tmp/xxx/etc/init.d/rootusr,把esac那行也注释掉即可。10.把solaris光盘拿出,reboot,重启动即可。 Q: 一台Ultra60工作站,其固定IP为10.11.105.247,用ifconfig hme0 dhcp start总是失败,如下所示。# netstat-a|grep 4999 # ifconfig hme0 dhcp start May 7 20:11:11 hwMusa01 dhcpagent[478]: ERROR!Address 10.11.105.147 is already in use ifconfig: internal error in DHCP agent # netstat-a|grep 4999 localhost.4999 *.* 0 0 0 0 LISTEN localhost.4999 localhost.1023 32768 0 32768 0 TIME_WAIT 抓包发现是dhcp服务器offer的IP地址10.11.105.147被decline了。手工运行 dhcpagent,提示4999端口被使用了。以前此工作站曾配置为固定IP: 10.11.105.147,但现在已改为10.11.105.247并重启过多次。请问,可能是什 么原因导致dhcp失败?? A: 导致问题出现的原因是,由于客户机在申请原来的被保留分配的IP时,服务器 发现这个IP不能够被使用(已经有其它机器使用了这个IP地址)。使客户机申 请失败,并且使其中的某些进程不能正常退出,继续占用了端口4999而使后面 的申请不能进行。办法是找到占用端口4999的进程,杀掉即可。找到这个进程 的办法是,这个申请进程是带有dhcp字样的。# ps-e | grep dhcp 会出现一到两个进程号。验证这些进程是否占用了4999是看进程打开的文件: # /usr/proc/bin/pfiles #pid 早到进程然后杀掉。这样就可以继续启动Client 端的dhcp申请。注意,修改 服务器的设置使新的申请可以成功。 Q: 我们有一台Natra T1,它的/tmp目录已经长到90%,如果目录满了是否会使系统 运行异常.(因为我们运行的业务不能停,故不能重启SUN机器来让系统清空该目 录,也不能直接清空该目录,应为应用程序正在运行.)下面是一些数据: # df-k Filesystem kbytes used avail capacity Mounted on /proc 0 0 0 0% /proc /dev/dsk/c0t0d0s0 1258491 51942 1143625 5% / /dev/dsk/c0t0d0s6 1612343 500741 1063232 33% /usr fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s3 33099 9211 20579 31% /var /dev/dsk/c0t0d0s7 13550703 838475 12576721 7% /export/home /dev/dsk/c0t0d0s5 30743 10319 17350 38% /opt /dev/dsk/c0t0d0s1 548687 369368 124451 75% /usr/openwin swap 627864 563360 64504 90% /tmp # cd tmp # ls ps_data # ls-a-l total 98 drwxrwxrwt 6 sys sys 443 May 7 15:29.drwxr-xr-x 22 root root 512 Mar 20 17:45..drwxrwxr-x 2 root root 176 Feb 27 23:18.X11-pipe drwxrwxr-x 2 root root 176 Feb 27 23:18.X11-unix drwxrwxrwx 2 root root 179 Feb 27 23:18.pcmcia drwxrwxrwt 2 root root 327 Feb 27 23:18.rpc_door-rw-rw-r--1 root sys 5056 Feb 27 23:18 ps_data # cd.pcmcia # ls-a-l total 32 drwxrwxrwx 2 root root 179 Feb 27 23:18.drwxrwxrwt 6 sys sys 443 May 7 15:35..prw-rw-rw-1 root root 0 Feb 27 23:18 pcram # cd..# pwd /tmp # cd.rpc_door # ls-a-l total 32 drwxrwxrwt 2 root root 327 Feb 27 23:18.drwxrwxrwt 6 sys sys 443 May 7 15:36..Drw-r--r--1 root root 0 Feb 27 23:18.rpc_100029.1 Drw-r--r--1 root root 0 Feb 27 23:18.rpc_100029.2 Drw-r--r--1 root root 0 Feb 27 23:18.rpc_100029.3 # cd..# cd.X11-pipe # ls-a-l total 32 drwxrwxr-x 2 root root 176 Feb 27 23:18.drwxrwxrwt 6 sys sys 443 May 7 15:37..-rw-rw-rw-1 root root 0 Feb 27 23:18 X0 # cd..# ls ps_data # cd.X11-unix # ls-al total 32 drwxrwxr-x 2 root root 176 Feb 27 23:18.drwxrwxrwt 6 sys sys 443 May 7 15:38..srwxrwxrwx 1 root root 0 Feb 27 23:18 X0 等待您的回答,谢谢 A: 我认为是系统统计信息错误的,本人的经验是当/tmp的使用率超过10%时,系统就 变的很慢了。出现这种情况,首先,要检查系统中运行的程序有没有不停分配内存,却没有释放(指自己开发的程序)。另外看一下系统对/tmp的swap交换情况。使用工 具sar 和iostat 都可以看到。关于sar和iostat的用法,可以看man即可。 Q: 有一用MOTIF 写的程序,运行之后不能显示中文(乱码),由于显示的信息是 不固定的,故不能使用资源文件.怀疑程序中与创建字体时使用了以下的函数 有关,但注释掉后也一样: font1=XLoadQueryFont(XtDisplay(toplevel), “-*-screen-bold-r-normal--12-*”;font2=XLoadQueryFont(XtDisplay(toplevel), “-*-screen-bold-r-normal--14-*”;font3=XLoadQueryFont(XtDisplay(toplevel), “-*-screen-bold-r-normal--16-*”;fontlist=XmFontListCreate(font1, “charset1”;fontlist=XmFontListAdd(fontlist, font2, “charset2”;fontlist=XmFontListAdd(fontlist, font3, “charset3”);运行环境是ULTRA 60,Solaris 2.6,安装了中文环境。编译环境是SUN C++ 4.0。还怀疑与LANG 相关,曾试过设置为zh,chinese 等也不行,请教此问题如何解决? A: 实际上,关于选择字体和字符集可以看;这个资料,使 用系统提供的标准工具来从中间找到系统中存在的字体和字体的名称。这个资料在 Answer Book 的System Administration Collection 中。实际上,上面的问题不 出现在字体的选择上面,而是在MOTIF中在选择框的使用设置中还要设置一次字体 Q: 请问SUN的E250以上机器支持“双机热备+磁盘阵列”的使用方式吗?Ultra系 列的机器是否也能支持呢? A: SUN的E250以上机器支持“双机热备+磁盘阵列”的使用方式,可以使用 SunCluster软件实现;Netrat系列电信服务器也支持;Ultra系列的机器,不 在支持的列表中。但是,“双机热备+磁盘阵列”的具体含义应该搞清楚。推 荐的文档在sun cluster collection 中。 Q: 我在一个JAVA程序中打开50个SOCKET端口,结果出现异常: java.net.SocketException:Too many open files 请问如何解决此问题?谢谢!另外,请问在一个JAVA进程中可以同时启动的线 程数是多少?最大线程数受什么限制?能否达到240个线程?谢谢!如上问题 如果可以通过修改配置来解决的话,会有什么样的负面影响? A: You have two ways to modify the limit number of files that a process can open simutanously.One: modify the /etc/system file add the following entry: set rlim_fd_cur = #n #n is the number you want.Should be no more than 1024.You should reboot the machine.Two: Use the system command: ulimit $ulimit-n #n Note: You should use B-shell.And using the same terminal session(in the same terminal window)to run the your application program(to guarantee your application process is a child process of the setting terminal.)You can man ulimit to see the detailed usaged.The disadvantage brought by incread the file limite for a process or the whole system is increasing the system memory usage.But, for today's machine, this disadvantage is not too expensive.(William said There is no limit for max open socket number in Java.But the operating system has a limit for max open file descriptors.A socket resource is treated as a file descriptor in Unix.The previous email answered your question.You can try as said.121 Q: 我想把一个HP平台上运行的B SHELL 脚本在SOLARIS 2。6上运行,但是出现了 问题:要运行的脚本部分: command_count = 0 command_item[$command_count]=check_AutoRaid command_count=`expr $command_count + 1` command_item[$command_count] = check_system_resource command_count=`expr $command_count + 1` command_item[$command_count]= check_diskspace command_count=`expr $command_count + 1` command_item[$command_count]= check_bill_record command_count=`expr $command_count + 1` 就整理到这里吧 谢谢 Shell命令文件操作命令小结 显示文本文档中某几行: 显示第n行: sed-n 'np' test.txt 或 head-n test.txt |tail-1 显示第m到第n行: sed-n 'm,np' test.txt 或 head-n test.txt | tail-(n-m)显示某一文件夹folder/下所占存储空间: du-sh folder/ 删除某文件夹下的特定文件: 例:删除某文件加下的软连接文件 rm-f `ls-l|grep ^l|awk `{print $8}` 返回上次进入的目录:cd-删除一个文本文档中所有内容: 切换到命令行模式 :1,$d 使用rm删除一个目录下的除了ttt以外的所有文件 解决: 1.ls | grep-v ttt | xargsrm {} 2.ls | grep-v ttt | xargsrm 3.mvttt /tmp/ &&rm-rf * && mv /tmp/ttt./ 4.find.-name e-prune-o-print | xargsrm-rf 5.find.-name e-prune-o-name dir-prune-o-print | xargsrm-rf {} 6.删除目录下的除去ttt和目录外所有文件 d=/tjy/ fori in `ls $d`;do if [ $i!= “ttt” ];then j=`file $d$i | awk '{print $2}'` if [ $j!= “directory” ];then rm-rf $d$i fi fi done 利用shell命令分割文件: 系统运维的过程中,日志文件往往非常大,这样就要求对日志文件进行分割,在此特用shell脚本对文件进行分割 方法一: #!/bin/bash linenum=`wc-l httperr8007.log| awk '{print $1}'` n1=1 file=1 while [ $n1-lt $linenum ] do n2=`expr $n1 + 999` sed-n “${n1}, ${n2}p” httperr8007.log > file_$file.log n1=`expr $n2 + 1` file=`expr $file + 1` done 其中httperr8007.log为你想分割的大文件,file_$file.log 为分割后的文件,最后为file_1.log,file_2.log,file_3.log……,分割完后的每个文件只有1000行(参数可以自己设置)方法二: split 参数: -b :后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;-l :以行数来进行分割; #按每个文件1000行来分割除 split-l 1000 httperr8007.log httperr httpaa,httpab,httpac........#按照每个文件100K来分割 split-b 100k httperr8007.log http httpaa,httpab,httpac........使用alias来自定义命令 还有一个使工作变得轻松的方法是使用命令别名。命令别名通常是其他命令的缩写,用来减少键盘输入。命令格式为: alias [alias-name=’original-command’] 其中,alias-name是用户给命令取的别名,original-command是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。如果alias命令后面不使用任何参数,则显示当前正在使用的被别名化的命令及其别名。为命令取的别名在该次登录期间始终有效。如果用户需要别名在每次登录时都有效,那么就将alias命令写到初始化脚本文件中。 这是一些很多人认为有用的别名,可以把它们写入初始化脚本文件中来提高工作效率: alias ll=’ls –l’ alias log=’logout’ alias ls=’ls –F’ 如果您是一名DOS用户并且习惯了DOS命令,可以用下面的别名定义使 Linux表现得象DOS一样: aliasdir=’ls’ alias copy=’cp’ alias rename=’mv’ alias md=’mkdir’ alias rd=’rmdir’ 注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias命令,将显示所有已定义的别名。 诺西 常用BSC命令小结(多用逗号,少用分号,检查命令没有问题后再执行这条语句) ZEEI: 看状态 ZEFS:BCF号:L/U;对BCF重新启动 ZEQS:BTS=BTS号:L/U;对BTS重新启动 ZERS:BTS=BTS号,TRX=TRX号:L/U;对一个载频重新启动 ZEFO:BCF号:ALL;查看BCF所有参数 ZEQO:BTS=BTS号:ALL;查看BTS所有参数 ZEQV: GPRS的修改 ZEQE: 修改BTS的跳频 ZERO:BTS=BTS号,TRX=TRX号:ALL;查看BTS所有参数(一般查整个bcf的情况)ZEAO:BTS=BTS号;查看BTS的相邻小区 ZEHO:BTS=BTS号;查看BTS的切换参数 ZEUO:BTS=BTS号;查看BTS的功率控制参数 ZEBP:; 看LAC号(网优给数据的时候我们要去核对一下)ZEOL:查看基站当前告警 ZEOH::BCF=;查看当天告警 ZEOH: 查看基站历史告警 ZEEI:BTS=BTS号;查看BTS的详细信息 ZEOL::NR=告警号 快捷键 ctrl+y(终止正在执行的命令)快捷键 ctrl+c(暂停)一般与ZDDS;指令合用 快捷键 ctr+A 加入参数 ZEQE:BTS=:HOP=:开关调频(基站数据库中有相邻小区,横向查 ZEQU:BTS=XX:GENA=Y;修改SEG ZEQG:BTS=143:RLT=64,RXP=-94,;修改无线接入参数值 ZEWO:看当前软件包版本 ZEWL:看BSC中的软件包版本 ZEWA:放一个新软件包 ZEWH:切换软件包 ZEWV:激活软件包 ZESE:创建EDAP,也可以使用此命令来查看有没有许可证,来加EDGE ZEQM:BTS=: RDIV=Y:;打开分级接收 ZEQK:BTS=:CNT=20:;修改干扰参数,20为上限值 ZESG:ID=(ET_INDEX):;删除edge ZEAM:修改邻区参数 ZESI:ID=(ET_INDEX);查看已有的EAGE条数 ZEAT:;查看有没有同频的邻区 ZEAO:SEG=::ASEG=:;查看两个小区邻区关系 ZEAO:::ASEG=本小区号:;查看所有指向本小区的邻区 ZEAO:SEG=:;查看所有指出的邻区 ZEAD:SEG=::CI=,LAC=:;仅仅删除指向CI的邻区 ZEOR:BCF:13914(告警顺序号码):;删除误告警 ZUSC:单元名,单元号:目的状态;修改指定单元的状态 ZUSI:单元名,单元号;查看各单元状态的相关信息 ZUDU:单元名,单元号;诊断指定单元 ZUSI:ET,130查看配传输状态 ZCEL:CGR=1;查看A接口电路状态 ZCEC:CRCT=PCM号-时隙号:目的状态;修改A接口电路状态 ZRCI:GSW:CGR=1;查看A接口电路详细信息 ZRCR:删除未使用的电路 ZAHO:查看BSC当前告警 ZAHP:查看BSC历史告警 ZAHO ::NR=2993:;查看有没有上下时隙不匹配的告警 ZAHO ::NR=2725:;邻区出错 ZNEL:查看CCS7信令的详细信息 ZFXI:NSEI=0&&65535:BTS;查看GB链路详细情况(信息)ZFUI::;查物理通道 ZFWO:开EDGE时查看BCSU,PCU(先用ZEQO查到NSEI再用NSEI的值去查找,当BSC为3i时为ZFXO)ZFXO:NSEI=544:BTS:;查看544下挂的BTS个数和BCSU,PCU ZFXO:BCSU=0&&8:BTS;查看所有的下挂基站和NSEI号 ZFQU:BTS=XX:GENA=N 重启 ZQNI:查看BSC所处的位置 ZQNS::;查看电脑记录,正在操作的用户名 ZIGO:2008-3-27,:USERID=GSMGSM:CMD=EQS,::;查看许可用户对基站的操作记录 ZQRI:;查看BSC的IP地址 ZDSB:::PCM=;查ET ZDDS: 查看起站过程 2725的处理 告警出现后 记下此时的BCSU号 输入ZDDS:BCSU=?:;>ZGSC 回车 对照相应告警出现的时间找到LAC,CI号后 CALLER : 01C0 0074 00 RETURN ADDRESS: 000C(L0001).0000127C WRITE TIME: 2008-05-06 23:40:56.35 PARAMETERS: E-01 0024.00001F20 00000082 000C.0001C6C9 USER TEXT : HAS:set ALARM 0x2725.target cell list USER DATA : 01 01 88 F9 14 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00红色的为LAC,绿色的为CI 然后到网管里更改相应的MBCCH,NCC,BCC值(修改时注意锁闭所有的有关小区和载波,然后查看与之有关的小区参数是否已更改)ZDTI:::PCM=; ZDTI:::PCM=?;查看传输信令使用状态 ZDTI::::UA;查看又没有临时的OMU信令 ZYEF:ET,ET号;对传输(把ET调整到工作状态 ZWUP:ET号::ALL;看传输上面时序的应用情况 ZW7I:查看许可证使用数量和日期 ZWOS:查看运行参数 ZWOI:集成的参数值 BSIC--71:此参数左为NCC值,右边为BCC值。用ZEQO:BTS=124:ALL;就可以查出 ZRCI:查看监控时隙 ZRBI ZWQO:CR(创建的软件包)RUN(正在运行的)ALL(所有的) ZIAL:;察看允许的在本BSC执行的指令 COMMANDS ALLOWED IN THIS DIALOGUE SESSION ZIAA:NOKIAA:ALL=250:PARAPW=NO,VTIME=FOREVER,ACCESS=COM,UNIQUE=NO,:TLIMIT=15:FTP=NO:; 在新BSC下建新用户! ZIAH:NOKIAA:NOKIAA:;创建密码第四篇:Shell命令文本操作命令小结
第五篇:诺西—常用BSC命令小结