关机命令:

命令格式:shutdown [ -y ] [ -g seconds ] [ -iinit-state ] [message]

选项:

y 系统提示时默认回答为YES

g 过多长时间改变

i 想要的运行级别

message 给所有登录用户的信息

# shutdown -y -g 0 -i 0

运行等级包括(常用到的有3S06):

0firmware 可以安全关机 system 监控态

1:单用户系统管理员状态,mount部分文件系统 / /usr /var

保留一小部分基本的内核进程,其他用户无法登录。

2:多用户状态 mount全部文件系统资源无法做NFS共享

3:扩展多用户状态,所有资源在网络上可用

4:待定

5:为关闭电源而将系统shut down

6:停止当前并reboot到缺省的level.

S=s,单用户状态,仅有root自己登录。


如何查看系统中CPU的信息?

psrinfo -v 可以列出CPU的状态.不同的机器上使用该命令有很大的不同.想要得到详细的方法,man psrinfo.

mpstat 可以列出多cpu负载的状态


如何察看Solaris系统的内存大小及使用情况?

1) prtconf | grep 'Memory' 可以查看内存的多少.

2) wsinfo

3) /usr/platform/sun4u/sbin/prtdiag

sun的工具软件top,可以详细的查看内存的使用情况.


如何察看swap状态?

swap -s

能简单的查看当前swap资源的使用情况。


查看硬盘的大小和使用情况

df -k 可以看到已安装的文件系统的空间大小及剩余空间大小。

quota -v 查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。

du -sk * 查看目录的使用情况

du -k | sort -n 可以迅速发现那个目录是最大的。

也可以用du -k列出以K为单位的输出结果,使用du -s可以只列出总空间大小而不列详细目录大小。

format 这个命令也可以查看硬盘的类型和分区的详细情况,但是这个命令很危险.

iostat -E 看硬盘的大小和型号

根据硬盘厂商提供的硬盘型号参数,可以准确的识别硬盘的形状的类型,容量的大小,接口的类型,转速,和生产批号.


如何查看ip地址?

ifconfig -a


查看路由表

netstat -r


看网卡的速率

dmesg | grep link

能看出当前网卡是以何种速率起来的


nslookup命令

用于查询DNS服务器,用于验证客户端的设置,用于下载DNS数据库

$ nslookup

启动时,nslookup缺省地以本地服务器为目标。响应中包括目标服务器的名字和地址。

>是提示符,这意味着可以开始发送名字服务询问或配置。


如何查看OpenSolaris/Solaris的版本信息?

uname -a


查看和调整系统内核

isainfo

看内核的bit: isainfo -kv

调整内核

modinfo 显示可载入的模组

prtconf 显示系统硬件配置(周边设备)

sysdef 显示可载入的模组,硬件配置与一些可以调整的核心参考值


看进程和用户占用内存的情况?

prstat -a

另外还有GNUtop命令(top需要从www.sunfreeware.com上下载安装)


进程工具

pstop pid停止进程

prunpid重新启动进程

ptime pid使用微状态计算进程时间

pwait pid等待指定的进程终止

pcred pid   显示可信度 *

pfiles pid 显示已打开文件的fstatfcntl信息 *

pflags pid 显示每个lwp/proc跟踪标志,等待和待有信号量以及其他状态信息 *

pldd pid    显示链接到每个进程的动态链接库 *

pmap pid    显示地址映射空间 *

psig pid    显示信号操作 *

pstack pid 显示每个lwp的十六进制与符号堆跟踪 *

ptree pid显示包含指定PID的进程树

pwdx pid    显示当前工作目录 *

后面加*的必须是超级用户执行。这些工具在/usr/proc/bin/里面。


如何查看当前用户的缺省SHELL?

echo $SHELL


开机时间

$ uptime

9:57am up 339 day(s), 10:03, 5 users, load average: 5.20, 4.03, 3.33


如何在终端查看oracle错误信息?

$ oerr ora 1555


ps如何把command的全路径显示出来

/usr/ucb/ps -auxww | grep java


设置中文环境

$ locale -a

$ LANG=zh.GBK;export LANG;

$ LC_CTYPE=iso_8859_1;export LC_CTYPE;

X终端如何进行中文输入

ctrl+alt+space就可以调出输入法


如何打开压缩的文件?

solaris,会有这么几种格式的软件:

1) .gz结尾的文件,gunzip或者gzip -d来解压,再用tar来解压。推荐使用GNUgtar/usr/sfw/bin/gtar zxvfgtar支持长文件名,bug也较少。

2) .tar结尾的文件,tar xvf的格式来解压。推荐使用GNUgtar/usr/sfw/bin/gtar xvf

3) .zip结尾的文件,unzip

4) .Z结尾的文件,一般用uncompress/zcat来解压。


Shell的配置文件和读取顺序?

1) Subshell(直接输入sh,ksh,csh,bash命令或者su)

