admin 发布的文章

Linux在命令行环境下使用SpeedTest测试带宽

现在有个很流行的测试带宽的网站叫SpeedTest
官方网站:http://www.speedtest.net/
默认情况下需要有图形界面,借助浏览器才能用它测试带宽
但对于很多服务器而言,特别是Linux,没有安装图形界面,更没有网页浏览器,如何用它来测试带宽呢?
于是,有人用Python写了一个脚本程序,通过它,即便是命令行环境下,也能使用SpeedTest测试带宽.
项目地址:https://github.com/sivel/speedtest-cli
命令如下:

wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
./speedtest-cli --share

下面是中国的测速节点列表:

5526) Xinjiang Unicom Company (Urumqi, China) [6066.65 km]
3784) China Mobile (Urumqi, China) [6066.65 km]
5992) Qinghai China Unicom (Xining, China) [7484.42 km]
3973) China Telecom (Lanzhou, China) [7656.37 km]
4690) China Unicom Lanzhou Branch Co.Ltd (Lanzhou, China) [7656.37 km]
4504) China Mobile Group GanSu Co.Ltd (Lanzhou, China) [7656.37 km]
5509) Chinaunicom Ningxia branch (Ningxia, China) [7699.86 km]
5465) China Unicom (Hohhot, China) [7703.25 km]
5460) China Unicom Heilongjiang Branch (Harbin, China) [7995.73 km]
4525) Heilongjiang-CMCC (Harbin, China) [7995.73 km]
5519) Shanxi Unicom (Taiyuan, China) [8006.08 km]
4713) China Mobile Group Beijing Co.Ltd (Beijing, China) [8033.29 km]
4751) Beijing Telecom (Beijing, China) [8033.29 km]
4589) China Telecom Beijing Co.,ltd (Beijing, China) [8033.29 km]
5145) Beijing Unicom (Beijing, China) [8033.29 km]
2529) Beijing Normal University (Beijing, China) [8033.29 km]
5505) Beijing Broadband Network (Beijing, China) [8033.29 km]
4863) Xi'an branch,Chinaunicom (Xian, China) [8107.80 km]
5292) China Mobile Group Shaanxi Company Limited (Xi'an, China) [8107.80 km]
1185) China Unicom,Changchun Branch (Changchun, China) [8110.48 km]
2461) China Unicom (Chengdu, China) [8122.08 km]
4624) ChinaTelecom (Chengdu, China) [8122.26 km]
5312) Chengdu Telecom (Chengdu, China) [8122.26 km]
4575) China Mobile Group Sichuan (Chengdu, China) [8122.26 km]
5475) China Unicom (Tianjin, China) [8143.49 km]
5017) China Unicom,Liaoning Branch (Shenyang, China) [8241.46 km]
4486) China Mobile Group Henan Co.,Ltd. (Zhengzhou, China) [8337.07 km]
5131) China unicom henan branch (Zhengzhou, China) [8337.07 km]
4595) China Telecom HeNan Branch (Zhengzhou, China) [8337.07 km]
5039) China unicom Jinan branch (Jinan, China) [8351.94 km]
5563) huawei company (Jinan, China) [8351.94 km]
5530) CCN (Chongqing, China) [8370.81 km]
4495) China Mobile Group Chongqing Co.,Ltd (Chongqing, China) [8370.81 km]
5726) China Unicom Chong Qing Branch (ChongQing, China) [8370.81 km]
5380) CQMC (Chongqing, China) [8370.81 km]
5103) Yunnan Chinaunicom (Kunming, China) [8509.08 km]
5892) China Mobile Group Yunnan Co.,Ltd. (Kunming, China) [8509.08 km]
5710) China Unicom (Qingdao, China) [8585.10 km]
4881) China Unicom (Guiyang, China) [8625.06 km]
5485) China Unicom,Hubei Branch (Wuhan, China) [8742.29 km]
5724) ChinaUnicom (Hefei, China) [8797.69 km]
4433) China Telecom Anhui Co.,Ltd (Hefei, China) [8797.69 km]
4377) China Mobile Group Anhui Co.,Ltd (Hefei, China) [8797.69 km]
5316) China Telecom JiangSu Branch (Nanjing, China) [8862.98 km]
5446) CHINA UNICOM JIANGSU COMPANY (Nanjing, China) [8862.98 km]
4870) Changsha, Hunan Unicom (Changsha, China) [8877.08 km]
4616) China Mobile Group Anhui Co.,Ltd (Wuhu, China) [8904.91 km]
5122) China Mobile Group Jiangsu Co.,Ltd. (Wuxi, China) [8990.35 km]
4916) China Unicom Wuxi Branch (Wuxi, China) [8990.35 km]
5097) Chinaunicom.jx (NanChang, China) [9004.24 km]
3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [9029.42 km]
5274) Suzhou China Telecom (Suzhou, China) [9029.42 km]
5674) GX-Unicom (Nanning, China) [9064.14 km]
5083) Shanghai Branch, China Unicom (Shanghai, China) [9088.55 km]
3633) China Telecom (Shanghai, China) [9088.55 km]
4647) China Mobile Group Zhejiang Co.,Ltd (Hangzhou, China) [9103.33 km]
5300) Hangzhou , Zhejiang Unicom (Hangzhou, China) [9103.33 km]
5553) jxunicom (JiangXi, China) [9135.00 km]
5409) Zhejiang Unicom (Zhejiang, China) [9217.68 km]
5700) Nanping (Nanping, China) [9319.92 km]
4428) Vixtel (Guangzhou, China) [9344.53 km]
4672) ChinaTelecom (Guangzhou, China) [9344.53 km]
3891) Unicom-GZ (Guangzhou, China) [9344.53 km]
5985) Hainan Unicom (Haikou, China) [9436.31 km]
5805) China Telecom Fujian Branch (Fuzhou, China) [9436.42 km]
4884) fuzhou_unicom (Fuzhou, China) [9436.42 km]
4924) SZUNICOM (Shenzhen, China) [9447.51 km]
5081) ShenZhen Telecom (Shenzhen, China) [9447.51 km]
3871) SZWCDMA (Shenzhen, China) [9447.51 km]
4515) CMCC-SZ (Shenzhen, China) [9451.03 km]
1536) STC (Hong Kong, China) [9475.40 km]
4910) FPT Telecom (Hong Kong, China) [9475.40 km]
5120) HKIX1 (Hong Kong, China) [9475.98 km]
1628) FUJIAN BTNG-XM (Xiamen, China) [9512.80 km]
5506) china unicom (Xiamen, China) [9512.80 km]4525) Heilongjiang-CMCC (Harbin, China) [9010.67 km]
5460) China Unicom Heilongjiang Branch (Harbin, China) [9010.67 km]
1185) China Unicom,Changchun Branch (Changchun, China) [9225.24 km]
5017) China Unicom,Liaoning Branch (Shenyang, China) [9472.49 km]
4751) Beijing Telecom (Beijing, China) [10060.60 km]
5505) Beijing Broadband Network (Beijing, China) [10060.60 km]
2529) Beijing Normal University (Beijing, China) [10060.60 km]
4589) China Telecom Beijing Co.,ltd (Beijing, China) [10060.60 km]
4713) China Mobile Group Beijing Co.Ltd (Beijing, China) [10060.60 km]
5145) Beijing Unicom (Beijing, China) [10060.60 km]
5475) China Unicom (Tianjin, China) [10078.20 km]
5710) China Unicom (Qingdao, China) [10127.28 km]
5465) China Unicom (Hohhot, China) [10248.12 km]
5563) huawei company (Jinan, China) [10290.79 km]
5039) China unicom Jinan branch (Jinan, China) [10290.79 km]
3633) China Telecom (Shanghai, China) [10433.39 km]
5083) Shanghai Branch, China Unicom (Shanghai, China) [10433.39 km]
5519) Shanxi Unicom (Taiyuan, China) [10450.17 km]
3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [10485.42 km]
5274) Suzhou China Telecom (Suzhou, China) [10485.42 km]
5122) China Mobile Group Jiangsu Co.,Ltd. (Wuxi, China) [10486.05 km]
4916) China Unicom Wuxi Branch (Wuxi, China) [10486.05 km]
6245) ningbo unicom (Ningbo, China) [10533.15 km]
5316) China Telecom JiangSu Branch (Nanjing, China) [10549.75 km]
5446) CHINA UNICOM JIANGSU COMPANY (Nanjing, China) [10549.75 km]
5300) Hangzhou , Zhejiang Unicom (Hangzhou, China) [10598.33 km]
4616) China Mobile Group Anhui Co.,Ltd (Wuhu, China) [10634.40 km]
4595) China Telecom HeNan Branch (Zhengzhou, China) [10649.04 km]
5131) China unicom henan branch (Zhengzhou, China) [10649.04 km]
4486) China Mobile Group Henan Co.,Ltd. (Zhengzhou, China) [10649.04 km]
5409) Zhejiang Unicom (Zhejiang, China) [10657.62 km]
5724) ChinaUnicom (Hefei, China) [10661.33 km]
4377) China Mobile Group Anhui Co.,Ltd (Hefei, China) [10661.33 km]
4433) China Telecom Anhui Co.,Ltd (Hefei, China) [10661.33 km]
5509) Chinaunicom Ningxia branch (Ningxia, China) [10953.59 km]
5485) China Unicom,Hubei Branch (Wuhan, China) [10959.32 km]
6144) xjunicom (Urumuqi, China) [10967.58 km]
5292) China Mobile Group Shaanxi Company Limited (Xi'an, China) [10968.43 km]
4863) Xi'an branch,Chinaunicom (Xian, China) [10968.43 km]
3784) China Mobile (Urumqi, China) [10970.34 km]
5805) China Telecom Fujian Branch (Fuzhou, China) [10985.75 km]
4884) fuzhou_unicom (Fuzhou, China) [10985.75 km]
5097) Chinaunicom.jx (NanChang, China) [11011.31 km]
5700) Nanping (Nanping, China) [11019.12 km]
3973) China Telecom (Lanzhou, China) [11083.02 km]
4690) China Unicom Lanzhou Branch Co.Ltd (Lanzhou, China) [11083.02 km]
4504) China Mobile Group GanSu Co.Ltd (Lanzhou, China) [11083.02 km]
5553) jxunicom (JiangXi, China) [11116.42 km]
5992) Qinghai China Unicom (Xining, China) [11127.99 km]
5506) china unicom (Xiamen, China) [11200.23 km]
1628) FUJIAN BTNG-XM (Xiamen, China) [11200.23 km]
4870) Changsha, Hunan Unicom (Changsha, China) [11242.39 km]
5726) China Unicom Chong Qing Branch (ChongQing, China) [11518.04 km]
5380) CQMC (Chongqing, China) [11518.04 km]
5530) CCN (Chongqing, China) [11518.04 km]
4495) China Mobile Group Chongqing Co.,Ltd (Chongqing, China) [11518.04 km]
4575) China Mobile Group Sichuan (Chengdu, China) [11560.62 km]
5312) Chengdu Telecom (Chengdu, China) [11560.62 km]
4624) ChinaTelecom (Chengdu, China) [11560.62 km]
4515) China Mobile Group GuangDong (Shenzhen, China) [11632.92 km]
4924) SZUNICOM (Shenzhen, China) [11633.88 km]
3871) SZWCDMA (Shenzhen, China) [11633.88 km]
5081) ShenZhen Telecom (Shenzhen, China) [11633.88 km]
4672) ChinaTelecom (Guangzhou, China) [11643.58 km]
3891) Unicom-GZ (Guangzhou, China) [11643.58 km]
5120) HKIX1 (Hong Kong, China) [11647.32 km]
1536) STC (Hong Kong, China) [11651.97 km]
4881) China Unicom (Guiyang, China) [11771.74 km]
5674) GX-Unicom (Nanning, China) [12000.65 km]
5985) Hainan Unicom (Haikou, China) [12101.31 km]
6168) China Telecom (Kunming, China) [12147.50 km]
5892) China Mobile Group Yunnan Co.,Ltd. (Kunming, China) [12147.50 km]
5103) Yunnan Chinaunicom (Kunming, China) [12147.50 km]
5750) LahsaUnicom (Lhasa, China) [12289.13 km]

