标签 Linux 下的文章

Unix/MAC和windows下换行总会出现以下问题:

Unix/MAC下打开windows下的文本会多出一个^M,win下打开Unix/MAC文本会变成一行。

原因是换行机制不一样,Unix下是\n(0A),mac下是\r(0D),win下是\r\n(0D0A)。导致的结果是在程序中会造成一定的混乱。

十六进制的换行

阅读剩余部分

合并多个sql文件

win:

copy *.sql merged.sql
# \b 指二进制合并,可用于图片等二进制文件
# \a 指ASCII合并
copy \b *.sql merged.sql

# 小技巧,可实现文本隐藏
copy 1.jpg/b + 2.txt/a 3.jpg

linux:

# 合并所有扩展名为.sql的文件
cat *.sql>>merged.sql

问题

老高最近遇到一个需求,linux\centos下,使用selenium技术抓取数据。本来很简单的问题,但是由于内存限制,安装X window不现实,所以一个BT的想法诞生了,是否可以在centos命令行界面运行一个虚拟的桌面,然后使用selenium控制Firefox浏览器完成一些操作,Firefox运行在虚拟的桌面中,一切操作都在命令行中完成。

Google之,发现了Xvfb,他可以新建一个虚拟的X窗口,再配合python的pyvirtualdisplay,简直就是神器!

安装

centos下:

# 安装Xvfb和pyvirtualdisplay
yum install xorg-x11-server-Xvfb
pip install pyvirtualdisplay

安装firefox和selenium

yum install firefox
pip install selenium

代码

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

参考网站:

http://selenium-python.readthedocs.org/en/latest/getting-started.html http://nullege.com/codes/search/selenium.webdriver.Remote.find_elements_by_class_name http://www.opsview.com/forum/opsview-core/how-do-i/how-do-i-install-selenium-centos-server https://gist.github.com/textarcana/5855427 http://scraping.pro/use-headless-firefox-scraping-linux/ http://serverfault.com/questions/363827/how-can-i-run-firefox-on-centos-with-no-display https://realpython.com/blog/python/headless-selenium-testing-with-python-and-phantomjs/ https://pypi.python.org/pypi/selenium

http://selenium.googlecode.com/git/docs/api/py/selenium/selenium.selenium.html#module-selenium.selenium

http://www.ibm.com/developerworks/cn/opensource/os-php-designptrns/ http://www.cnblogs.com/fnng/p/3230768.html http://www.cnblogs.com/fnng/p/3157639.html http://www.cnblogs.com/fnng/p/3157639.html

在Linux上使用sysstat

搜索iostat命令后才发现如此强大的系统监控工具!

安装

centos

yum install sysstat -y

Ubuntu

apt-get install sysstat

使用

  • iostat 工具提供CPU使用率及硬盘吞吐效率的数据;
  • mpstat 工具提供单个处理器或多个处理器相关数据;
  • sar 工具负责收集、报告并存储系统活跃的信息;
  • sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,是为sadc所设计的程序前端程序;
  • sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用
  • sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
  • sadf 显示被sar通过多种格式收集的数据;

iostat

➜ /bin iostat --help 用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ] Options are: [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } [ [...] | ALL ] ] [ [...] | ALL ] [ -p [ [,...] | ALL ] ]

参数说明: -c 输出CPU统计信息。不能与-d参数同时使用。 -d 输出设备和分区的I/O统计信息。不能与-c参数同时使用。(默认的参数是-d) -k 用“kbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。 -m 用“mbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。 -t 显示NFS目录统计信息。在内核2.6.17以及新版中才有效。 -V 显示版本号并退出。 -x 显示扩展统计信息。不能与参数-p同时使用。并且需要在内核2.5以上才能使用,因为它需要/proc/diskstats 或者 加载sysfs获取统计信息。 -n 显示NFS目录统计信息。 -h 可读性更好的NFS目录统计信息(经测试,在我的系统上跟-t,-p参数显示没什么差别,但-p参数没法与-x参数同时使用) -p 显示系统使用的块设备和它们的分区统计信息。不能与参数-x同时使用。如果命令中指定了设备名称,显示设备和它的所有分区的统计。如果使用了关键字ALL,将显示系统所有块设备和分区统计信息,即使它们没有被使用。只有在内核2.5或更新版本中有效。 interval 刷新时间间隔 count 刷新次数

实例

# 每隔2秒查询一次CPU及硬盘
iostat 2

# 每隔2秒查询一次共查询10次
iostat -c 2 4

sysstat是个很不错的系统监控软件,有兴趣的同学可以好好研究一下!