Linux 下批量建立目录

zhang 发表于 Linux 分类,标签:
4

先看看示例吧:

[wind@windphp test]$ mkdir {1..9}
[wind@windphp test]$ ls
1  2  3  4  5  6  7  8  9
[wind@windphp test]$ mkdir {a..z}
[wind@windphp test]$ ls
1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t

首先是建立1-9的9个目录, 然后是是a-z的26个目录, 这里的范围是可以自定的, 当然了, 范围要合理, 比如字母范围如果是双数就不行了哦.

如果是乱序的, 就麻烦点了. 如下:

[wind@windphp test]$ mkdir {a,1,5}
[wind@windphp test]$ ls
1  5  a

linux uniq命令:(过滤重复部分显示文件内容)

zhang 发表于 Linux 分类,
19

linux uniq命令用法
uniq [选项] 文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

该命令各选项含义如下:、

– c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

– d 只显示重复行。

– u 只显示文件中不重复的各行。

– n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

– f n 与- n相同,这里n是字段数。

– s n 与+n相同,这里n是字符数。

接下来通过实践实例说明:
===========================================
[root@stu100 ~]# cat test
boy took bat home
boy took bat home
girl took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

看test文件的内容 阅读全文 »

32位 与 64 位的区别 php

zhang 发表于 Linux, PHP 分类,
10

32位系统
echo ip2long(“172.16.1.63″);
结果 -1408237249
64位操作系统
echo ip2long(“172.16.1.63″);

结果 2886730047
32位的操作系统 整型 最大 2_32次幂 无符号数 无符号的范围是0到4294967295。
有符号数 2_32次幂 -2147483648到2147483647。
64操作系统 整型 最大 2_64次幂 无符号数 0-1.84467440737E+019
有符号数 2_64次幂 到 -9.22337203685E+018 到 9.22337203685E+018

切记64与32位系统之间的差距.与各种软件在64位与32位操作系统开发过程中要严重注意

PHP 中的整数是 C 语言的中的long 类型,是有符号的,最大值是 2^31 。在 64 位平台上,long可以达到 2^63.

  这样的话,有些PHP函数输出的结果在各个平台上就会不一致了。

  php -r “echo ip2long(’255.255.255.255′);” 在64位平台下是: 4294967295, 在32位平台下是 -1。还有比如 filesize 在 文件 大于 2G的时候,在不同的平台下结果就不一致了。

  解决这个问题很简单,sprintf(“%u”, filesize($file)). 把结果转换为 一个字符串。为什么结果会一样呢:无符号数 4294967295 的补码 和 有符号数 -1 的补码 是一样的。类似,返回值为int 最后结果可能大于 2^31 的函数,都要用这样的方法处理。

  注意,返回的虽然是一个字符串,但是,当进行四则运算的时候,PHP会自动装换。如果 数大于 2^31 会转换为 int 如果大于 了,就转换为double。
原文载自:http://hi.baidu.com/tdzpf/blog/item/49e0e81e49d4cee11ad5766c.html

Linux性能分析工具(vmstat,iostat,sar)

admin 发表于 Linux 分类,标签:
0

Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。
在Linux下有很多系统性能分析工具,比较常见的有top、free、ps、time、timex、uptime等。下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。

用vmstat监视内存使用情况

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

vmstat的语法如下:

程序代码
vmstat [-V] [-n] [delay [count]]

其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。

用iostat监视I/O子系统情况

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat的语法如下:

程序代码 阅读全文 »

Linux下zip包如何进行打包和解压小结

zhang 发表于 Linux 分类,标签: , ,
2

在linux与windows之间,常需要把一些数据进行传递,如你在windows下开发了一些东西,要把它放到Linux里去跑。或者你的日志文件在linux中存放,你想把它传到windwos下查看。像这种需要,如果是单个文件或多个文件的话,我们可以通过sz ,rz 命令来直接实现linux与win下的文件传递。可如果我们需要把多个文件夹而不是多个文件时从win传到linux 下(或者从linux传到windows下)有什么好的办法吗?有人可能会想到如果从linux传到windwos下,可以通过把多个文件夹通过tar进行打包,然后通过sz 再传递到windwos中来。可是那果想从windows把多个文件夹传到linux中去呢,大伙一起想想,这个办法有很多种,像你可以通过FTP来传到linux中去,也或者你可以通过http的下载方式把它下载到linux中去(前提是需要你在windows下把多个文件夹配置成WEB环境,可以在linux命令行直接使用wget的方式来下载),也或者把windows下的文件打成一个zip压缩包,然后通过rz 上传到服务器(这种办法比较省时省力)。当然,如果你的文件是放在svn服务器上,你可以在windows下或linux下通过svn的checkout 把文件直接复制一份过来。这里我们只对zip压缩包的方式来进行讨论。

