如何提取python中的一列
1 | >>> arr |
1 | >>> arr |
Mac系统中除了使用dmg、pkg的格式来安装软件,比较方便的还有MacPorts和brew软件,这两个软件类似Linux下面的yum和apt,可以帮助快速地解决依赖,按照软件。
这里说一下MacPorts的按照与使用,详细信息可以参考官网MacPorts
下载:
加入环境
安装结束后还暂时不能使用,需要将/opt/local/bin
和/opt/local/sbin
添加到$PATH
搜索路径中,编辑/etc/profile
文件中,加上
1 | export PATH=/opt/local/bin:$PATH |
Mac Port中第三方软件下载包存放的默认路径是:/opt/local/var/macports/distfiles/
使用Mac Port前应该首先更新Port的index
1 | # 更新ports tree和MacPorts版本,强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程。 |
Linux stat
命令用于显示 inode 内容。
话说这个inode是个什么东西呢?对于存储在硬盘上的文件,特别是Linux的概念就是,一切皆文件。其最小的存储单元为512字节即一个扇区sector;在读取文件的时候,为了提高效率,是按照4KB的块block来读取的,所以这样看来每次读取了8个sector。而对于每个文件为了索引,其元数据的各种信息就是stat
获取的,用于描述创建者、文件的各种日期、大小等等等等信息,这个元数据的id就可以认为是inode了,以上。
官方的定义为:
stat - display file or file system status
用法为:
1 | $ stat [options] filename/directory |
其中的参数为:
-L
, --dereference
: 不显示链接的原始文件
-f
, --file-system
:显示文件系统状态
--printf=FORMAT
: 与C语言的类似,不过看着转义符更多一些
-t
, --terse
:超级简介的模式
最简单的其实也是最有用的,直接跟上文件或者目录,如下:
1 | $ stat text.txt |
各个段的解释为:
参数-f
将显示文件系统信息,可以看到Type:xfs这个信息。
1 | $ stat -f text.txt |
--printf=FORMAT
选项可以跟的FORMAT有很多,较常用为:
格式化字符串 | 含义 |
---|---|
%A | 易读的访问状态 |
%B | 每个块的大小(单位为字节) |
%d | 十进制的设备号 |
%F | 文件类型 |
%G | 所有者的组名 |
%i | inode数字 |
%m | 挂载点 |
%n | 文件名 |
%s | 总大小(单位:字节) |
%U | 所有者的用户名 |
%w | 易读的文件生成时间(大写的为Epoch) |
%x | 易读的文件访问时间(大写的为Epoch) |
%y | 易读的文件修改时间(大写的为Epoch) |
%z | 易读的文件上一次修改状态时间(大写的为Epoch) |
下面的这个命令可以实现类似ls -l
的用法,可以扩展更多,也可以自定义使用,比如alias
等等。
1 | $ stat --print="%A. %U %G %s %x %n \n" text.txt |
Linux stat
命令用于显示 inode 内容。
话说这个inode是个什么东西呢?对于存储在硬盘上的文件,特别是Linux的概念就是,一切皆文件。其最小的存储单元为512字节即一个扇区sector;在读取文件的时候,为了提高效率,是按照4KB的块block来读取的,所以这样看来每次读取了8个sector。而对于每个文件为了索引,其元数据的各种信息就是stat
获取的,用于描述创建者、文件的各种日期、大小等等等等信息,这个元数据的id就可以认为是inode了,以上。
官方的定义为:
stat - display file or file system status
用法为:
1 | $ stat [options] filename/directory |
其中的参数为:
-L
, --dereference
: 不显示链接的原始文件
-f
, --file-system
:显示文件系统状态
--printf=FORMAT
: 与C语言的类似,不过看着转义符更多一些
-t
, --terse
:超级简介的模式
最简单的其实也是最有用的,直接跟上文件或者目录,如下:
1 | $ stat text.txt |
各个段的解释为:
参数-f
将显示文件系统信息,可以看到Type:xfs这个信息。
1 | $ stat -f text.txt |
--printf=FORMAT
选项可以跟的FORMAT有很多,较常用为:
格式化字符串 | 含义 |
---|---|
%A | 易读的访问状态 |
%B | 每个块的大小(单位为字节) |
%d | 十进制的设备号 |
%F | 文件类型 |
%G | 所有者的组名 |
%i | inode数字 |
%m | 挂载点 |
%n | 文件名 |
%s | 总大小(单位:字节) |
%U | 所有者的用户名 |
%w | 易读的文件生成时间(大写的为Epoch) |
%x | 易读的文件访问时间(大写的为Epoch) |
%y | 易读的文件修改时间(大写的为Epoch) |
%z | 易读的文件上一次修改状态时间(大写的为Epoch) |
下面的这个命令可以实现类似ls -l
的用法,可以扩展更多,也可以自定义使用,比如alias
等等。
1 | $ stat --print="%A. %U %G %s %x %n \n" text.txt |
如今网络上有很多针对 Mac 平台的代码编辑器,因此要找到正确的、最适合你的代码编辑器可能需要一段时间。这里主要整理了 13 款实用的代码编辑器,一些是免费、开源的,也有一些收费的,但你可以免费试用.
Espresso是一款功能强大的代码编辑工具,拥有专业检查与分类、语法高亮、优雅的导航、即时预览、同步功能等,具有惊人的可扩展能力和速度,支持代码折叠,还能以dom方式呈现。Espresso还整合了CSSEdit 3的功能特性。
TextMate把苹果OS X操作系统体验带进了编辑器的世界,整合了UNIX内核和苹果GUI两者的优点。TextMate的设计使有经验的开发者和新用户都很受益。
Aptana Studio 3是一个用于Web开发的开源工具。它能够让开发人员使用单一环境来测试Web应用程序。Aptana支持HTML5、CSS3、JavaScript、Ruby、Rails、PHP和Python。它提供了非常多的功能,包括代码辅助编辑器、调试器、部署向导和IDE自定义。
Taco HTML是Mac里首屈一指的HTML和PHP编辑器。作为一个HTML编辑器,Taco HTML使得用户能够快速创建自己的网站。它是专为Mac OS X设计的,并拥有许多先进功能,包括拼写检查、浏览器即时预览、PHP预览、语法检查等。
Tumult HyperEdit是一个轻盈的HTML编辑器,当你在输入时,便可即时查看网页的预览效果。HyperEdit 打破了HTML代码编写的繁琐周期——储存文件、然后在浏览器中载入、观看页面、在浏览器及编辑窗口中切换调试。它实现了撰写、修改与预览的同步进行,加快了整个页面设计的进程。W3C验证会将错误的语法用红色的下划线标记出来。它内嵌了与Safari相同的渲染引擎,因此不仅符合标准而且速度还非常快。
Adobe Dreamweaver CS6提供了一套直观的可视界面,供你创建和编辑网站。新的流体网格布局专为自适应网格版面创建网页,这个网格版面是跨平台兼容性设计的。在发布前,可以使用“多屏幕预览“来审阅您的设计。
Coda 2是Mac版网页编辑器,它整合了终端、文字编辑器、CSS编辑器、内容发布等整个Web开发流程所需工具。新版本的Coda 2增加了诸多新的特性和功能,进行了新的用户界面设计。新增了可实现快速导航的滚动标签栏,整合了CSS、用户函数/变量补全、智能缩进、代码折叠等特性,支持Git版本管理,内置了MySQL编辑器。
SKEdit编辑器使你更容易创建和维护网站,它拥有所有必要的功能,如代码提示、代码折叠、FTP / SFTP的集成、Subversion的集成,它支持HTML、CSS、PHP、Cold Fusion、Ruby、SQL等编程语言。它包括一个代码库,你可以用最喜爱的脚本语言来编写脚本,并随时跟踪最常用的代码片段。
使用磁盘或FTP浏览器来查看和打开本地或远程卷的文件。
在磁盘浏览器、多文件搜索结果窗口、项目窗口上编辑文件。可以在多窗口中编辑单一文件!
创建BBEdit项目组,并在一个单一的窗口编辑相关文件,不用管它们在磁盘上的位置。
可以使用内置的Open from FTP/SFTP Server和Save to FTP/SFTP Server命令在FTP/SFTP服务器上直接创建文件;也可以使用Interarchy、Fetch、Transmit或任何其他支持“BBEdit编辑”的文件传输客户端。
Open File by Name操作可以让你快速访问BBEdit项目(或Xcode项目)中的内容。
TextWrangler是一款全能的文本编辑器。与BBEdit的区别是它有丰富的专业功能集,包括Web创作功能和软件开发工具。
EditRocket提供了必要的工具和功能,允许开发者编辑、创建、调试,并且快速、方便地浏览源代码。
Komodo Edit可以在 Windows、Mac 和 Linux 上运行,并支持PHP、Python、Ruby、JavaScript、Perl、TCL、XML、HTML5以及CSS3。另有后台语法检测、颜色匹配、错误捕捉、自动补齐、Fast Open、远程文件编辑、Vi快捷键、shell命令集、宏指令和代码片段等特性。值得一提的是,该IDE为用户提供了丰富的可扩展功能,支持类似firefox的.xpi扩展。
Name | 简介 |
---|---|
ext2 | 老牌 Linux 文件系统,不支援 journaling。 |
ext3 | 当今各大 Linux 预设使用的文件系统。支援 journaling。 |
ext3 (data) | 加上 journal_data 功能的 ext3。 |
ext4 | ext3 的下一版本。已正式进入 kernel 2.6.28 中。 |
reiserfs | 号称最快的 FS。Linux 上第一个支援 journaling 的文件系统。 |
reiserfs (data) | 加上 journal_data 功能的 reiserfs。 |
reiser4 | reiserfs 的下一版。(尚未进入 kernel 中) |
jfs | 由 IBM 所开发的 journaling 型文件系统。已停止开发。 |
xfs | 由 SGI 所开发的 journaling 型文件系统。 |
vfat | 古老 DOS/Windows 文件系统,不支援 journaling。 |
ntfs | 现今 Windows 的主流文件系统。在 Linux 上是经由 fuse 来支援 ntfs。 |
zfs | 由 Sun 所开发的终极文件系统。在 Linux 上是经由 fuse 来支援 zfs。 |
btrfs | 下一代 Linux 预设使用的文件系统。已进入 kernel 2.6.29 RC1 的测试分支中。 |
详情参考 : http://www.cnblogs.com/tommyli/p/3201047.html
应为原文:
还有一篇相关介绍:
http://www.phoronix.com/scan.php?page=article&item=ext4_benchmarks&num=2
另一篇:http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=214&blogId=1
以下部分主要关于ext4:
Linux kernel 自 2.6.28开 始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:
文章写在2012年,目前最新的很多操作系统发行版,比如CentOS,已经内置支持了xfs文件系统,大部分的操作均可省略了。
XFS
文件系统XFS
文件系统是SGI开发的高级日志文件系统,XFS
极具伸缩性,非常健壮。
在Linux
环境下。目前版本可用的最新XFS
文件系统的为1.2版本,可以很好地工作在2.4核心下。
XFS
文件系统简介主要特性包括以下几点:
数据完全性
采用XFS
文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性
XFS
文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS
查询与分配存储空间非常快。XFS
文件系统能连续提供快速的反应时间。笔者曾经对XFS
、JFS
、Ext3
、ReiserFS
文件系统进行过测试,XFS
文件文件系统的性能表现相当出众。
可扩展性
XFS
是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes
。
XFS
使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS
能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽
XFS
能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
XFS
文件系统的使用下载相应版本的内核补丁,解压补丁软件包,对系统核心打补丁。
下载地址:ftp://oss.sgi.com/projects/xfs/d … .4.18-all.patch.bz2
对核心打补丁,下载解压后,得到一个文件:xfs-1.1-2.4.18-all.patch文件。
对核心进行修补如下:
1 | # cd /usr/src/linux |
修补工作完成后,下一步要进行的工作是编译核心,将XFS
编译进Linux
核心可中。
首先运行以下命令,选择核心支持XFS
文件系统:
1 | #make menuconfig |
在“文件系统“菜单中选择:
<*> SGI XFS
filesystem support ##说明:将xfs文件系统的支持编译进核心或 SGI XFS
。 filesystem support ##说明:以动态加载模块的方式支持XFS
文件系统。
另外还有两个选择:
Enable XFS
DMAPI ##说明:对磁盘管理的API,存储管理应用程序使用。
Enable XFS
Quota ##说明:支持配合Quota对用户使用磁盘空间大小管理。
完成上工作后,退出并保存核心选择配置。之后,然后编译内核,安装核心:
1 | # make bzImage |
如果你对以上复杂繁琐的工作没有耐心或没有把握,那么可以直接从SGI的站点上下载已经打好补丁的核心,其版本为2.4.18。它是一个rpm软件包,你只要简单地安装即可。SGI提交的核心有两种,分别供smp及单处理器的机器使用。
XFS
文件系统完成对核心的编译后,还应下载与之配套的xfsprogs工具软件包,也即mkfs.xfs工具。不然我们无法完成对分区的格式化:即无法将一个分区格式化成XFS
文件系统的格式。要下载的软件包名称:xfsprogs-2.0.3。
将所下载的xfsProgs工具解压,安装,mkfs.xfs自动安装在/sbin目录下。
1 | # tar –xvf xfsprogs-2.0.3.src.tar.gz |
使用mkfs.xfs格式化磁盘为XFS
文件系统,方法如下:
1 | # /sbin/mkfs.xfs /dev/sda6 #说明:将分区格式化为`XFS`文件系统 |
格式化磁盘时,如果mkfs.xfs提示你分区原本已被格式化为其它文件系统,可以使用参数 –f 强行格式化:
1 | #/sbin/mkfs.xfs –f /dev/sda6 |
XFS
文件系统1 | #mount –t xfs /dev/sda6 /xfs ##其中/xfs是主分区/下的一个目录。 |
最后,为了让系统启动后就自动加载,应该更改/etc/fstab,这样系统启动后就会自动加载XFS
分区而不必每次都手工加载。
要说明的一点是目前的XFS
由于受Linux
内存页限制,在x86版本中,只能实现文件系统的块尺寸为4K。另外,XFS
文件系统可以不同的方式 mount,即允许文件系统以读方式加载,也允许以读写方式加载。这是因为XFS
文件系统用作根文件系统时,为了安全要以只读方式加载。
在linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping
了。
官方定义为:
ping - send ICMP ECHO_REQUEST to network hosts
ping
命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性。
ping
使用ICMP传输协议,通过发送ICMP ECHO_REQUEST数据包到网络主机,并显示返回的相应情况,根据这些信息就可以判断目标主机是否可以访问,在发送的过程中还会有一个时间戳用来计算网络的状态。
不过有些服务器为了防止通过ping
探测到,可能会在防火墙或者内核参数中禁止ping
命令,这样的话,可能虽然目标主机可以访问,但是无法ping
通,所以并不能说ping
不通的网络就是不能访问的。
需要注意linux下的ping和windows下的ping稍有区别,linux下ping不会自动终止,需要按ctrl+c终止或者用参数-c指定要求完成的回应次数。
ping
的使用说实话挺复杂,挺多的,不过常用的这篇短文基本就够了。
详细如下:
1 | # ALL |
参数说明:
-c
<完成次数> 设置完成要求回应的次数。
-i interval
指定收发信息的间隔时间。
如果不加任何参数,查看是否ping
通
1 | $ ping www.baidu.com |
可以看到可以ping
通www.baidu.com,时延还算比较OK,几个毫秒量级。
这里看一下几个字段的含义,其中:
56(84) bytes of data:表示默认的数据包长度为56字节;
time=5.56ms:表示响应的时间,值越小,证明连接越快;
TTL=52:TTL是Time To Live的缩写,表示DNS记录在DNS服务器上存在的时间,是IP协议包的一个值,告诉路由器啥时候抛弃这个数据包,(大体上可以通过这个值来判断目标类型的操作系统。)
可以通过 参数-c
来发送指定数目的包后停止
1 | $ ping www.baidu.com -c 5 |
此时将在发送5次数据包以后自动停止,在Linux里面,如果不加这个参数,是会一直发送运行的。
可以通过 参数 -i N
指定每个N秒发送一次信息,如下将每隔3秒发送一次ping
信息。
1 | $ ping www.baidu.com -i 3 |
如上,每隔3秒会发送一次,对于需要持续检测或者记录的可以考虑适当加大这个时间间隔。
注意,只有管理员可以设置小于0.2秒的时间间隔。所以这个数值可以是浮点数~
上面的几个例子是可以配合使用的,比如
1 | $ ping www.baidu.com -c 4 -i 5 |
这个例子为:每个5秒查询一次,一共查询4次,然后退出。
在linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping
了。
官方定义为:
ping - send ICMP ECHO_REQUEST to network hosts
ping
命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性。
ping
使用ICMP传输协议,通过发送ICMP ECHO_REQUEST数据包到网络主机,并显示返回的相应情况,根据这些信息就可以判断目标主机是否可以访问,在发送的过程中还会有一个时间戳用来计算网络的状态。
不过有些服务器为了防止通过ping
探测到,可能会在防火墙或者内核参数中禁止ping
命令,这样的话,可能虽然目标主机可以访问,但是无法ping
通,所以并不能说ping
不通的网络就是不能访问的。
需要注意linux下的ping和windows下的ping稍有区别,linux下ping不会自动终止,需要按ctrl+c终止或者用参数-c指定要求完成的回应次数。
ping
的使用说实话挺复杂,挺多的,不过常用的这篇短文基本就够了。
详细如下:
1 | # ALL |
参数说明:
-c
<完成次数> 设置完成要求回应的次数。
-i interval
指定收发信息的间隔时间。
如果不加任何参数,查看是否ping
通
1 | $ ping www.baidu.com |
可以看到可以ping
通www.baidu.com,时延还算比较OK,几个毫秒量级。
这里看一下几个字段的含义,其中:
56(84) bytes of data:表示默认的数据包长度为56字节;
time=5.56ms:表示响应的时间,值越小,证明连接越快;
TTL=52:TTL是Time To Live的缩写,表示DNS记录在DNS服务器上存在的时间,是IP协议包的一个值,告诉路由器啥时候抛弃这个数据包,(大体上可以通过这个值来判断目标类型的操作系统。)
可以通过 参数-c
来发送指定数目的包后停止
1 | $ ping www.baidu.com -c 5 |
此时将在发送5次数据包以后自动停止,在Linux里面,如果不加这个参数,是会一直发送运行的。
可以通过 参数 -i N
指定每个N秒发送一次信息,如下将每隔3秒发送一次ping
信息。
1 | $ ping www.baidu.com -i 3 |
如上,每隔3秒会发送一次,对于需要持续检测或者记录的可以考虑适当加大这个时间间隔。
注意,只有管理员可以设置小于0.2秒的时间间隔。所以这个数值可以是浮点数~
上面的几个例子是可以配合使用的,比如
1 | $ ping www.baidu.com -c 4 -i 5 |
这个例子为:每个5秒查询一次,一共查询4次,然后退出。