■ linux上和windows即便是同一个文件,其hash值也有可能是不一样的:
原因可能有以下两点:(http://blog.csdn.net/yezhen910328/article/details/40891191)
1.传输过去的文件在尾部比源文件多了若干个' ',导致文件内容不完全一致(这是因为文件的大小不一定是数据包大小的整数倍)。解决方法:可以在源文件末尾补' ',使其大小为数据包大小的整数倍,这样源文件就与传输过去的文件完全一致了,再计算md5。
2.计算md5时,读写位置不在文件头部。
■ oracle的启动方法
su - oracle
sqlplus / as sysdba
sqlplus>startup(这样只是启动了数据库本身,要让oracle正常使用,还需要启动一个监听器。这个监听器是需要在sqlplus界面外面另外启动的)
sqlplus>quit
lsnrctl status(查看监听器状态,是否是未开启)
lsnrctl start(开启监听器)
lsnrctl status
■ windows虚拟机安装vmware tools
在vmware中用windows虚拟机,如果想要宿主机和虚拟机之间能够进行复制粘贴互动,那么需要安装vmware tools。
在vmware菜单栏的 虚拟机--安装vmware tools选项可以自动安装。这个组件是安装在虚拟机中的而不是宿主机中的。如果是灰色应该确认下虚拟机是否正常启动了。
如果提示“vmware tools应该装在虚拟机中”的话那么可以改一下虚拟机配置文件xxx.vmx文件,里面有一个配置是monitor_control.restrict_backdoor = “true”,将此行置false或直接删掉再重启虚拟机就大概可以正常安装了。安装完这个组件之后宿主机和虚拟机间可以通过复制粘贴交流文本、文件等。设置共享文件夹也需要vmware tools作为一个前提条件。
■ tomcat的占据前台的启动
一般来说,运行startup.sh来启动tomcat就是可以通过后台启动,也就是把tomcat作为一个服务启动起来。而startup.sh脚本本质是调用了catalina.sh start。同样的catalina.sh脚本还有参数如catalina.sh stop或者catalina.sh run等。stop很明显就是用来关停tomcat的。而run其实是占据前台的启动。即启动时的信息会全部都打印到当前shell中并且占据stdin。如果我们关掉了当前shell或者按了ctrl+c之类的操作,会导致tomcat进程被杀掉。分析一下catalina.sh的内容可看到,$1 == "start"和$1 == "run"两个代码块下面启动时最主要的差别就是start的时候后面还带了一个>> $CATALINA_OUT 2>&1 &,即把原本 输出到控制台的内容重定向到文件中了。
把上述catalina.sh中的>> $CATALINA_OUT后面的2>&1换成2>/dev/null,乍一眼似乎只是把stderr重定向到垃圾桶,即不会在catalina.out文件中体现出来。但是试了下发现这样改了之后会导致tomcat启动时占据stdin。。相当于用了catalina.run,想不通是怎么回事。