linux zip 命令详解
功能说明:压缩文件。
语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有”.zip”扩展名的压缩文件。
参 数:
-A 调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 此参数的效果和指定”-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i<范本样式> 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串> 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t<日期时间> 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x<范本样式> 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1-9的数值。


linux unzip 命令详解

阅读全文 »

linux下的crontab 使用说明及案例

zhang 发表于 Linux 分类,标签:
0
基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。 阅读全文 »

SVN版本库中conf下配置文件详细说明

liangkun 发表于 Linux, web开发 分类,标签:
12

svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。本文详细分析了svnserve配置文件格式,并说明如何使用配置文件控制版本库访问权限。

1) svnserve配置文件概述

svnserve配置文件通常由以下3个文本文件组成:

svn服务配置文件,该文件版本库目录的conf目录下,文件名为svnserve.conf。

用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的passwd。

权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的authz。

2) svn服务配置文件

svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。

[general]配置段中配置行格式如下:

< 配置项> = < 值>

配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。

即”write”为可读可写,”read”为只读,”none”表示无访问权限。

缺省值:read

auth-access 控制鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。

即”write”为可读可写,”read”为只读,”none”表示无访问权限。

缺省值:write

password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf

目录的相对路径。

缺省值:passwd

authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

除非指定绝对路径,否则文件位置为相对conf目录的相对路径。

缺省值:authz

realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的

认证域相同,建议使用相同的用户名口令数据文件。

缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

【说明】版本库认证域

阅读全文 »

linux 下mysql的三种安装方式

zhang 发表于 Linux, mysql, 梁言坤语 分类,标签:
0

mysql的三种安装方式:RPM 二进制包和源代码

本次安装的系统平台为redhat 5

一、使用RPM包进行安装

首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm

接着我们可以使用rpm命令进行安装:
rpm -ivh MySQL-server-community-5.1.38-0.rhel5.i386.rpm
rpm -ivh MySQL-client-community-5.1.38-0.rhel5.i386.rpm

二、安装二进制包

步骤如下:

1、用root登录系统,增加mysql用户和组

groupadd mysql
useradd -g mysql mysql

2、解压二进制包,假如二进制包放在/home/mysql下,我们在解压后并增加一个符号链接

tar xvfz mysql-5.1.38-linux-i686-glibc23.tar.gz
ln -s mysql-5.1.38-linux-i686-glibc23 mysql

3、在数据库目录下创建系统数据库的表,–user表示这些数据库和表的所有者为此用户

cd mysql
./scripts/mysql_install_db –user=mysql

4、设置目录权限,将data目录的所有者改为mysql,其它目录的文件的所有者为root

chown -R root:mysql .
chown -R mysql:mysql data

5、启动mysql

./bin/mysqld_safe –user=mysql & 阅读全文 »

vim和vi的区别

zhang 发表于 Linux 分类,标签: ,
0

一直用着vi,有朋友劝我用vim,那么它们有什么区别呢?
简单点来说,它们都是多模式编辑器,
不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,
而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:

1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮
vim可以用不同的颜色来加亮你的代码。

4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。

linux下的rz及sz的安装及使用说明

zhang 发表于 Linux 分类,标签: , , ,
11

我们经常要对服务器上面的文件进行上传或下载,有什么比较简单的方法可以实现吗?我们可以利用rz和sz可以实现上面的目的。rz和sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
rz命令—上传本地文件到服务器端
即是接收文件(SecureCRT接收),SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录;

使用方法为:[root@localhost yum.repos.d]# rz  就可以。
sz命令—从服务器端下载文件到本地
sz file1 file2就是发文件到windows上(保存的目录是可以配置);

使用方法为:[[root@localhost yum.repos.d]# sz   就可以。

要是我们在命令行下使用rz或sz提示命令不对,是因为你的linux/unix服务器上面没有安装lrzsz包。

安装lrzsz包的方法如下:

[root@localhost yum.repos.d]# yum -y install lrzsz
Loading “installonlyn” plugin
Loading “rhnplugin” plugin
Loading “security” plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Package lrzsz.i386 0:0.12.20-22.1 set to be updated
–> Running transaction check

Dependencies Resolved
阅读全文 »