0%

字符串函数

concat 连接字符串
RTrim 删除右边的空格
upper 转为大写
left 返回字符串左边的字符
length 返回字符串的长度
locate 查找子字符串
lower 转为小写
LTrim 去掉左边的空格
Right 返回串右边的字符
soundex 返回串的soundex值 将任何文本转为拼音
substring 返回子串的字符

时间和日期处理函数

addDate() 增加一个日期(天,周等)
addTime() 增加一个时间(时,分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式格的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 返回星期几
Hour() 返回小时
Minute() 返回分钟
Mouth() 返回月
Now() 返回当前日期和时间
Second() 返回秒
Time() 返回时间部分
Year() 返回年

常用的数值处理函数

abs 绝对数
cos 余玄
exp 指数
mod 余数
pi 圆周率
rand 随机数
sin 正玄
sqrt 平方根
tan 角度的正切

聚集函数

avg 平均值
count 行数
max 最大值
min 最小值
sum 和

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.google.com (be patient)…..done

Server Software: GWS/2.1
Server Hostname: www.google.com
Server Port: 80

Document Path: /
Document Length: 230 bytes

Concurrency Level: 10
/整个测试持续的时间/
Time taken for tests: 3.234651 seconds
/完成的请求数量/
Complete requests: 10
/失败的请求数量/
Failed requests: 0
Write errors: 0
Non-2xx responses: 10
Keep-Alive requests: 10
/整个场景中的网络传输量/
Total transferred: 6020 bytes
/整个场景中的HTML内容传输量/
HTML transferred: 2300 bytes
/大家最关心的指标之一,相当于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值/
Requests per second: 3.09 [#/sec] (mean)
/大家最关心的指标之二,相当于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值/
Time per request: 3234.651 [ms] (mean)
/*这个还不知道是什么意思,有知道的朋友请留言,谢谢 ^_^ */
Time per request: 323.465 [ms] (mean, across all concurrent requests)
/平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题/
Transfer rate: 1.55 [Kbytes/sec] received
/网络上消耗的时间的分解,各项数据的具体算法还不是很清楚/
Connection Times (ms)
min mean[+/-sd] median max
Connect: 20 318 926.1 30 2954
Processing: 40 2160 1462.0 3034 3154
Waiting: 40 2160 1462.0 3034 3154
Total: 60 2479 1276.4 3064 3184

/下面的内容为整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中 50% 的用户响应时间小于 3064 毫秒,60 % 的用户响应时间小于 3094 毫秒,最大的响应时间小于 3184 毫秒/
Percentage of the requests served within a certain time (ms)
50% 3064
66% 3094
75% 3124
80% 3154
90% 3184
95% 3184
98% 3184
99% 3184
100% 3184 (longest request)

-n requests Number of requests to perform
//在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c concurrency Number of multiple requests to make
//一次产生的请求个数。默认是一次一个。
-t timelimit Seconds to max. wait for responses
//测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p postfile File containing data to POST
//包含了需要POST的数据的文件.
-T content-type Content-type header for POSTing
//POST数据所使用的Content-type头信息。
-v verbosity How much troubleshooting info to print
//设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-w Print out results in HTML tables
//以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i Use HEAD instead of GET
// 执行HEAD请求,而不是GET。
-C attribute Add cookie, eg. ‘Apache=1234. (repeatable)
//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
//-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

setuid

用户还有一个成为setuid(S)的特殊权限,它出现在X位置,setuid权限允许用户以其拥有者的权限来执行文件,即使这个可执行文件是由其它用户运行的
setuid是使用不是无限制的,为了安全,它只能应用在Linux ELF格式二进制文件上,而不能用于脚本文件

1
chmod +s test

粘带位

粘带位是一种应用于目录的权限类型。通过设置粘滞位,使得只有目录的所有者才能够删除目录中的文件,即使用户组和其它用户有权限也不能删除
粘带位出现在其它用户权限中x的位置。
如果没有设置执行权限,但设置了粘滞位,那么使用t; 如果同时设置了执行权限和粘滞位,就使用T

数字表示:

  • r=4
  • w=2
  • x=1

chattr

修改文件在Linux第二扩展文件系统(E2fs)上的特有属性
当修改设置了’A’属性的文件时,它的atime记录不会改变. 这可以在笔记本电脑系统中避免某些磁盘I/O处理.

  • 设置了’a’属性的文件只能在添加模式下打开用于写入. 只有超级用户可以设置或清除该属性.
  • 设置了’c’属性的文件在磁盘上由内核自动进行压缩处理. 从该文件读取时返回的是未压缩的数据. 对该文件的一次写入会在保存它们到磁盘之前进行数据压缩.
  • 设置了’d’属性的文件不能对其运行 dump(8) 程序进行备份.
  • 设置了’i’属性的文件不能进行修改:你既不能删除它, 也不能给它重新命名,你不能对该文件创建链接, 而且也不能对该文件写入任何数据. 只有超级用户可以设置或清除该属性.
  • 当删除设置了’s’属性的文件时,将对其数据块清零 并写回到磁盘上.
  • 当修改设置了’S’属性的文件时, 修改会同步写入到磁盘上;这与应用 到文件子系统上的’sync’挂载选项有相同的效果.
  • 当删除设置了’u’属性的文件时, 将会保存其内容. 这使得用户可以请求恢复被删除的文件.

UUID是什么?

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。

获取设备的UUID

1
2
3
4
sudo blkid /dev/sda1

output:
/dev/sda1: UUID="7db6e2b8-6821-476e-8dc5-00ab84bd636e" TYPE="ext2"

RFC文档 http://www.ietf.org/rfc/rfc4122.txt

locale 查看本地的语言环境
/ect/default/locale 本地语言配置文件

nano 一个文本编辑器
blkid 列出设备的UUID

apt-get update 更新软件包列表
apt-get upgrede 升级软件包
apt-get dist-update 如果运行apt-get upgrede后有些软件提示被保留,而不升级,这条可用来升级所有可用软件包
do-release-upgrade 版本升级

apt-cache 搜索某个软件包的名子,或显示软件包的信息
apt-cache show 显示软件包的信息

aptitude 高级包管理

tasksel 完成安装任务 定义到/usr/share/tasksel/ .desc 中,有图形界面

dpkg 比较底层的安装命令,以后都是调用这个

  • dpkg -l 查看某个包是否被安装
  • dpkg -L 查看软件包中包含哪些文件
  • dpkg -S /pack/to/file 查看系统中某些文件是由哪个包提供的
  • dpkg -C 查看哪些包末安装完成

sudo su 进入root用户

/etc/network/interfaces 网络配置
/etc/resolv.conf NDS配置

mc 文件管理器
mcedit mc带的一个文本编辑器

find 查找文件
locate 查找文件,在/etc/cron.daily/mlocate中查找,这个文件每天更新一次
updatedb 更新/etc/cron.daily/mlocate文件

/etc/ssh/sshd_config ssh配制

jobs 列出后台的任条
fg 将后台程序转入到前台
bg 将前台程序转入到后台

/etc/profile 环境变量文件

whereis 检查程序安装路径

/proc/cpuinfo cpu信息

getconf PAGESIZE 查看系统的页大小

跑火车的sl/LS
终端数字雨cmatrix
可能是名言警句也可能是逗你玩的笑话的fortune/fortune-zh
Linux下的ascii art演示bb
互动式小说游戏 adventure
cowsay、cowthink、banner、ddate、worms、pig

1
2
3
4
5
6
7
8
9
10
11
12

./configure –prefix=/usr/local/php –with-config-file-path=/etc \
–with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config \
–with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir
–with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml \
–disable-rpath –enable-safe-mode –enable-bcmath –enable-shmop \
–enable-sysvsem –enable-inline-optimization –with-curl \
–with-curlwrappers –enable-mbregex –enable-fpm –enable-mbstring \
–with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl \
–with-mhash –enable-pcntl –enable-sockets –with-xmlrpc \
–enable-zip –enable-soap

出现得错误如下:
错误一:
configure: error: xml2-config not found. Please check your libxml2 installation.
而我已经安装过了libxml2,但是还是有这个提示:
解决办法:

1
sudo apt-get install libxml2-dev

错误二:
configure: error: Please reinstall the BZip2 distribution
而我也已经安装了bzip2,网上找到得解决方案都是需要安装bzip2-dev,可是11.10里面没有这个库。
解决办法:在网上找到bzip2-1.0.5.tar.gz,解压,直接make ,sudo make install.(我使用的该源来自于http://ishare.iask.sina.com.cn/f/9769001.html)

错误三:
configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
解决办法:

1
sudo apt-get install libcurl4-gnutls-dev

错误四:
configure: error: jpeglib.h not found.
解决办法:

1
sudo apt-get install libjpeg-dev

错误五:
configure: error: png.h not found.
解决办法:

1
sudo apt-get install libpng-dev

错误六:
configure: error: libXpm.(a|so) not found.
解决办法:

1
sudo apt-get install libxpm-dev

错误七:
configure: error: freetype.h not found.
解决办法:

1
sudo apt-get install libfreetype6-dev

错误八:
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
解决办法:

1
sudo apt-get install libt1-dev

错误九:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法:

1
sudo apt-get install libmcrypt-dev

错误十:
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore!
解决办法:

1
sudo apt-get install libmysql++-dev

错误十一:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决办法:

1
sudo apt-get install libxslt1-dev

可见PHP源码安装之前需要先安装这些依赖,详细可见http://forum.ubuntu.org.cn/viewtopic.php?f=88&t=231159
如上错误都解决之后,再次./config….没有错误之后,

1
2
make
sudo make install