日常运维手册(Solaris)
Solaris常用操作与主机维护

K Shell k格式有点象C语言。功能强,命令记忆稍难,速度慢
要想将当前Shell改为其它 Shell,只需在操作系统提示符下键入相应的Shell命令即可。如
在Bourne Shell下键输入命令:
$ echo $0
显示当前的shell类型
第1章 系统概述
第1节 UNIX特点 第2节 UNIX系统结构 第3节 UNIX相关名词
UNIX特点
❖ 应用范围
UNIX是较早广泛使用的计算机操作系统之一,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以 后在Bell实验室外广泛使用。
应用到几乎所有16位及以上的计算机上,包括微机、工作站、小型机、多处理机和大型机等等。
护用户程序不受错综复杂的硬件事件细节的影响。
❖ UNIX Shell(UNIX外壳)是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器。目前常见
的Shell有三种:
shell类型
Bourne Shell Korn Shell C-Shell
简称 命令 主要特点
B Shell sh 最老、使用最广泛,每个UNIX都提供。
对于专用终端,当打开终端电源后就会自动出现登录信息。对于仿真终端,要先打开计算机,再运行TCP/IP协 议驱动程序和终端仿真程序即可。
UNIX操作-登录
登录
当终端与UNIX系统连通后,在终端上会出现“login:”提示符。在“login:”提示符下输 "password:"后再输入口令,如以abc用户登录的过程为:
UNIX相关的名词
用户名(User) UNIX是多用户操作系统,它允许多个用户同时使用。每个用户拥有用户名、登录口令以及操作特权。
SUN日常维护手册

SUN日常维护手册Sun日常维护手册(v 20131108)版本说明目录目录版本说明 (2)一、机房环境检查 (6)1.机房温度 (6)2.机房湿度 (6)3.机房洁净度 (6)二、主机硬件运行情况检查 (7)1.主机状态灯检查 (7)1.1 SUN SPARC Server Front Panel LEDs (7) 1.2 SUN SPARC Server Rear Panel LEDs (8)1.3 SUN SPARC Server Disk Drive LEDs (9)2、主机硬件配置及运行状态检查 (9)2.1 CPU配置检查 (9)2.2 内存配置检查 (10)2.3 内置硬盘配置检查 (12)2.4 网卡配置检查 (13)2.5 风扇情况检查 (15)2.6 系统日志检查 (16)三、存储设备运行情况检查 (17)1.Sun StorEdge A1000系列 (17)2.Sun StorEdge 3510系列 (17) 3.Sun StorageTek 6140系列 (18) 四、Solaris操作系统运行状态检查 (21) 1.操作系统版本 (21)2.文件系统类型 (22)2.1 UFS (Unix File system) (23)2.2 VXFS (Veritas File System) (23) 2.3 ZFS (Zettabyte File System) (24) 3.卷管理和数据镜像 (25)3.1 SVM卷管理 (25)3.2 VXVM卷管理 (27)3.3 ZFS卷管理 (30)4.多路径检查 (30)4.1 多路径配置文件 (30)4.2 多路径状态检查 (31)5.系统性能运行检查 (31)5.1 CPU使用情况检查 (31)5.2 内存使用情况检查 (32)5.3 I/O使用情况检查 (34)五、双机Cluster运行状态检查 (35)1. Sun Cluster (35)2. Veritas Cluster (39)六、故障诊断信息收集 (42) 1.Power-On Self Test (POST) (42) 2.Sun Explorer (43)七、日常维护周期策略 (43)1.日维护内容 (43)1.1 机房环境 (43)1.2 硬件状态 (46)1.3 系统状态 (47)1.4 集群状态 (49)1.5 性能和安全 (49)1.6 磁盘阵列存储状态 (51)2.周维护内容 (52)2.1 机房环境 (52)2.2 硬件状态 (52)2.3 系统状态 (53)2.4 集群状态 (53)2.5 性能和安全 (53)2.6 补丁 (53)2.7 磁盘阵列存储状态 (53)3.月维护内容 (55)3.1 机房环境 (55)3.2 硬件状态 (55)3.3 系统状态 (55)3.4 集群状态 (55)3.5 性能和安全 (55)3.6 补丁 (55)3.7 磁盘阵列存储状态 (56)八、附录 (56)8.1. ILOM巡检指导v1.0 (56)8.2. XSCF 巡检操作指导v1.0 (58)8.2 SC 巡检操作指导v1.0 (64)一、机房环境检查机房的温度,湿度和洁净度是否合理,将会直接影响到设备的正常运作,如果机房的温度过高,湿度过于干燥,灰尘过多的话将会直接影响设备的使用寿命,因此平时对机房的健康和检查也是必不可少的。
Solaris系统维护命令大全