删除OpenVZ技术的VPS下一些默认自带软件

OpenVZ的VPS虽然常常被人批评有超卖的可能,但其性价比确实很高,性能损失也较小(毕竟共用的宿主机的内核),而且大多数OpenVZ的VPS都能一键装系统。

但一键装系统的系统模板大多数集成了一些默认软件,这类软件很多情况下用不上,造成硬盘和CPU以及内存的浪费(因为里面有一部分是开机自动启动的)。

CentOS常见的自带软件有Apache,sendmail,exim等。

输入


yum remove -y httpd sendmail exim


即可删除。

本文只为帮助那些拿VPS来挂机的朋友节省一些系统资源,并无什么技术含量,没事随便写的。

代码量不能决定程序的进度和质量

1、用代码行数来衡量编程的进度,就如同用重量来衡量飞机的制造进度。—— 比尔·盖茨

2、老板跑到程序员身后,看了看代码。 老板:才写了这么点啊? 程序员:如果再给我点时间,我会写得更短些! 老板:你可以回家休息了! 程序员:...

3、程序员有哪些借口可以让自己写出低质量的代码?

来自知乎匿名评论:

我很久很久以前曾经经历的一个公司特别傻比,人力资源和svn管理员不懂程序。

作为服务端的主程序,一直以来都是代码精简,效率最优,没有冗余为毕生追求。