sh    

ksh    

csh ~/.cshrc    

bash ~/.bashrc ~/.inputrc /etc/inputrc

2) su - telnet ssh rlogin

sh /etc/profile ${HOME}/.profile  

ksh /etc/profile ~/.profile    

csh ~/.cshrc ~/.login    

bash ~/.bash_profile ~/.bash_login /etc/profile ~/.profile


如何设置Shell环境变量?

Shell 设置添加显示当前值注解

----- -----------------------  ------------------------  -------------------------------   -------------------------

sh     NAME=value1 export NAME  NAME=value2:$$NAME        set(internal)或者env(exported)   如果子进程要看到需export

ksh    NAME=value1 export NAME  NAME=value2:$NAME         set(internal)或者env(exported)   如果子进程要看到需export

csh    setenv NAMEvalue1        setenv NAMEvalue2:$NAME  set                              不需要使用export

bash  NAME=value1              NAME=value2:$NAME          set或者env                       不需要使用export


用户的缺省profile文件是哪一个?

这个由用户的缺省SHELL决定的。不同的SHELL对应的缺省profile是不一样的。

Bourne shell 或者 Kron shell 对应的profile是用户home目录下的.profile文件

C shell对应的profile是用户home目录下的.login文件

Bash 对应的profile 是用户home目录下的.bash_profile文件


JDK安装在什么目录下?

solaris10JDK被安装的总目录是/usr/jdk,在这个目录下具体版本的JDK有其各自的目录。例如:j2sdk1.4.2_08或者jdk1.5.0_04等。

在命令行下面使用java fullversion 可以对当前版本的。Solaris10中以1.5.0作为缺省的版本。


如果想把Solaris10中的缺省JDK1.5改变为1.4,如何操作?

请用下面的命令完成,(其中的jdk目录要根据实际的情况填写)

#rm /usr/java

#ln s/usr/jdk/j2sdk1.4.2_08 /usr/java


修改物理IP

/etc/hosts        ip_addressinterface_name

/etc/Netmasks        ip_networkNetmasks

/etc/defaultrouter       Router_ip_address


修改主机名

/etc/hosts        ip_addressinterface_name

/etc/nodename        Host_name

/etc/hostname.eri0       interface_name


建组和用户

groupadd dba

useradd -d /opt/oracle -m -s /bin/ksh -g dba oracle

id oracle

vi /opt/oracle/.profile

userdel -r oracle

groupdel dba

chown user_name file_name

chown -R user_name dir_name

chown user_name:group_name file_name

chown -R user_name:group_name file_name

chmod -R 777 dir_name


如何显示当前用户

whoami 显示当前用户名称

who am i 显示初始登陆用户名称,登陆终端,登陆时间等


启动时文件的读取顺序

/etc/default/login --> /etc/profile/etc/.login --> 用户自己目录下的配置文件


有关Swap空间操作的系统命令

增加Swap空间

1.成为超级用户

$ su - root

2.创建Swap文件 # mkfile nnn[klblm] filename

# mkfile 100m swapfile1

3.激活Swap文件

# /usr/sbin/swap -a /path/filename

Swap文件必须以绝对路径来指定,filename指的是上一步创建的文件。

4.现在新加的Swap文件已经起作用了,但系统重新启动以后,并不会记住前几步的操作。因此要在/etc/vfstab文件中记录文件的名字,和Swap类型,如:

/path/filename - - Swap - no -

5.效验Swap文件是否加上 /usr/sbin/swap -l

删除多余的Swap空间

1.成为超级用户

$ su - root

2.使用swap -d 命令收回swap空间。

# /usr/sbin/swap -d /path/filename

3.编辑/etc/vfstab文件,去掉此Swap(交换)文件的实体。

4.从文件系统中回收此文件。

# rm swap-filename

5.当然,如果此Swap(交换)空间不是一个文件,而是一个分区,则需创建一个新的文件系统,再挂接到原来的文件系统上。

Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。


容许root用户远程登录

编辑/etc/default/login文件.

CONSOLE=/dev/console


telnet限定登陆数

solaris pts的数量缺省为47,修改/etc/system文件, 增加如下内容:

set maxusers=数量

set pt_cnt=数量


ftp限制root远程登陆

/etc/ftpusers去掉root这行


solarissunOS的区别

Solaris 8=SunOS5.8+CDE(OPENWINDOWS)+ONC

Solaris 2.6=SunOS5.6+CDE(OPENWINDOWS)+ONC

sunOS只指操作系统,soalrisoperating system enviroment(solaris操作环境),sunOS是基于at&tunix开发的.soalris=sun0S+ONC++CDE+Openwindow,其中sunOSunix,ONC+sun开发的一些基于网络的服务,CDEcommon desktopenviroment ,openwindow是应用


消掉本中的^M

cat test.dat | tr -d '\015' > test.out