可用IP查询,ip段/27/29/30网关,子网掩码,广播地址查询
我们买美国服务器/美国vps的时候,买多个IP地址,美国机房总是发一个类似204.45.116.184/29 的地址给我们,对于不熟悉网络的人来说,真的莫名其妙。到底有哪些可用的IP? 网关,子网掩码,广播地址是什么?
可用IP查询,IP段对应表
| IP总数 | 子网掩码 | Amount of a Class C | |
|---|---|---|---|
| /30 | 4 | 255.255.255.252 | 1/64 |
| /29 | 8 | 255.255.255.248 | 1/32 |
| /28 | 16 | 255.255.255.240 | 1/16 |
| /27 | 32 | 255.255.255.224 | 1/8 |
| /26 | 64 | 255.255.255.192 | 1/4 |
| /24 | 256 | 255.255.255.0 | 1 |
| /23 | 512 | 255.255.254.0 | 2 |
| /22 | 1024 | 255.255.252.0 | 4 |
| /21 | 2048 | 255.255.248.0 | 8 |
| /20 | 4096 | 255.255.240.0 | 16 |
| /19 | 8192 | 255.255.224.0 | 32 |
| /18 | 16384 | 255.255.192.0 | 64 |
| /17 | 32768 | 255.255.128.0 | 128 |
| /16 | 65536 | 255.255.0.0 | 256 |
ip段/27 /29 /30 网关,子网掩码,广播地址查询
范例: 要查询204.45.116.184/29,先找到下表的 /29 表格,网关 这一列找到要查询的IP最后一位即.184,然后就可以看到可用IP范围(注:第一个IP是Gateway网关地址)和广播地址了。然后从上面的表找到 子网掩码即可。
/25– 2 Subnets — 126 Hosts/Subnet
|
/30– 64 Subnets — 2 Hosts/Subnet
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/26– 4 Subnets — 62 Hosts/Subnet
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/27– 8 Subnets — 30 Hosts/Subnet
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/28– 16 Subnets — 14 Hosts/Subnet
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/29– 32 Subnets — 6 Hosts/Subnet
|
更加直观的 可用IP查询
http://www.pcwize.com/funstuff/subnetcalc.php
IEtest 测试网页在不同IE版本的软件
|
在windows下可以同时拥有IE5.5、IE6、IE7、IE8的网页调试环境,是前端开发工程师的好帮手。 ETester is afree WebBrowser that allows you to have the rendering and javascriptengines of IE8 beta 1, IE7 IE 6 and IE5.5 on Vista and XP, as well asthe installed IE in the same process. |
下载地址:http://www.debugbar.com/download.php
如何判断linux系统位数–附getconf 命令使用详解
今天在安装mysql的时候,出现一个错误,可能是与系统位数有关!
查看系统有两种方法
1.直接看看有没有/lib64目目录的方法。64位的系统会有/lib64和/lib两个目录,32位只有/lib一个。
2.getconf LONG_BIT (推荐)
(32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可用”getconf WORD_BIT”和”getconf LONG_BIT”获得word和long的位数。64位系统中应该分别得到32和64。)
getconf 命令使用详解
os版本不同造成的差异, 具体查看: # man getconf
用途
将系统配置变量值写入标准输出。
语法
getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration PathName ] [ DeviceVariable DeviceName ]
getconf -a
描述
用 SystemwideConfiguration 参数调用 getconf 命令,将 SystemwideConfiguration 参数所指定的变量值写到标准输出。
用 PathConfiguration 和 PathName 参数调用 getconf 命令,写入 PathConfiguration 参数为 PathName 参数指定路径指定的变量值,到标准输出。
getconf 命令,用 -a 标志调用,并写入全部系统配置变量值到标准输出。
getconf 命令,用 DeviceVariable 和 DeviceName 参数调用,写磁盘设备名或位置的值到标准输出,设备路径由 DeviceName 参数指定。
如果在系统中定义指定的变量且其值描述为可从 confstr 子例程得到,则指定变量的值按以下格式写入:
“%s\n”,< 值 >
否则,如果在系统中定义指定变量,其值按以下格式写入:
“%d\n”, < 值 >
如果指定变量是有效的但在系统中未定义,则将以下内容写入标准输出:
“undefined\n”
如果变量名无效或出现错误,就会有一个诊断消息写入标准错误。
标记
-a specification
显示了指定规格及版本,其配置变量等待确定。如果该标志未被指定,返回值将响应一个实现缺省值 XBS5 的相应的编辑环境。
-v
将全部系统配置变量值写入标准输出。
参数
PathName
为 PathConfiguration 参数指定路径名。
SystemwideConfiguration
指定一个系统配置变量。
PathConfiguration
指定一个系统路径配置变量。
DeviceName
指定一个设备路径名。
DeviceVariable
指定一个设备变量。
示例
- 显示变量 ARG_MAX 的值,请输入:
getconf ARG_MAX
- 显示变量 NAME_MAX 的值,用于 /usr 目录,请输入:
getconf NAME_MAX /usr
- 下列 shell 命令显示怎样处理未指定结果:
if value=$(getconf PATH_MAX /usr) then if [ "$value" = "undefined" ] then echo The value of PATH_MAX in /usr is undefined. else echo The value of PATH_MAX in /usr is $value. fi else echo Error in the getconf command. fi - 如果命令:
getconf _XBS5_ILP32_OFF32
没有写入 -1\n 或 undefined\n 到标准输出,那么表单命令:
getconf -v XBS5_ILP32_OFF32 ...
将确定相应于 XBS5_ILP32_OFF32 编译环境的配置变量值。编译环境指定于 c89,扩展描述。
- 如果命令:
getconf _XBS5_ILP32_OFFBIG
没有写入 -1\n 或 undefined\n 到标准输出,那么表单命令:
getconf -v XBS5_ILP32_OFFBIG ...
将确定相应于 XBS5_ILP32_OFFBIG 编译环境的配置变量值,编译环境值指定于 c89,扩展描述。
- 如果命令:
getconf _XBS5_LP64_OFF64
没有写入 -1\n 或 undefined\n 到标准输出,那么表单命令:
getconf -v XBS5_LP64_OFF64 ...
将确定相应于 XBS5_LP64_OFF64 编译环境的配置变量值,编译环境值指定于 c89,扩展描述。
- 如果命令:
getconf _XBS5_LPBIG_OFFBIG
没有写入 -1\n 或 undefined\n 到标准输出,那么如下形式的命令:
getconf -v _XBS5_LPBIG_OFFBIG
将确定相应于在 c89,扩展描述中指定的 XBS5_LPBIG_OFFBIG 编译环境的配值变量值。
- 确定磁盘 hdisk0 大小, 若是 root 用户,则输入下列:
getconf DISK_SIZE /dev/hdisk0
- 确定实际内存大小,输入下列:
getconf REAL_MEMORY
- 确定是否机器硬件是 32 位或 64 位,则输入下列:
getconf HARDWARE_BITMODE
- 确定是否内核是 32 位或 64 位,则输入下列:
getconf KERNEL_BITMODE
- 确定磁盘 hdisk0 的设备名或位置,则输入下列:
getconf DEVICE_NAME /dev/hdisk0
文件
| /usr/bin/getconf | 包含一个 getconf 命令。 |
| /usr/include/limits.h | 定义系统配置变量。 |
| /usr/include/unistd.h | 定义系统配置变量。 |
在IIS7上配置php –使用FastCGI
Enabling FastCGI support in IIS
FastCGI module is disabled in default installation of IIS. The steps to enable it differ based on the version of Windows being used.
To enable FastCGI support on Windows Vista SP1 and Windows 7:
In the Windows Start Menu choose “Run:”, type “optionalfeatures.exe” and click “Ok”;
In the “Windows Features” dialog expand “Internet Information Services”, “World Wide Web Services”, “Application Development Features” and then enable the “CGI” checkbox;
Click OK and wait until the installation is complete.
一行命令安装PPTPD VPN,一键在xen或linux服务器上安装VPN服务
PPTPD VPN是目前比较好用的vpn之一,为了方便ctohome的客户安装vpn服务,diahosting公开发布的一个”一行命令,一键在xen或linux服务器上安装VPN服务(PPTPD VPN)”的脚本,推荐给大家使用:
一行命令安装PPTPD VPN(注意,只在CentOS 5 32bits/64bits下测试通过,其他系统未测试):
wget http://www.zhangrongcun.com/down/vpn/vpn-pptpd.sh;sh ./vpn-pptpd.sh;
用root登录ssh,复制粘贴上面一行命令,回车等待几分钟即可。
安装完成后,会直接显示VPN用户名(默认就是vpn1和vpn2)和密码,
请留意下面的字样,密码中可能会有/=等特殊字符,但没有空格,复制密码的时候,小心不要复制了空格
VPN username: vpn1 password: rPpVvZUo
VPN username: vpn2 password: 55Y3ut6t
如何创建更多的vpn用户?
请在linux下,ssh编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。
Kloxo/lxadmin不支持mb_substr,如何安装mbstring?
Kloxo/lxadmin面板默认不支持mbstrin,不支持mb_substr等函数。怎么办?如何安装mbstring?
Kloxo安装mbstring的方法:ssh登录
[root@vps105 www.ctohome.com]# yum install php-mbstring
Loading “installonlyn” plugin
Setting up Install Process
Setting up repositories
lxlabsupdate 100% |=========================| 951 B 00:00
lxlabslxupdate 100% |=========================| 951 B 00:01
base 100% |=========================| 2.1 kB 00:00
updates 100% |=========================| 1.9 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 2.1 kB 00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Downloading header for php-mbstring to pack into transaction set.
php-mbstring-5.2.6-5.i386 100% |=========================| 14 kB 00:00
—> Package php-mbstring.i386 0:5.2.6-5 set to be updated
–> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
php-mbstring i386 5.2.6-5 lxlabsupdate 1.0 M
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): php-mbstring-5.2.6 100% |=========================| 1.0 MB 00:01
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: php-mbstring ######################### [1/1]
Installed: php-mbstring.i386 0:5.2.6-5
Complete!
然后在kloxo面板重启apache或lighttpd即可!
去哪里注册sb域名啊
SB域名是所罗门群岛国家顶级域名,现在暂时还没有提供.SB域名注册
但是可以注册.com.sb 、.edu.sb 、.gov.sb 、.net.sb 、.org.sb
五个系列的域名,其中.edu.sb 、.gov.sb 域名需通过所罗门电信申请!
注册费用为89.00 USD
ps:china.com.sb还没被注册!
注册网址:http://www.101domain.com/register_domain_name_sb.htm
- .SB Registration not offered at this time
- Available extensions for Solomon Islands:
- .com.sb
- .edu.sb
- .gov.sb
- .net.sb
- .org.sb
Linux VPS上自动备份文件并发送到Gmail (适用G级数据的备份)
一,安装所需程序
yum install -y mutt vixie-cron
二,设置mutt发信参数
$ vim ~/.muttrc
写入下面的内容
set envelope_from=yes
set from=bak@diavps.com
set realname=”DiaBak”
set use_from=yes
然后设置要接收邮件的Gmail,把bak@diavps.com加入白名单。
三,设置脚本
注意这几个目录
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
这些目录下的文件可以分别每小时,每天,每周,每月自动执行一次。
如果是把脚本程序放置在上面的目录里,最好把权限设置为0700。
设置更复杂的执行条件可以使用crontab -e命令。详情请百度。
以每天执行为例
$ vim /etc/cron.daily/diabsk.sh
写入下面的内容
#!/bin/bash
# SETTING
TOEMAIL=”bak@diavps.com”;
COMMENT=’blog database backup’
DIR=’wordpress’
# END SETTING
TMP=’/tmp/diabak/’${DIR}
ATTTMP=’/tmp/diabakatt/’${DIR}
rm -rf $TMP
mkdir -p $TMP
cd $TMP
# Put files what you want to backup to $TMP
# Don’t change anything below
YYYYMMDD=`date +%Y%m%d`
SUBJECT=’DiaBak_of_’${DIR}’_'${YYYYMMDD};
rm -rf $ATTTMP
mkdir -p $ATTTMP
cd $ATTTMP
tar zcPf backup.tar.gz $TMP
rm -rf $TMP
split -b 20m -a 3 -d backup.tar.gz ${SUBJECT}.part
rm -f backup.tar.gz
for file in *
do
echo $COMMENT | mutt -a $file -s $SUBJECT $TOEMAIL
sleep 30s
done
rm -rf $ATTTMP
需要更改的内容已经加红
TOEMAIL为接收邮件的邮箱地址。
TOEMAIL为注释邮件,以邮件正文发送。
DIR为临时目录名,建议仅使用英文和数字。
# Put files what you want to backup to $TMP,这一行下面的命令根据需要自己补充,比如备份数据库可以把SQL文件导出到$TMP目录,备份文件可以复制文件到$TMP目录。
四,导出数据库的命令。
1.备份单个数据库
mysqldump –user=user –password=password –lock-all-tables dbname > backup.sql
2.备份多个数据库
mysqldump –user=user –password=password –lock-all-tables –databases dbname1 dbname2 > backup.sql
3.备份所有数据库
mysqldump –user=user –password=password –lock-all-tables –all-databases > backup.sql
–lock-all-tables选项可以在备份期间锁定数据库防止出现变化,进而导致多个有关系的表不同步,比如A表需要引用B表,备份完A表后,B 表发生了变化,之后才备份了B表,这样数据库就乱了。
备份上百M的数据库也只用了几秒而已,所以这个选项对网站运行影响不大。
五,重新组合备份的文件
Linux下
$ cat DiaBak* > bak.tar.gz
windows下
copy DiaBak_of_testfile_20100421.part001/b+DiaBak_of_testfile_20100421.part002/b bak.tar.gz
注意分卷后面会有三位数字,cat命令会按这些数字的顺序重新组合文件,所以数字不能乱。
copy命令同理,注意数字顺序。
六,其他
测试了一个600多M的文件,以20M的大小分成了31个包,通过脚本发送,用时十几分钟,期间网速保持在5Mbps到10Mbps之间,本机还有足够的 带宽,这个应该是GMAIL的上限了。
有些邮件需要过一个多小时才在Gmail显示出来。31个包全部收到。
如果哪位发现有比Gmail更适合备份的邮箱,期待与大家分享。
sql LEFT JOIN 左连
sql LEFT JOIN 左连这种方法可能方便多个数据表之间的操作了,我们只要用left join on就可以达到我们想的左连效果哦.
MySQL的左连接
在上次的教训,数据库连接,我们学会了如何做一个基本的加入的两个表。这一课将教你如何做一个专门加入:左加入。
MySQL的左连接解释
如何是一个左连接不同于正常的加入?首先,语法是完全不同的和更为复杂。除了寻找不同,左连接提供额外考虑到该表是在左侧。
被“左”仅仅指的是表,出现在左加入我们的SQL语句。任何棘手的。
这笔额外考虑到左表可以被认为是特殊的保存。每个项目在左边的表将出现在一个MySQL结果,即使没有一场比赛与其他表,它正在加入。
MySQL的加入和离开加入分歧
以下是我们的表中使用以前的数据库连接的教训。
| Position | Age |
|---|---|
| Dad | 41 |
| Mom | 45 |
| Daughter | 17 |
| Dog |
| Meal | Position |
|---|---|
| Steak | Dad |
| Salad | Mom |
| Spinach Soup | |
| Tacos | Dad |
SELECT food.Meal, family.Position
FROM family, food
WHERE food.Position = family.Position
输出.
Dad – Steak
Mom – Salad
Dad – Tacos
当我们决定使用左连接的查询,而是所有的家庭成员列,即使他们没有最喜欢的菜在我们的粮食就座。
这是因为左连接将保持记录的“左”就座。
MySQL的左连接的例子
下面的代码是完全相同的代码在过去的教训,除了左连接已添加到查询。让我们看看,如果结果是我们的期望
$query = “SELECT family.Position, food.Meal “.
“FROM family LEFT JOIN food “.
“ON family.Position = food.Position”;
$result = mysql_query($query) or die(mysql_error());
// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)){
echo $row['Position']. ” – “. $row['Meal'];
echo “<br />”;
}
结果.
Dad – Steak
Dad – Tacos
Mom – Salad
Daughter -
Dog -
PHP连接mysql例子
我准备建立一个简单的通讯录,数据库的名字叫txl,数据库只有一个表叫personal_info,表中有5个字段
| pi_id | pi_name | pi_tel | pi_qq | pi_email |
首先我们要创建数据库:
create database txl;
然后我们建立表
CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) default NULL,
`pi_qq` varchar(15) default NULL,
`pi_email` varchar(50) default NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
上面的sql语句很简单,通过字面都能猜出什么意思。
下面是连接到数据库并且显示表personal_info的所有字段信息:
// connsql.php
<?php
$mysql_server_name=”localhost”; //数据库服务器名称
$mysql_username=”root”; // 连接数据库用户名
$mysql_password=”root”; // 连接数据库密码
$mysql_database=”lxr”; // 数据库的名字
// 连接到数据库
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
// 从表中提取信息的sql语句
$strsql=”select * from personal_info”;
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
echo ‘<font face=”verdana”>’;
echo ‘<table border=”1″ cellpadding=”1″ cellspacing=”2″>’;
// 显示字段名称
echo “\n<tr>\n”;
for ($i=0; $i<mysql_num_fields($result); $i++)
{
echo ‘<td bgcolor=”#000F00″><b>’.
mysql_field_name($result, $i);
echo “</b></td>\n”;
}
echo “</tr>\n”;
// 定位到第一条记录
mysql_data_seek($result, 0);
// 循环取出记录
while ($row=mysql_fetch_row($result))
{
echo “<tr>\n”;
for ($i=0; $i<mysql_num_fields($result); $i++ )
{
echo ‘<td bgcolor=”#00FF00″>’;
echo “$row[$i]“;
echo ‘</td>’;
}
echo “</tr>\n”;
}
echo “</table>\n”;
echo “</font>”;
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close();
?>
下面是运行结果:
| pi_id | pi_name | pi_tel | pi_qq | pi_email |
| 1 | Zhangsan | 13911111111 | 642864125 | zhangsan@126.com |
| 2 | Lisi | 13122222222 | 63958741 | lisi@163.com |
| 3 | Wangwu | 13833333333 | 912345678 | wangwu@sohu.com |
所谓“万变不离其宗”,再复杂的操作也都是基于上面的来的,都少不了上面的基本的步骤,当需要时查一下相关的手册便可以解决。
