[个人原创]PHP开发中修改Windows下的host文件快捷方法
Php/Js/Shell/Go jackxiang 2011-10-17 11:33
经常我们在开发中需要打开并修改host文件,如何更快找到呢?
host文件的路径是:
我的快捷方法是:
第一步:先同时按下 微软图标 + r ,弹出:运行框
第二步:在框中输入: drivers ,系统会自动打开这个目录:C:\WINDOWS\system32\drivers
第三步:自己用鼠标点里面的etc目录进去即是host文件的所在。
host文件的路径是:
我的快捷方法是:
第一步:先同时按下 微软图标 + r ,弹出:运行框
第二步:在框中输入: drivers ,系统会自动打开这个目录:C:\WINDOWS\system32\drivers
第三步:自己用鼠标点里面的etc目录进去即是host文件的所在。
升级centos5.6到centos6.0亲自升级实践过的步骤:
切记升级系统前,请务必备份重要文件!
首先,清除所有软件包
yum clean all
yum list updates
升级centos
yum update
reboot
这样就升级完了,可以检查一下系统目前的版本:
lsb_release -a
不小心国内给升级成Centos5.7了,呵呵。
这样就升级完了,可以检查一下系统目前的版本:
#rpm -q centos-release
删除以前的内核步骤,如下:
在CentOS 6更新后,不可避免的会在启动选项中产生多个内核选项,一个内核文件大概占100兆左右(一般100M以下),可以使用以下命令进行删除多余的内核.
1.首先列出系统中正在使用的内核:
# uname -a
2.查询系统中全部的内核:
# rpm -qa | grep kernel
好像升级后没有变,哇哈哈,
升级为CentOs5.7后的内核情况如下:
3.将你想删除的内核删除掉:(例如,在我的系统中,我要删掉2.6.32-71.el6.i686的内核,需要把所有含有2.6.32-71.el6.i686字样的全部删掉)
#yum remove kernel-2.6.32-71.el6.i686
#yum remove kernel-devel-2.6.32-71.el6.i686
4.重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了,不需要自己手动修改/boot/grub/menu.lst
===============================
Centos6.1的情况备案:
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
YUM升级:
# yum install centos-release-cr
# yum update
RPM升级:
i386:
http://mirror.centos.org/centos/6/extras/i386/RPMS/centos-release-cr-6-0.el6.centos.i686.rpm
( sha256: 9fc78d2d79abeb1513f0851d075a2860f5039fc8db3fb0db4c660252fffda894 )
x86_64:
http://mirror.centos.org/centos/6/extras/x86_64/RPMS/centos-release-cr-6-0.el6.centos.x86_64.rpm
( sha256: bd55e1505caae2f78c306290d235b7f54833fcad5a9f1942b3cb54e28f7bfe73 )
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html
CentOS 6.1 正式版发布了,这是真的。CentOS 6.1 基于红帽企业Linux 6.1,强烈建议升级。
下载地址:
CentOS-6.1-i386-bin-DVD1.iso (3,645MB, SHA256, torrent)
http://linux.mirrors.es.net/centos/6.1/isos/i386/CentOS-6.1-i386-bin-DVD1.iso
CentOS-6.1-x86_64-bin-DVD1.iso (4,190MB, SHA256, SHA256, torrent)
http://centos.mirror.freedomvoice.com/6.1/isos/x86_64/CentOS-6.1-x86_64-bin-DVD1.iso
此次发布的CentOS 6.1基于Red Hat EL 6.1,包含了一些重要改进及大量错误修正,比如yum包管理器加入了某些改动及新功能。需要注意的是,与GUI安装方式相比,文本安装功能受到限制,不支持设置分区布局(Partition Layout)、存储方式及选择包组。更多详细信息请查看官方的发行注记。http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.1
6.1 发布仅一个多星期,6.2就发布了。现在大多数网站已有6.2的目录,但还未同步完成。
心急的可以开始下载了。
http://mirrors.ustc.edu.cn/centos/6.2/isos/i386/
http://mirrors.ustc.edu.cn/centos/6.2/isos/x86_64/
CentOs6.2官方下载地址:
http://isoredirect.centos.org/centos/6/isos/
其中有一个163的Url:http://mirrors.163.com/centos/6.2/isos/x86_64/
DVD1:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD1.iso
DVD2:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD2.iso
CentOS-6.2-x86_64-minimal.iso 最小化安装:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso
切记升级系统前,请务必备份重要文件!
首先,清除所有软件包
yum clean all
yum list updates
升级centos
yum update
reboot
这样就升级完了,可以检查一下系统目前的版本:
lsb_release -a
不小心国内给升级成Centos5.7了,呵呵。
这样就升级完了,可以检查一下系统目前的版本:
#rpm -q centos-release
删除以前的内核步骤,如下:
在CentOS 6更新后,不可避免的会在启动选项中产生多个内核选项,一个内核文件大概占100兆左右(一般100M以下),可以使用以下命令进行删除多余的内核.
1.首先列出系统中正在使用的内核:
# uname -a
2.查询系统中全部的内核:
# rpm -qa | grep kernel
好像升级后没有变,哇哈哈,
升级为CentOs5.7后的内核情况如下:
3.将你想删除的内核删除掉:(例如,在我的系统中,我要删掉2.6.32-71.el6.i686的内核,需要把所有含有2.6.32-71.el6.i686字样的全部删掉)
#yum remove kernel-2.6.32-71.el6.i686
#yum remove kernel-devel-2.6.32-71.el6.i686
4.重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了,不需要自己手动修改/boot/grub/menu.lst
===============================
Centos6.1的情况备案:
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
YUM升级:
# yum install centos-release-cr
# yum update
RPM升级:
i386:
http://mirror.centos.org/centos/6/extras/i386/RPMS/centos-release-cr-6-0.el6.centos.i686.rpm
( sha256: 9fc78d2d79abeb1513f0851d075a2860f5039fc8db3fb0db4c660252fffda894 )
x86_64:
http://mirror.centos.org/centos/6/extras/x86_64/RPMS/centos-release-cr-6-0.el6.centos.x86_64.rpm
( sha256: bd55e1505caae2f78c306290d235b7f54833fcad5a9f1942b3cb54e28f7bfe73 )
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html
CentOS 6.1 正式版发布了,这是真的。CentOS 6.1 基于红帽企业Linux 6.1,强烈建议升级。
下载地址:
CentOS-6.1-i386-bin-DVD1.iso (3,645MB, SHA256, torrent)
http://linux.mirrors.es.net/centos/6.1/isos/i386/CentOS-6.1-i386-bin-DVD1.iso
CentOS-6.1-x86_64-bin-DVD1.iso (4,190MB, SHA256, SHA256, torrent)
http://centos.mirror.freedomvoice.com/6.1/isos/x86_64/CentOS-6.1-x86_64-bin-DVD1.iso
此次发布的CentOS 6.1基于Red Hat EL 6.1,包含了一些重要改进及大量错误修正,比如yum包管理器加入了某些改动及新功能。需要注意的是,与GUI安装方式相比,文本安装功能受到限制,不支持设置分区布局(Partition Layout)、存储方式及选择包组。更多详细信息请查看官方的发行注记。http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.1
6.1 发布仅一个多星期,6.2就发布了。现在大多数网站已有6.2的目录,但还未同步完成。
心急的可以开始下载了。
http://mirrors.ustc.edu.cn/centos/6.2/isos/i386/
http://mirrors.ustc.edu.cn/centos/6.2/isos/x86_64/
CentOs6.2官方下载地址:
http://isoredirect.centos.org/centos/6/isos/
其中有一个163的Url:http://mirrors.163.com/centos/6.2/isos/x86_64/
DVD1:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD1.iso
DVD2:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD2.iso
CentOS-6.2-x86_64-minimal.iso 最小化安装:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso
提问:怎么消除打开网页时的声音?
回答:
一,如果是打开IE浏览器,系统响应的声音,则按下面的步骤取消:
点击开始菜单,设置,进入控制面板,
点击声音和多媒体,进入声音设置,在方案内选择“无声”方案,即可取消打开网页时系统发出的声音。
我实际使用情况:声音和音频设备--》声音-》 声音方案-》无声
EOF
二,如果是网页本声内容发出的声音,则按下面的步骤取消
点击IE浏览器右键,或打开IE浏览器,点击工具菜单,
进入INTERNET选项:
选择“高级”选项卡,
下拉滚动条,在多媒体选项里,把一些网页声音,之类的东西取消勾选,确定,就OK啦!
回答:
一,如果是打开IE浏览器,系统响应的声音,则按下面的步骤取消:
点击开始菜单,设置,进入控制面板,
点击声音和多媒体,进入声音设置,在方案内选择“无声”方案,即可取消打开网页时系统发出的声音。
我实际使用情况:声音和音频设备--》声音-》 声音方案-》无声
EOF
二,如果是网页本声内容发出的声音,则按下面的步骤取消
点击IE浏览器右键,或打开IE浏览器,点击工具菜单,
进入INTERNET选项:
选择“高级”选项卡,
下拉滚动条,在多媒体选项里,把一些网页声音,之类的东西取消勾选,确定,就OK啦!
要实现随开启自动启动mysqld,我们需要搞定如下几个问题:
1. Linux开机自动启动脚本放在哪儿?
一般的,作为服务器使用的Linux一般会以“完全多用户模式(Multi-User Mode with Networking)”级别来启动,这种情况下Linux在启动时会运行/etc/rc.d/rc3.d/下的全部脚本。例如我们在这个目录下会看到脚本”/etc/rc.d/rc3.d/S90crond”,意味着开机启动时会运行S90crond脚本。
2. Linux如何运行这些脚本?
既然已经知道自动启动脚本该放在哪儿了,一切就好办。我们只需要将一个启动MySQL的脚本放过去就好了。下面是我们的一个简单的启动脚本v0.1 mysqldauto
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
$vi mysqldauto
把它放到:/etc/rc.d/rc3.d,加上执行权限。
按编者的思想移动到对应的位置:
#!/bin/sh
# Version: 0.1 by orczhou@gmail.com
/opt/mysql/bin/mysqld_safe --user=mysql & #这里需要修改为你的mysqld_safe目录
$chmod +x mysqldauto
$mv mysqldauto /etc/rc.d/init.d/
$ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc3.d/S99mysqld
这样我们就把创建的mysqldauto脚本放到了/etc/rc.d/rc3.d/下面(注意这里使用了link的方式),mysqld可以自动启动了。
来自:http://tech.sina.com.cn/s/2009-12-04/00471159939.shtml 修改By:jack
1. Linux开机自动启动脚本放在哪儿?
一般的,作为服务器使用的Linux一般会以“完全多用户模式(Multi-User Mode with Networking)”级别来启动,这种情况下Linux在启动时会运行/etc/rc.d/rc3.d/下的全部脚本。例如我们在这个目录下会看到脚本”/etc/rc.d/rc3.d/S90crond”,意味着开机启动时会运行S90crond脚本。
2. Linux如何运行这些脚本?
既然已经知道自动启动脚本该放在哪儿了,一切就好办。我们只需要将一个启动MySQL的脚本放过去就好了。下面是我们的一个简单的启动脚本v0.1 mysqldauto
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
$vi mysqldauto
把它放到:/etc/rc.d/rc3.d,加上执行权限。
按编者的思想移动到对应的位置:
#!/bin/sh
# Version: 0.1 by orczhou@gmail.com
/opt/mysql/bin/mysqld_safe --user=mysql & #这里需要修改为你的mysqld_safe目录
$chmod +x mysqldauto
$mv mysqldauto /etc/rc.d/init.d/
$ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc3.d/S99mysqld
这样我们就把创建的mysqldauto脚本放到了/etc/rc.d/rc3.d/下面(注意这里使用了link的方式),mysqld可以自动启动了。
来自:http://tech.sina.com.cn/s/2009-12-04/00471159939.shtml 修改By:jack
[口袋技巧]Linux下经常要输出某个文件的绝对路径的方法
Unix/LinuxC技术 jackxiang 2011-10-15 23:43
这样:
如下:
利用Ls查出来后再接上路径的方法:
WEB_39_74_sles10sp1:/home/jackxiang/public_html/adc_branches/tst # ls -lart $PWD/order*.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_detail.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_result.html
Nov 23 09:19 /home/jackxiang/public_html/adc_branches2/tst/order_report.html
ls -lart ~+/order*.html 也行。
注:
~+和$PWD一样的功能,就是一样的不同表示罢了。
通过find配合~+输出文件路径:
如下:
利用Ls查出来后再接上路径的方法:
WEB_39_74_sles10sp1:/home/jackxiang/public_html/adc_branches/tst # ls -lart $PWD/order*.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_detail.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_result.html
Nov 23 09:19 /home/jackxiang/public_html/adc_branches2/tst/order_report.html
ls -lart ~+/order*.html 也行。
注:
~+和$PWD一样的功能,就是一样的不同表示罢了。
通过find配合~+输出文件路径:
less /var/log/secure
May 28 11:05:53 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:28 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:30 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Connection closed by 10.73.***.251 [preauth]
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:37 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:06:57 xxxx-web-api-upload_php_bj_yz_10_73_235_0 passwd: pam_unix(passwd:chauthtok): password changed for root
May 28 11:07:02 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:07:04 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Connection closed by 10.73.***.251 [preauth]
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
树莓派的ssh日志文件是:/var/log/auth.log ,对应CentOS的/var/log/secure文件吧?
不完全正确。树莓派和CentOS都使用不同的日志文件来记录SSH登录活动。在树莓派上,SSH登录活动通常被记录在/var/log/auth.log文件中。而在CentOS上,SSH登录活动通常被记录在/var/log/secure文件中。
如何看查看系统上的日志配置文件的实际位置?
检查以下文件来了解日志配置:
/etc/rsyslog.conf
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
/etc/rsyslog.d/目录下的其他配置文件
/etc/syslog-ng/syslog-ng.conf(如果使用syslog-ng)
背景:linux ssh 无法登录 错误提示 Connection closed by foreign host,之前都好好的,现在突然就有问题了,最后查到是因为有人做机器盘点,可能对一些ip作了白名单以限定其对本机的ssh的访问。
[root@localhost htdocs]# telnet 10.70.32.58 22
Trying 10.70.32.58...
Connected to localhost (10.70.32.58).
Escape character is '^]'.
jackxiang
jkdfjdl
Connection closed by foreign host.
这个怎么办???
1.ssh -vvv打印debug调试
2.检查iptable等是否有做端口限制
3.解决办法是:打电话给机房要求强制重启,然后就莫名其妙的可以了……
ssh -vvv xiangdong@10.70.32.58 22
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.70.32.58 [10.70.32.58] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: Connection closed by remote host
使用Kerberos登陆ssh的时候,出现下列问题:
ssh_exchange_identification: Connection closed by remote host
解决办法:
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务
http://wangmukun.blog.51cto.com/651644/202747
vi /etc/hosts.allow
sshd:10.65.*.* 10.4.*.* 192.168.112.195 110.64.6.58 110.70.58.84 202.108.16.65/255.255.255.224 211.108.17.* 211.181.168.*
加上自己的IP在后面,/etc/init.d/sshd status
sshd (pid 15818 7913 7911 7696 7694) is running...
/etc/init.d/sshd restart
或: service sshd restart
摘自:http://blog.163.com/zhengjiu_520/blog/static/3559830620118294059556/
有可能是使用了,使用SSH公钥(id_dsa.pub)实现免密码登录?实践证明不是的:
http://www.ibm.com/developerworks/cn/linux/l-backup/index.html#N10058
OpenSSH普通用户无法登录的几种情况的解决方法:( #UsePAM yes 是注销了的,因为不需要PAM)
1 验证方式不支持
如客户端登录时提示如下:
[huzw@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
Permission denied (publickey,keyboard-interactive).
解决方法:
设置sshd的配置文件(sshd_config)的这条配置:PasswordAuthentication yes
然后重启服务:service sshd restart
2 普通用户登录密码始终错误,sshd启动有报错
sshd启动报错:
Unsupported option GSSAPIAuthentication
Unsupported option GSSAPICleanupCredentials
解决方法:
注销sshd的配置文件(sshd_config)的如下配置:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
#UsePAM yes
然后重启服务:service sshd restart
来自:http://blog.csdn.net/huzhenwei/article/details/7486737
————————————————————————————————————————————————————
设置ssh日志记录 :
1、修改/etc/ssh/sshd_config
将SyslogFacility AUTHPRIV改为SyslogFacility local5
2 修改/etc/syslog.conf
添加如下两行:
# save sshd messages also to sshd.log
local5.* /data/log/sshd.log
3、重启sshd和syslog服务
然后你可以使用ssh来登录看看发现与sshd有关的信息都记录到了sshd.log中。不在是messages。
摘自:http://blog.chinaunix.net/uid-24500107-id-2602874.html
linux下怎么查看ssh的用户登录日志:
参考:http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185976.html
SSH的登录次数查看:
指定尝试密码次数:
vi /etc/ssh/sshd_config
将默认的值改掉即可CentOS6 默认可以允许做3次尝试重启SSH。
MaxAuthTries 1
这里表示只允许输错一回密码.
我们要注意的是除了SSH自身的选项控制认证次数外,它还通过pam进行验证,所以如果我们设置MaxAuthTries 10,则允许输错密码的次数可能还是3,如果MaxAuthTries 2,则以MaxAuthTries为准.
如果是MaxAuthTries 2,我们输错密码的提示如下:
ssh root@192.168.27.142
root@192.168.27.142's password:
Permission denied, please try again.
root@192.168.27.142's password:
Received disconnect from 192.168.27.142: 2: Too many authentication failures for root
修改默认登录时间
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。
LoginGraceTime 1m
参考:http://wowubuntu.com/ssh-security.html
http://kyle.itpub.net/post/1626/491466
suse下可以这样:less /var/log/faillog
more /var/log/secure
who /var/log/wtmp
干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条..
cat /var/log/secure 这个 日志记录 是记录了 所有 用户登陆信息
干了什么 可以看每一个用户的 history ...
tail -f /(日志文件目录) 查看日志命令
ctrl+c停止打印
ls -al 查看文件的详细信息路径等
vi /(日志文件目录) 打开日志
/搜索字符
退出:按ESC后,按“:”,输入q,敲回车
近日,各大网站密码暴露,得修改下密码:
以root身份登陆,执行:passwd修改密码。useradd 用户名,添加用户。
具体的如下:
#passwd root
输入root密码,输入两便。
#useradd 用户名
#passwd 用户名
密码,输入两便
———————————ssh_exchange_identification: Connection closed by remote host————————————
ssh问题:ssh_exchange_identification: Connection closed by remote host...
ssh/scp:ssh_exchange_identification:Connection closed by remote host的问题
使用ssh/scp时,出现下列问题:
ssh_exchange_identification: Connection closed by remote host
解决办法: www.2cto.com
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务.
修改/etc/hosts.deny, 将 ALL: ALL 注释掉.
摘自:http://www.2cto.com/os/201210/161948.html
ssh问题:ssh_exchange_identification: Connection closed by remote host...
刚刚一个朋友告诉我SSH连接不上服务器了,重启电脑也不管用.我仔细看了一下,老报如下错误:
ssh_exchange_identification: Connection closed by remote host
the connection to the remote host was lost . this usually means that you network connection went down or that the remote host was rebooted
most network outages are short. and thus trying again may work
我在网上google了一下,得解决方案:
(1) 最简单的解决方法就是让/etc/hosts.allow 和/etc/hosts.deny里面的所有信息都不生效,全部注销掉,重启SSH服务就可以了.
但是,有时候在你修改后不久,仍然会出现/etc/hosts.deny自动修改,让你还是登录不了,此时需要检查denyhosts服务。
在redhat系列的版本中,有一个denyhosts服务,会自动覆盖/etc/hosts.deny文件,在确认要登录的机器没有问题时,可以简单做如下处理:
/etc/init.d/denyhosts stop
(2) 但是还有一种情况,就是客户端连接数过多时,也会报这个错误。缺省情况下,SSH终端连接数最大为10个。在这种情况下,需要改SSH的配置文件,
解决方案:
1) 修改/etc/ssh/sshd_config中#MaxStartups 10,将其改为MaxStartups 1000
2) 重启SSH服务,/etc/init.d/ssh restart
摘自:http://chyd96.blog.163.com/blog/static/627060762011916115414327/
————————————————————————————更多相关知识——————————————————————————
Linux踢出其他正在SSH登陆用户
1、查看系统在线用户
[root@apache ~]# w
14:15:41 up 42 days, 56 min, 2 users, load average: 0.07, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.204.64.165 14:15 0.00s 0.06s 0.04s w
root pts/1 116.204.64.165 14:15 2.00s 0.02s 0.02s –bash
2、查看当前自己占用终端,别把自己干掉了
[root@apache ~]# who am i
root pts/02013-01-16 14:15 (116.204.64.165)
3、用pkill 命令剔除对方
[root@apache ~]# pkill -kill -t pts/1
4、用w命令在看看干掉没。
[root@apache ~]# w
14:19:47 up 42 days, 1:00, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.204.64.165 14:15 0.00s 0.03s 0.00s w
后记:
如果最后查看还是没有干掉,建议加上-9 强制杀死。
[root@apache ~]# pkill -9 -t pts/1
From:http://www.myhack58.com/Article/48/66/2013/37031.htm
CentOS6下限制SSH远程终端连接数:
方案:
1)修改/etc/ssh/sshd_config中#MaxStartups 10:30:60,将其改为MaxStartups 1000
2)重启SSH服务,/etc/init.d/ssh restart
Centos系统默认连接时间120秒,如果远程终端连接数过多,则会出现超时连接,解决办法如下:
1)修改/etc/ssh/sshd_config中LoginGraceTime 120,将其改为LoginGraceTime 0,其中0表示不限制连接时间
2)重启SSH服务,/etc/init.d/ssh restart
From:http://www.21ops.com/linux/8220.html
May 28 11:05:53 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:28 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:30 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Connection closed by 10.73.***.251 [preauth]
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:37 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:06:57 xxxx-web-api-upload_php_bj_yz_10_73_235_0 passwd: pam_unix(passwd:chauthtok): password changed for root
May 28 11:07:02 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:07:04 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Connection closed by 10.73.***.251 [preauth]
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251 user=root
树莓派的ssh日志文件是:/var/log/auth.log ,对应CentOS的/var/log/secure文件吧?
不完全正确。树莓派和CentOS都使用不同的日志文件来记录SSH登录活动。在树莓派上,SSH登录活动通常被记录在/var/log/auth.log文件中。而在CentOS上,SSH登录活动通常被记录在/var/log/secure文件中。
如何看查看系统上的日志配置文件的实际位置?
检查以下文件来了解日志配置:
/etc/rsyslog.conf
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
/etc/rsyslog.d/目录下的其他配置文件
/etc/syslog-ng/syslog-ng.conf(如果使用syslog-ng)
背景:linux ssh 无法登录 错误提示 Connection closed by foreign host,之前都好好的,现在突然就有问题了,最后查到是因为有人做机器盘点,可能对一些ip作了白名单以限定其对本机的ssh的访问。
[root@localhost htdocs]# telnet 10.70.32.58 22
Trying 10.70.32.58...
Connected to localhost (10.70.32.58).
Escape character is '^]'.
jackxiang
jkdfjdl
Connection closed by foreign host.
这个怎么办???
1.ssh -vvv打印debug调试
2.检查iptable等是否有做端口限制
3.解决办法是:打电话给机房要求强制重启,然后就莫名其妙的可以了……
ssh -vvv xiangdong@10.70.32.58 22
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.70.32.58 [10.70.32.58] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: Connection closed by remote host
使用Kerberos登陆ssh的时候,出现下列问题:
ssh_exchange_identification: Connection closed by remote host
解决办法:
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务
http://wangmukun.blog.51cto.com/651644/202747
vi /etc/hosts.allow
sshd:10.65.*.* 10.4.*.* 192.168.112.195 110.64.6.58 110.70.58.84 202.108.16.65/255.255.255.224 211.108.17.* 211.181.168.*
加上自己的IP在后面,/etc/init.d/sshd status
sshd (pid 15818 7913 7911 7696 7694) is running...
/etc/init.d/sshd restart
或: service sshd restart
摘自:http://blog.163.com/zhengjiu_520/blog/static/3559830620118294059556/
有可能是使用了,使用SSH公钥(id_dsa.pub)实现免密码登录?实践证明不是的:
http://www.ibm.com/developerworks/cn/linux/l-backup/index.html#N10058
OpenSSH普通用户无法登录的几种情况的解决方法:( #UsePAM yes 是注销了的,因为不需要PAM)
1 验证方式不支持
如客户端登录时提示如下:
[huzw@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
Permission denied (publickey,keyboard-interactive).
解决方法:
设置sshd的配置文件(sshd_config)的这条配置:PasswordAuthentication yes
然后重启服务:service sshd restart
2 普通用户登录密码始终错误,sshd启动有报错
sshd启动报错:
Unsupported option GSSAPIAuthentication
Unsupported option GSSAPICleanupCredentials
解决方法:
注销sshd的配置文件(sshd_config)的如下配置:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
#UsePAM yes
然后重启服务:service sshd restart
来自:http://blog.csdn.net/huzhenwei/article/details/7486737
————————————————————————————————————————————————————
设置ssh日志记录 :
1、修改/etc/ssh/sshd_config
将SyslogFacility AUTHPRIV改为SyslogFacility local5
2 修改/etc/syslog.conf
添加如下两行:
# save sshd messages also to sshd.log
local5.* /data/log/sshd.log
3、重启sshd和syslog服务
然后你可以使用ssh来登录看看发现与sshd有关的信息都记录到了sshd.log中。不在是messages。
摘自:http://blog.chinaunix.net/uid-24500107-id-2602874.html
linux下怎么查看ssh的用户登录日志:
参考:http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185976.html
SSH的登录次数查看:
指定尝试密码次数:
vi /etc/ssh/sshd_config
将默认的值改掉即可CentOS6 默认可以允许做3次尝试重启SSH。
MaxAuthTries 1
这里表示只允许输错一回密码.
我们要注意的是除了SSH自身的选项控制认证次数外,它还通过pam进行验证,所以如果我们设置MaxAuthTries 10,则允许输错密码的次数可能还是3,如果MaxAuthTries 2,则以MaxAuthTries为准.
如果是MaxAuthTries 2,我们输错密码的提示如下:
ssh root@192.168.27.142
root@192.168.27.142's password:
Permission denied, please try again.
root@192.168.27.142's password:
Received disconnect from 192.168.27.142: 2: Too many authentication failures for root
修改默认登录时间
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。
LoginGraceTime 1m
参考:http://wowubuntu.com/ssh-security.html
http://kyle.itpub.net/post/1626/491466
suse下可以这样:less /var/log/faillog
more /var/log/secure
who /var/log/wtmp
干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条..
cat /var/log/secure 这个 日志记录 是记录了 所有 用户登陆信息
干了什么 可以看每一个用户的 history ...
tail -f /(日志文件目录) 查看日志命令
ctrl+c停止打印
ls -al 查看文件的详细信息路径等
vi /(日志文件目录) 打开日志
/搜索字符
退出:按ESC后,按“:”,输入q,敲回车
近日,各大网站密码暴露,得修改下密码:
以root身份登陆,执行:passwd修改密码。useradd 用户名,添加用户。
具体的如下:
#passwd root
输入root密码,输入两便。
#useradd 用户名
#passwd 用户名
密码,输入两便
———————————ssh_exchange_identification: Connection closed by remote host————————————
ssh问题:ssh_exchange_identification: Connection closed by remote host...
ssh/scp:ssh_exchange_identification:Connection closed by remote host的问题
使用ssh/scp时,出现下列问题:
ssh_exchange_identification: Connection closed by remote host
解决办法: www.2cto.com
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务.
修改/etc/hosts.deny, 将 ALL: ALL 注释掉.
摘自:http://www.2cto.com/os/201210/161948.html
ssh问题:ssh_exchange_identification: Connection closed by remote host...
刚刚一个朋友告诉我SSH连接不上服务器了,重启电脑也不管用.我仔细看了一下,老报如下错误:
ssh_exchange_identification: Connection closed by remote host
the connection to the remote host was lost . this usually means that you network connection went down or that the remote host was rebooted
most network outages are short. and thus trying again may work
我在网上google了一下,得解决方案:
(1) 最简单的解决方法就是让/etc/hosts.allow 和/etc/hosts.deny里面的所有信息都不生效,全部注销掉,重启SSH服务就可以了.
但是,有时候在你修改后不久,仍然会出现/etc/hosts.deny自动修改,让你还是登录不了,此时需要检查denyhosts服务。
在redhat系列的版本中,有一个denyhosts服务,会自动覆盖/etc/hosts.deny文件,在确认要登录的机器没有问题时,可以简单做如下处理:
/etc/init.d/denyhosts stop
(2) 但是还有一种情况,就是客户端连接数过多时,也会报这个错误。缺省情况下,SSH终端连接数最大为10个。在这种情况下,需要改SSH的配置文件,
解决方案:
1) 修改/etc/ssh/sshd_config中#MaxStartups 10,将其改为MaxStartups 1000
2) 重启SSH服务,/etc/init.d/ssh restart
摘自:http://chyd96.blog.163.com/blog/static/627060762011916115414327/
————————————————————————————更多相关知识——————————————————————————
Linux踢出其他正在SSH登陆用户
1、查看系统在线用户
[root@apache ~]# w
14:15:41 up 42 days, 56 min, 2 users, load average: 0.07, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.204.64.165 14:15 0.00s 0.06s 0.04s w
root pts/1 116.204.64.165 14:15 2.00s 0.02s 0.02s –bash
2、查看当前自己占用终端,别把自己干掉了
[root@apache ~]# who am i
root pts/02013-01-16 14:15 (116.204.64.165)
3、用pkill 命令剔除对方
[root@apache ~]# pkill -kill -t pts/1
4、用w命令在看看干掉没。
[root@apache ~]# w
14:19:47 up 42 days, 1:00, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.204.64.165 14:15 0.00s 0.03s 0.00s w
后记:
如果最后查看还是没有干掉,建议加上-9 强制杀死。
[root@apache ~]# pkill -9 -t pts/1
From:http://www.myhack58.com/Article/48/66/2013/37031.htm
CentOS6下限制SSH远程终端连接数:
方案:
1)修改/etc/ssh/sshd_config中#MaxStartups 10:30:60,将其改为MaxStartups 1000
2)重启SSH服务,/etc/init.d/ssh restart
Centos系统默认连接时间120秒,如果远程终端连接数过多,则会出现超时连接,解决办法如下:
1)修改/etc/ssh/sshd_config中LoginGraceTime 120,将其改为LoginGraceTime 0,其中0表示不限制连接时间
2)重启SSH服务,/etc/init.d/ssh restart
From:http://www.21ops.com/linux/8220.html
web版firebug,适用于所有浏览器 :
主要就是针对IE 浏览器。IE8自带的不怎么好用。IE6 7的那个第三方插件更别提了。。有了这个,我们在做测试的只要加上一行代码 即可 使用 “firebug”测试。测试后 可以去掉。
总体来说:这个没有Firefox上强大,我试了下,只能看基本的CSS,Html和Js,等。
官方给的 兼容浏览器:E6+, Firefox, Opera, Safari and Chrome
官网:http://www.getfirebug.com/firebuglite
主要就是针对IE 浏览器。IE8自带的不怎么好用。IE6 7的那个第三方插件更别提了。。有了这个,我们在做测试的只要加上一行代码 即可 使用 “firebug”测试。测试后 可以去掉。
总体来说:这个没有Firefox上强大,我试了下,只能看基本的CSS,Html和Js,等。
官方给的 兼容浏览器:E6+, Firefox, Opera, Safari and Chrome
官网:http://www.getfirebug.com/firebuglite
[个人原创]使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题
Php/Js/Shell/Go jackxiang 2011-10-10 18:56
要求:当点击+按钮时,添加一个File位置,上传控件,当想删除这个上传文件控件时,点-取消。
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:
解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>
参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html
附录如下:
添加新上传文件Js事件:
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:
解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>
参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html
附录如下:
添加新上传文件Js事件:
一个多月前,Kernel.org公布了自己遭受的安全攻击,并将网站下线。现在,Kernel.org网站重新上线。
在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。
Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。
幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。
预计不久就会有对本次安全漏洞的全面阐述。
查看英文原文:InfoQ: Kernel.org Back After Security Breach
在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。
Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。
幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。
预计不久就会有对本次安全漏洞的全面阐述。
查看英文原文:InfoQ: Kernel.org Back After Security Breach
nux 系统文件 /proc/{$pid}/status 会记录某个进程的运行状态,里面的 VmRSS 字段记录了该进程使用的常驻物理内存(Residence),这个就是该进程实际占用的物理内存了,用这个数据比较靠谱,在程序里面提取这个值也很容易
ps:虽然垃圾回收让php开发者在内存管理上无需担心了,但也有极端的反例:php界著名的包管理工具composer曾因加入一行gc_disable();性能得到极大提升。
两步:
1)Top查看进程PID。
2)查看进程的内存大小:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
3)将KB换为G或M看:
https://www.wntool.com/filesize/
5020236 kb = 4.787670135498047GB
常用ps命令参数:最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
p
pid
进程ID
u
user
用户名
x 显示没有控制终端的进程。
可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
ps aux|grep dio_open_usb2|grep -v grep
root 10952 0.0 0.2 37436 8848 pts/0 S+ 14:50 0:00 php dio_open_usb2.php
从上面可以得到信息如下:
还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。
即:该程序占用内存8848,我们只看内存,也也以这样看内存,10952是它的PID号,则这样看:
该文件里面有很多项的,如下:
cat /proc/10952/status
Name: php
State: S (sleeping)
Tgid: 10952
Pid: 10952
......
VmSize: 37436 kB
VmRSS: 8848 kB
......
解释:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
参考来源:
http://apps.hi.baidu.com/share/detail/17897258
http://enterparse.blog.163.com/blog/static/11713797420096921232931/
steven jobs总算是走了,但蛮怀恋他老人家啊,尽管到目前我也买不起个苹果的本本上网什么的,但最近在同事的aire机上提前体验了下苹果的笔记本本,体验上创意上确实不错,于是也就立即逛逛他的苹果网站,发现也是用PHP+APache+Oracle做的,激发了我的兴趣,发现是用PHP连接Oracle的Apache架构实现,抓包发现服务器确实是:Apache/2.2.3 (Oracle),我不太明白ORacle这块,但同时看网上有这样的问题的提出,老大们,你们的php连oracle难道没有连接池问题吗?稍多几个人访问web那oracle可怜的百十个连接就用完了,你们是怎么解决的?沿着这个问题做了下简单的分析和查找资料,也就是如何解决这个贴纸儿的问题:http://blog.fabrichina.net/archives/250,
抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja§ion=global&geo=us&transport=js
于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html
同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm
尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1
对该URL抓包返回头如下:
最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:
抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja§ion=global&geo=us&transport=js
于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html
同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm
尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1
对该URL抓包返回头如下:
最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:
下载文件
我似乎不应该向出租车司机提起腾讯。车窗外,一幢幢高楼沿着深南大道逐个晃过去。出租车司机因为那幢“马化腾的大楼”触发了谈兴。他一边有腔有调地讲述深圳人眼中的马化腾,一边顺道得瑟起他的QQ泡妞故事。
转载请注意来自http://www.chaoren.com
阅读全文
转载请注意来自http://www.chaoren.com
阅读全文
一直很困惑,技术人员拥有技术,但创业成功者寥寥无几。上周拜访客户,接触了几家公司后,才真正明白为什么技术人员当不好老板的原因。
有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。
当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。
技术人员的工作:阅读全文
有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。
当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。
技术人员的工作:阅读全文
方法1:
在传入system()的参数字符串结尾加'&'字符,要求在后台运行
方法2:
先fork()出子进程,然后在子进程中调用system()函数
http://zhidao.baidu.com/question/43141259.html
在传入system()的参数字符串结尾加'&'字符,要求在后台运行
方法2:
先fork()出子进程,然后在子进程中调用system()函数
http://zhidao.baidu.com/question/43141259.html
curl c/c++ api接口使用例程
来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/ 这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL //初始化所有的可能的调用。
CURL_GLOBAL_SSL //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库。
CURL_GLOBAL_NOTHING //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5 void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.
参数:
CURL类型的指针.
6 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
CURL *curl; //定义CURL类型的指针
CURLcode res; //定义CURLcode类型的变量
if(argc!=2)
{
printf("Usage : file <url>;\n");
exit(1);
}
curl = curl_easy_init(); //初始化一个CURL类型的指针
if(curl!=NULL)
{
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
res = curl_easy_perform(curl);
//清除curl操作.
curl_easy_cleanup(curl);
}
return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net阅读全文
来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/ 这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL //初始化所有的可能的调用。
CURL_GLOBAL_SSL //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库。
CURL_GLOBAL_NOTHING //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5 void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.
参数:
CURL类型的指针.
6 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
CURL *curl; //定义CURL类型的指针
CURLcode res; //定义CURLcode类型的变量
if(argc!=2)
{
printf("Usage : file <url>;\n");
exit(1);
}
curl = curl_easy_init(); //初始化一个CURL类型的指针
if(curl!=NULL)
{
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
res = curl_easy_perform(curl);
//清除curl操作.
curl_easy_cleanup(curl);
}
return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net阅读全文
[个人实践]Linux下使用find命令查找当前文件夹所有的目录,但不递目录下的目录归查找。
Cache与Store jackxiang 2011-10-4 13:08
find命令:
查找当前目录下递归本层所有的文件夹,按评论说的作了下改动:
就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth 1 (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)
其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下:
查找当前目录下递归本层所有的文件夹,按评论说的作了下改动:
就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth 1 (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)
其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下:
[转贴]ExtJs与jQuery的比较
Php/Js/Shell/Go jackxiang 2011-10-3 10:20
jQuery
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。
使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)
jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。
友好和活跃的社区:google groups: http://docs.jquery.com/Discussion
事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。
缺点
由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。
CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)
Ext JS
主页:http://extjs.com/
设计思想
组件化,推进RIA(Rich Internet Application)的应用。
优点
强大的UI,而且性能不错,这是其最大的优点。
速度快,管是UI还是其它模块。
100%面向对象和组件化的思想,一致的语法,全局的命名空间。
文档的完整,规范,方便。
核心的开发团队,Jack Slocum等。
活跃的社区,迅速增加的用户量。
模块化实现,可扩展性强。
所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。
缺点
稍复杂。
为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。
ExtJs与jQuery比较
1.EXT体积大,jQuery更专注于简化最基础的开发工作.所以使用起来,也就感觉更像是使用原始的js进行开发一样
2.EXT界面美观,jQuery一般
3.EXT代码复用性强
4.EXT兼容性还是有点小问题,jQuery兼容性良好
5.EXT不易调试,
6.Ext使页面是只留下body,搜索引擎无法收录这样,不利于SEO排名
7.jQuery的事件绑定更强
Ext简化了很多工作,让开发更简洁,更方便,但也带来了很多麻烦,给我们留下了更小的选择空间,局域网里面我们可以使用EXT,但是在互联网上请优先jQuery
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。
使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)
jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。
友好和活跃的社区:google groups: http://docs.jquery.com/Discussion
事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。
缺点
由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。
CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)
Ext JS
主页:http://extjs.com/
设计思想
组件化,推进RIA(Rich Internet Application)的应用。
优点
强大的UI,而且性能不错,这是其最大的优点。
速度快,管是UI还是其它模块。
100%面向对象和组件化的思想,一致的语法,全局的命名空间。
文档的完整,规范,方便。
核心的开发团队,Jack Slocum等。
活跃的社区,迅速增加的用户量。
模块化实现,可扩展性强。
所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。
缺点
稍复杂。
为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。
ExtJs与jQuery比较
1.EXT体积大,jQuery更专注于简化最基础的开发工作.所以使用起来,也就感觉更像是使用原始的js进行开发一样
2.EXT界面美观,jQuery一般
3.EXT代码复用性强
4.EXT兼容性还是有点小问题,jQuery兼容性良好
5.EXT不易调试,
6.Ext使页面是只留下body,搜索引擎无法收录这样,不利于SEO排名
7.jQuery的事件绑定更强
Ext简化了很多工作,让开发更简洁,更方便,但也带来了很多麻烦,给我们留下了更小的选择空间,局域网里面我们可以使用EXT,但是在互联网上请优先jQuery