1、查看机型:SUn的小型机的机型都在面板上写着有,如NETRA T 1125, 还有比如utra 5,utra 10等等。
2、查看cpu个数 (错误,不正确,因为sun中的top命令不能完全看到所有的cpu情况,与HP用法也不一样) #top CPU states: 99.3% idle, 0.1% user, 0.6% kernel, 0.0% iowait, 0.0% swap 表示只有一个cpu 正确方法: 用dmesg |grep cpu 便可以看到正确的 cpu个数了。
3、查看内存 #dmesg |grep mem mem = 2097152K (0x80000000) avail mem = 2087739392 4、查看磁盘的个数 #vxdisk list DEVICE TYPE DISK GROUP STATUS c0t0d0s2 sliced - - error c0t0d0s7 simple c0t0d0s7 rootdg online c1t0d0s2 sliced - - online c1t1d0s2 sliced smpdg2 smpdg online c1t2d0s2 sliced smpdbdg1 smpdbdg online c2t0d0s2 sliced - - online c2t1d0s2 sliced smpdg1 smpdg online c2t2d0s2 sliced smpdbdg2 smpdbdg online 5、如何查看文件系统 #df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 4032142 1050675 2941146 27% / /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s6 7304977 29 7231899 1% /home /dev/dsk/c0t0d0s5 4032142 402929 3588892 11% /opt swap 3418392 32 3418360 1% /tmp /vol/dev/dsk/c0t6d0/informix 201730 201730 0 100% /cdrom/informix /dev/vx/dsk/smpdg/smpdg-stat 1055 9 941 1% /smpwork /dev/vx/dsk/smpdg/lv_smp 17336570 128079 17035126 1% /sms 6、查看卷组、逻辑卷的位置 #cd /dev/vx/dsk/ 比如smpdg等等都在该目录下了,然后再进入某个卷组目录就可以看到该卷组下 面的逻辑卷了。
Solaris的中文命令参考手册

希望能自动在一分钟之后显示进程。但是没有成功。
HELP ME
===============================================
15 1 * * * /opt/bin/ta.sh /opt/aadir > /dev/null
-rw-r--r-- 1 keven user 120 10月 2 20:54 test1
-rw-r--r-- 1 keven user 0 9月 30 08:54 test2
-rw-r--r-- 1 keven user 0 9月 30 08:54 test3
-rw-r--r-- 1 root other 247 10月 2 07:58 tt.txt
# ls -ld using_samba //查看目录的权限
drwxr-xr-x 2 root other 512 5月 8 22:23 using_samba
$ ls -a
. .cshrc list ss test1 test3
.. .login ok.txt test.txt test2 tt.txt
rm
rm -i test.txt test2.txt //交互式删除文件
rm -r /tem/testd //删除目录和目录下的文件
rm -ir /tem/testd //交互式的删除目录和目录下的文件
cp
cp -i oldfilename newfilename //交互式拷贝
cp /export/home/keven/ok.txt /export/home/wing/test.txt
solaris 系统日常维护