突然我无意中发现了一个秘密,我的绩效居然不如几个公司刚招进来的新手。

我每天刻苦努力,优化代码,让公司的服务端7*24稳稳跑在服务器上,还一心研究各种热切换,换来绩效考核好久没有优秀了。

这究竟是为什么呢,后来好心人告诉我,人力资源说了,他们看了svn的日志记录,其他人工作很努力,每天提交很多代码,每天新编写很多很多代码文件,贡献了好多好多的劳动成果。

而看看你这个号称技术排第一的家伙,根本就没干活嘛,3个月下来,你一共就写了这么十来个cpp和.h,每天改来改去就这么几个文件,还好多天差不多行数的位置回改,根本就一直在偷懒。

我听完以后以后直接口吐鲜血,无语至极了。

然后我就申请离职了,在那个公司剩下不多的日子了,我为了心安理得的拿最后2个月的工资,为了让老板知道其实我一直很努力,我在最后一个月更新了几千个文件,让服务端的内核稳定度下降了好几个档次,内存消耗上涨了好多个数量级,并且把容易读,容易后续扩展的部分,全部用c++最高级的模版进行扩展,同时删掉了我以前用汇编写的优化代码。

嗯,我想以后这个公司估计会倒闭,我走了以后,再也没有人能维护这份代码了,估计3个月以后,我自己也搞不定了。

