SOLARIS SYSTEM COMMAND(个人整理笔记)

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 �C UNIX 文件系统。是 Solaris 缺省的文件系统。
hsfs �C 高密度 CD-ROM 文件系统,是只读文件系统。
pcfs �C 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 �CV
OBP 3.20.0 2000/10/24 10:47
# /usr/platform/sun4u/sbin/prtdiag �Cv | 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 �Cv
sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo �Cv
64-bit sparcv9 applications
32-bit sparc applications
# isainfo �Cb
64
启动 64 位内核模式
ok. boot kernel/sparcv9/unix
32 位模式
# isalist �Cv
sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo �Cv
32-bit sparc applications
# isainfo �Cb
32
启动 32 位模式
ok. boot kernel/unix
13 、测定当前的显示器刷新频率
# /usr/sbin/fbconfig �Crev \?
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 </dev/null
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 �CF ufs �Co i
7 、显示 cpu 使用率最高的进程
# ps �Ceo pid,pcpu,args | sort +1n
该命令输出当前系统进程的 pid, CPU 占用率及命令描述,并以 pcpu 来排序
8 、查看当前的 OpenWindows 版本
# showrev �Cw
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
CDEVersion 1.4.6 _06
10 、文消掉本中的 ^M
# cat test.dat | tr -d '\015' > test.out
这样可以将 test.dat ^M(\015) 这个字元去掉 , 产生 test.out
11 、关机命令。
关闭系统的方式根据关闭的原因而不同 . 执行关闭有的是为了转至执行等级 S ,有的是要停止操作系统并关闭设备的电源 .
(1) /usr/sbin/shutdown �Cgtime �Cilevel -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 都在什么情况下设置? 作者: C.Arthur
一般情况下如果你在机器的显示器上登陆或者通过 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 、如何查看你的默认语言环境?
# 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 �Cclass=chaos �Cq=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 -<days> | /usr/bin/xarys rn -rf
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 分区的话,可参考本方法。
查找网卡名称及接口个数 作者:阿丙
grep network /etc/path_to_inst
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 分区的话,可参考本方法。
查看硬盘参数及其物理地址:
#format </dev/null
显示磁盘的分区情况:
#prtvtoc /dev/rdsk/c0t0d0s2
命令行进入 CDE
#/usr/dt/bin/dtlogin -daemon;exit
or
#/etc/rc2.d/S92dtlogin start;exit;
查看 patch 安装过程中返回错误代码的含义:
#more /usr/sbin/patchadd
查找并删除比某一天更老的文件:
#find . ! -mtime -<days> | /usr/bin/xarys rn -rf
solaris9 普通用户下无法正确输入中文的解决方法:
在用户目录在 #vi .profile 修改如下:
stty cs8 -istrip
当你想要 umount 一个设备时,有人在用,设备无法 umount 。可以用
fuser u /mount-point. 看到谁在使用,然后杀之!!!!
u 显示使用该设备的用户
k 杀掉使用该设备的进程

你可能感兴趣的:(职场,Solaris,休闲)