solaris 系统日常维护Solaris系统日常维护 1.如何加swap mkfile size filename ( mkfile 5m /export/home/swap01) swap -a filename ( swap -a /export/home/swap01) 2.查看内核参数nm -x /dev/ksyms > /tmp/kernal.sys (/usr/ccs/bin/nm) 3.man 的路径在MANPATH环境变量中加入,或man -M path_of_man ... 4.license manager的安装/opt/SUNWste/bin下的lmgrd.ste为主daemon/opt/SUNWspro/license_dir下,sunpro.lic,1中的主机名改为当前主机名 5.cron的使用编辑crontab -e (环境变量EDITOR设为vi)显示crontab -l 6.vi中的中文显示不出来设置环境变量LANG=zh 7.系统是否支持async I/O modinfo | grep kaio 或对使用async I/O的进程进行truss truss -t kaio,lwp_create -p pid 若出现:Err #48 ENOTSUP ,则表明不支持8.UFS文件系统的空间利用率UFS文件系统缺省为10%的空闲空间(可用-m指定),每个inode的平均文件尺寸为2K,如果文件大小超过1GB,可考虑用8K. #newfs -i 8192 -m 1 /dev/raw_big_disk_device 9.vmstat的cpu idle值为什么和sar命令的不一样vmstat 中的cpu的idle值包括wio的值10.对系统的软件包是否发生变化进行检查#pkgchk SUNWcsu 11.修改telnet和ftp登录时的显示信息添加信息:/etc/issue telnet的显示信息: /etc/default/telnetd 加入BANNER=".........." ftp的显示信息: /etc/default/ftpd 加入BANNER=".........." sendmail的显示信息: /etc/mail/sendmail.cf中SmtpCreeting Message = 12.自动执行ftp命令在发起ftp命令的用户的home目录下,编辑.netrc文件,内容:machine hostname login login_name password password macdef init get .... (放ftp 的指令)bye -----------> (一行空行结束)这样只要在命令行输入ftp -i hostname 就可以执行上面的ftp命令13.在shell中获得前一天的日期$TZ=PRC+16 (因为中国是东8区,为24-8=16) $date $用TZ=.... 来恢复时区14.让inetd 进程记录访问日志inetd -s -t (-t 指定记录访问日志)15./etc/system文件被搞坏了OK>boot -a 输入回车接受缺省值,然后指定好的system文件或/dev/null 16.安装ssh 时,在一台没有启动X进程的机器上无法configure成功装ssh server时,缺省设置需要有Xsun:0 -nobanner -auth 这个进程,如果没有,在configure时要加上--without-x 这个参数17.awk无法传递变量进来用/usr/xpg4/bin/awk 或nawk nawk -v PARRH=$HELLO '{ if (PARRH == $1 ) printf $1; }' filename 18.wtmp和utmp 这2个文件是记录login,logout,reboot等信息的,/usr/lib/acct下有维护工具,可以把文件的信息转换成可读的记录,将这2个文件清零要reboot 19.获得系统参数$getconf -a 20.发mail(系统维护的脚本中使用)在/etc/hosts中将收件人地址的IP加入并设为mailhost mailx -s subject 收件人地址(可不用启动sendmail进程)21.忘记了root口令STOP-Aok>boot cdrom -s#TERM=SUN#export TERM#vi /etc/passwd (把root那一行的x清空)#vi /etc/shadow (把root那一行的口令加密字清空)#reboot 22.改hostid 方法一: 改NVRAM 方法二: 在启动license管理工具之前运行下面这个C程序/** hid2.c - placed in the public domain by the author - Mark Henderson* mch@* mch@** changes hw_serial via direct writes to /dev/kmem* see the file INSTRUCTIONS for more detailed usage instructions* must generally run as root (at least with rw permission to /dev/kmem)* compile with* gcc -o hid2 hid2.c -lelf* hid2 without any parameters simply reads hw_serial* hid2 80808080 changes hw_serial so that hostid appears to be 0x80808080* June 1996*/#include#include#include#include#include#include struct nlist nl[2];main(argc,argv) int argc;char *argv[];{int kmem;off_t where;char *s;unsigned int new_hostid;unsigned char hw_serial[12];unsigned char new_hw_serial[12];if ((kmem = open("/dev/kmem", O_RDWR)) < 0) { fprintf(stderr, "cannot open /dev/kmem\n");exit(1);}nl[0].n_name="hw_serial";nl[1].n_name = NULL;if (nlist("/dev/ksyms", nl) < 0) {fprintf(stderr, "cannot read namelist out of /dev/ksyms\n"); exit(1);}if ((where = nl[0].n_value) == 0) {fprintf(stderr, "unknown kernel variable hw_serial\n");exit(1);}if (lseek(kmem, where, SEEK_SET) == (-1)) {fprintf(stderr, "lseek on /dev/kmem failed\n");exit(1);}if (read(kmem, (char *)&hw_serial[0], 12) < 12) { fprintf(stderr, "read from /dev/kmem failed\n"); exit(1);}if (lseek(kmem, where, SEEK_SET) == (-1)) { fprintf(stderr, "lseek on /dev/kmem failed\n"); exit(1);}printf("current hostid is 0x%08x\n",strtoul(hw_serial,NULL,10));if (argc > 1) {if (lseek(kmem, where, SEEK_SET) == (-1)) { fprintf(stderr, "lseek on /dev/kmem failed\n");exit(1);}new_hostid = strtoul(argv[1], NULL, 16);printf("setting hostid to 0x%08x\n", new_hostid); sprintf((char *)&new_hw_serial, "%u", new_hostid);if (write(kmem, (char *)&new_hw_serial[0],strlen(new_hw_serial)+1)< strlen(new_hw_serial) + 1) {fprintf(stderr, "write to /dev/kmem failed\n");exit(1);}}close(kmem);return(0);}23.看当前系统的内核参数(最大共享内存、信号量等参数)#sysdef 查看maxphys等参数:#adb -kmaxphys/D^D 24.发一封有附件的mail在/etc/hosts文件中加入收件人的主机IP及域名,并加上mailhost: 202.202.202.202 mailhost 执行: mailx -s helloovertime@~< ! uuencode filename filename.EOT 注意,第二个filename是文件名(可以通过对第一个filename执行basename命令得到),而第一个可能是带绝对路径的文件名。
Solaris 用户手册 -- 六.文件系统管理