然后我就离职了,离职之前老板大夸我厚道,最后一个月还给公司做了这么多的事情,别人走都是删代码,我居然还毫无保留的为公司做出贡献。

然后我走了不到半年,公司就呵呵了。

我想那是我此生唯一写垃圾代码写的心安理得的一次机会了。

Linux下禁止删除某文件

由于某种特殊要求,某个程序必须以root权限运行,但我又不想让它修改或者删除某个文件,怎么办呢?
之前一直折腾chmod和chown,但root权力太大了,不管怎么设置权限,root都能改。
在网上搜索了一下才知道Linux下有个命令chattr,它是修改文件在磁盘上的属性。通过-i可以实现我想要的功能。

chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

属性值:
A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:当dump程序执行时,该文件或目录不会被dump备份。
D:检查压缩文件中的错误。
i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
t:文件系统支持尾部合并(tail-merging)。
X:可以直接访问压缩文件的内容。

参数:
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。

Linux流量监控工具iftop

介绍

iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。

安装

wget http://linux.linzhihao.cn/shell/iftop.sh
sh iftop.sh

实例

默认是监控第一块网卡的流量

iftop

监控eth1

iftop -i eth1

直接显示IP, 不进行DNS反解析

iftop -n 

直接显示连接埠编号, 不显示服务名称:

iftop -N

显示某个网段进出封包流量

iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0

进入iftop的命令
进入iftop画面后的一些操作命令(注意大小写)
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。