9.set-defaults 恢复所有环境变量预定值
10.boot device [option] 启动主机
device :设备别名,如:cdrom,disk,net
或直接设备名 如:Ultra60 外置CDROM
/pci@1f,4000/scsi@3,1/disk@6,0:f
mkdir -p dir/subdir 直接创建多级目录
8.rmdir 删除目录
目录必须首先为空
命令格式: rmdir directory
9.cp 文档复制
命令格式: cp [-r] source destination
例子:
cp file1 file2 将文档 file1 复制成 file2
ex命令状态
:set number 显示行号
:set smd 显示显示状态
:0 文件首
:1,5 copy 7 块拷贝
:1,5 del 块删除
:1,5 move 7 块移动
:1,$s/string1/string2/g 全文件查找string1并替换为string2
find . -name '*.c' -exec rm {} 删除所有的.c档
find . -name test\* -print 显示当前目录及其子目录文件名前4
位为test的文件名
13.vi 编辑器
命令状态:
j,k,h,l:上下左右
0: 行首
$: 行尾
(1)none:不需要任何口令。所有设置都可以修改,所有命令都可以执行,任何人都
可以完全控制它。
(2)command:除了boot和go之外的所有命令都需要口令。
数据库日常运维手册

神州数码信息系统有限公司数据库日常运维手册日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。
并要有相关的人员负责每天查看,发现问题及时上报分析。
检查每天的数据库备份完成情况。
(2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查(4)根据公司数据库的安全策略对ORACLE DB进行加固一.日维护过程1.1、确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora1.2、检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
#df –k1.3、检查日志文件和trace文件记录检查相关的日志文件和trace文件中是否存在错误。
A、连接到每个需管理的系统使用’telnet’命令B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC、使用Unix ‘tail’命令来查看alert_<SID>.log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.logD、如果发现任何新的ORA- 错误,记录并解决1.4、检查数据库当日备份的有效性。
对RMAN备份方式:1.5、检查数据文件的状态检查所有数据文件并记录状态不是“online”的数据文件,并做恢复。
Solaris系统的日常维护.ppt

• UNIX简介 简介 三大商业UNIX :IBM的AIX ,HP的HP-UNIX,SUN的 三大商业 的 的 , 的 Solaris(2006年2月开源) . 月开源) 年 月开源 • 其他UNIX 其他 Compaq Tru64 Unix , SGI Irix , SCO UnixWare • Linux 为开源。性能较的低 为开源。
• 13.kill . 用途: 用途:终止进程运行 语法: 语法:kill PID 号 选项: 选项: -9 是一个能保证停止进程的信号 kill -9 PID 号
• 14.grep . 用途: 用途:在文本文件中查找 语法: 语法:grep [options] pattern [file-list] 选项: 选项: - c 仅显示包含有这种模式的行数 -I 忽略大小写 -l 显示每个包含有一处或多处与模式匹配的文件的名字 -n 在每行前头加上该行在文件中的行号 -v 显示出不满足搜索模式的文本
• 15 netstat netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让 命令的功能是显示网络连接、 命令的功能是显示网络连接 路由知目前都有哪些网络连接正在运作。 该命令的一般格式为: 该命令的一般格式为: netstat [选项 选项] 选项 命令中各选项的含义如下: 命令中各选项的含义如下: -a 显示所有 显示所有socket,包括正在监听的。 ,包括正在监听的。 -c 每隔 秒就重新显示一遍,直到用户中断它。 每隔1秒就重新显示一遍 直到用户中断它。 秒就重新显示一遍, -i 显示所有网络接口的信息,格式同“ifconfig -e”。 显示所有网络接口的信息,格式同“ 。 -n 以网络 地址代替名称,显示出网络连接情形。 以网络IP地址代替名称 显示出网络连接情形。 地址代替名称,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:差别概览1. 默认shell2. 文件系统3. 文件布局4. 命令的位置5. 网络配置文件(revision 1.1)6. 文件系统配置文件7. 邮件8. 日志文件9. 脚本移植10. 帮助文件(new)首先一个区别:默认shellCODE:两个操作系统的默认shell虽然都是/bin/sh,但linux默认shell是bash,/bin/sh仅是一个指向到/bin/bash的符号链接。
而solaris的默认shell是Bourne shell,名为/bin/sh。
第二个区别:文件系统CODE:标准的solaris文件系统格式是UFS,还可以使用VxFS,QFS,从Solaris 10 u2版开始,还可以使用ZFS。
Linux通常使用ext3 or ext2,reiser,JFS,XFS其中一种。
区别3:文件系统目录布局CODE:最值得注意的是/proc目录。
Linux的/proc目录存放与系统配置以及进程有关的信息,可以修改这些文件以更新内核变量和进程信息。
而Solaris的/proc目录仅包含进程信息,不能从/proc目录获取系统信息或调整内核变量,但Solaris使用/platform目录,这个目录包含平台特定的信息和应用,Linux没有与Solaris的/platform对应的目录。
区别4:命令QUOTE:为了保持对System V,BSD,GNU软件的兼容性,除了常规的/bin(/usr/bin)和/sbin(/usr/sbin)目录外,Solaris还使用了一些扩展的命令目录,这些目录如下所示:•/usr/openwin•/bin/usr/dt/bin•/usr/sfw/bin•/opt/sfw/bin•usr/xpg4/bin•usr/ccs/bin•/usr/ucb其中:•/usr/bin 标准的System V命令•/usr/ucb 传统的BSD命令有些命令在这两个目录中都有,但用法可能不同,比如basename df du echo expr fastbootfasthalt file from groups install ldlint ln lpc lpq lpr lprmlptest ls mkstr printenv ps rusagesed shutdown stty sum test touchtr tset users vipw whereis whoami免费软件的部署Linux和Solaris相同,这些GNU的命令在Solaris中通常都以g字母开头,比如gtar。
System V和BSD中有两个目录包含免费软件:/usr/sfw/bin和/opt/sfw/bin。
前者包含从安装介质中安装的免费软件,后者则是从配套CD中安装的软件。
随着Solaris版本的更新,有可能会把配套CD上的软件放入Solaris安装介质中,因此需要注意在旧版本上的/opt/sfw/bin目录中的命令可能会被移植到/usr/sfw/bin中。
凡是在/usr/sfw/bin中的软件,表示能够通过Sun的标准支持通道获得完全技术支持,而/opt/sfw/bin中的软件则通常是由开源软件组织获得技术支持。
作者保留版权,转载请注明出处,来自cu-yuhuohu.区别5:网络配置文件QUOTE:Linux Solaris/etc/ntp.conf /etc/inet/ntp.conf/etc/[x]inetd.conf /etc/inet/inetd.conf/etc/sysconfig/network-scripts/ifcfg-{interface} /etc/hostname.{interface} and /etc/inet/netmasks/etc/sysconfig/network /etc/nodename and /etc/defaultrouter/etc/networks /etc/networks -> /etc//inet/networks(链接到这个文件)区别6:文件系统配置文件[Copy to clipboard][ - ]CODE:Linux Solaris/etc/fstab /etc/vfstab/etc/exports /etc/dfs/dfstab (format is different)/etc/auto.master /etc/auto_master/etc/auto.home /etc/auto_home区别7:mail[Copy to clipboard][ - ]CODE:Linux Solaris/etc/aliases /etc/mail/aliases/etc/mail.rc /etc/mail/Mail.rc/etc/mail/mailx.rc区别8:日志文件QUOTE:在Linux系统中,日志文件的主目录为/var/log,各种系统守护进程的日志文件均存在此处。
Solaris稍有不同,/var/log目录存放syslog和authlog的日志文件,而/var/adm目录则存放消息日志文件,在缺省配置时,solaris的/var/adm/messages文件(redhat对应的文件为/var/log/messages)包含所有的日志记录(可通过修改syslog.conf文件为不同的日志指定不同的消息记录文件)。
区别9:脚本移植QUOTE:如果要把脚本从Linux移植到Solaris,需要注意以下几点:•首先确定脚本中所使用的所有文件和路径在Solaris中均有效•确定所有的选项和参数是否有变化•命令的执行输出是否有区别区别10:查看帮助信息QUOTE:1、共同点:o都可以查看whatis数据库中的关键字,比如uname命令:# apropos uname or man -k unameo都可以直接在man命令中指定搜索路径:# man -M /opt/man command2、man的差异•Linux的mano# whatis printfprintf (1) - format and print dataprintf (3) - formatted output conversionprintf [builtins] (1) - bash built-in commands, see bash(1)o# man 3 printf•Solaris的mano$ whatis printfprintf printf (1) - write formatted outputprintf printf (3c) - print formatted outputprintf printf (3ucb) - formatted output conversiono$ man -s 3c printf•添加新搜索路径o linux把新搜索路径加入/etc/man.conf文件,比如“MANPATH /opt/man”。
▪然后运行makewhatis,可更新whatis数据库o solaris可在/etc/profile文件中加入:MANPATH=$MANPATH:/opt/manexport MANPATH3、Linux特有的帮助:•Linux还可以使用info查看帮助,info中带有简单的菜单式链接。
按回车进入菜单所链接的章节,按q退出•最后Linux在/usr/share/doc/目录中还提供了一些其他格式(pdf、html等)的帮助资源。
每个子目录对应一个应用,存放和应用相关的配置、设置等帮助资料。
比如/usr/share/doc/bind*,存放和DNS服务器应用软件bind有关的帮助信息。
第二章:命令差别•绝大多数linux命令都有两种类型的选项:简洁式(short form,比如-v)和长格式(long form,比如--version)。
•而Solaris的命令,除非是GNU版本的以外,通常都没有长格式。
•Linux命令可使用"--help"查看简要帮助,Solaris部分新命令可使用"-?"达到同样的效果,比如pkginfo -?如果从linux移植脚本到solaris,就必须注意这点区别,用GNU版本的命令来替代或把这些Solaris没有的选项替换成对应的简洁式选项。
inux和作者保留版权,转载请注明出处,来自cu-yuhuohu.basenameQUOTE:Linux和Solaris上的basename命令的基本功能都相同。
Solaris提供两个basename命令:•/usr/ucb/bin/basename和Linux版本的basename命令相同•/usr/bin/basename的功能更强,可以通过表达式模型匹配后缀(可参见/rosetta.html)chownQUOTE:两个操作系统都支持-f和-R这两个基本选项。
若指定的文件是指向到目录的符号链接均需使用扩展选项•-f(强制执行,不报告错误)•-R(递归,遇到符号链接仅改变链接的目标,符号链接自身不会改变,不会遍历符号链接的目标目录)Solaris提供了两个版本的chown命令,/usr/bin/chown和/usr/ucb/chown.•/usr/ucb/chown只支持两个选项:-f和-R•/usr/bin/chown除了-f和-R外,还支持-h,-H,-L,-P这些扩展选项(要和基本选项-f,-R一起使用).•除非使用-h,-P选项,否则符号链接自身的拥有者不会改变Solaris的/usr/bin/chown的-h,-H,-L,-P•Solaris的-h等同于Linux的-h or --no-dereference.比如lncht是指向到cht目录的符号链接# chown -R solaris lncht 仅改变目标目录cht的所有者,符号链接自身不会改变,不会遍历符号链接的目标目录# chown -Rh solaris lncht 与仅使用-R相比,-Rh把符号链接lncht自身的所有者也改了,其他相同•-H 如果是指向到目录的符号连接,则目录和其下的文件的所有者发生改变。
但若目录下的文件也是个符号链接,则目标文件的所有者被改变,但不会再次进行递归操作。
•-L 和-H类似,但更彻底,在遍历时遇到指向到目录的符号链接,不仅改变目标目录的所有者,同时还会继续遍历目标目录进行改变操作。
•-P 指定的文件或在遍历各级目录时遇到的文件是符号链接,则改变符号链接的所有者。
-P不会对符号链接的目标目录进行遍历。
-P类似于--no-dereference•-P>-L>-HLinux的chown命令的扩展选项:•-c or --changes 类似于详细模式,但仅报告被改变的部分•--dereference 命令对符号链接起效,这是solaris的默认行为。