月度归档:2015年03月

shell中` ` $( ) ${ } $(( )) [ ]的区别

一、反引号` `和$( )

在所有的unix系统中,反引号` ` 和 $( )等同,用于取结果或输出,

举例说明:

# 输出 /var/www/html/sns/index.php的文件类型
# echo `file /var/www/html/sns/index.php` 
# echo $(file /var/www/html/sns/index.php)
# 将过去24小时(-mtime –2则表示过去48小时)内修改过的文件tar在一起
# tar -zcf lastmod.tar.gz `find ./ -mtime -1 -type f -print`

继续阅读

shell 中的流程控制语句

一、条件判断

格式:

if [ 条件判断式一 ]; then
     	当条件判断式一成立时,可以进行的命令工作内容;
elif [ 条件判断式二 ]; then
     	当条件判断式二成立时,可以进行的命令工作内容;
else
     	当条件判断式一与二均不成立时,可以进行的命令工作内容;
fi

继续阅读

shell 中比较运算符的使用方法

一、关于 test 的使用

1.关于某个文档的『文档类型』判断,如 test -e filename 表示存在否
-e 该『文档』是否存在?(常用)
-f 该『文档』是否存在且为文件(file)?(常用)
-d 该『文档』是否存在且为目录(directory)?(常用)
-b 该『文档』是否存在且为一个 block device 装置?
-c 该『文档』是否存在且为一个 character device 装置?
-S 该『文档』是否存在且为一个 Socket 文件?
-p 该『文档』是否存在且为一个 FIFO (pipe) 文件?
-L 该『文档』是否存在且为一个连结文档?

继续阅读

shell 中的运算符

一、变量判断 & 内容替换

在php中,使用isset来判断变量是否存在,那在shell中是如何做的呢?

变量配置方式 str 没有申明 str 为空字符串 str 已申明非空字符串
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str=expr} str=expr
var=expr
str 不变
var=
str 不变
var=$str
var=${str:=expr} str=expr
var=expr
str=expr
var=expr
str 不变
var=$str
var=${str?expr} expr 输出至 stderr var= var=$str
var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str

没见过这么难看的运算符…

继续阅读

shell实用命令(二)

5、read

#read [-pt] variable
选项参数:
-p :后面可以接提示字符!
-t :后面可以接等待的『秒数!』

示例:
# read -p "Please keyin your name: " -t 30 named
# echo $named //检查输出

继续阅读

shell实用命令(一)

1、type

# type [-tpa] name
选项参数:
    :不加任何选项参数时,type 会显示出 name 是外部命令,还是 bash 内部命令(系统命令)
-t  :当加入 -t 参数时,type 会將 name 以下面这些字眼表示它的含义:
      file    :表示为外部命令;
      alias   :表示该命令为命令別名所设置的名称;
      builtin :表示该命令为 bash 內建的命令功能(系统命令);
-p  :如果后面接的 name 为外部命令时,才会显示完整的文档名称(路径);
-a  :将所有含 name 的命令都列出來,包含 alias
 继续阅读 

虚拟主机 Virtual Host 的设置

一、应用场景

 +--------------+----------------+---------------------+
 | 域名          | 主机ip         | 对应的主目录          |
 +--------------+----------------+---------------------+
 | www.100.com  |192.168.80.135  | /var/www/html       |
 | bbs.100.com  |192.168.80.135  | /var/www/html/bbs   |
 | sns.100.com  |192.168.80.135  | /var/www/html/sns   |
 | ftp.100.com  |192.168.80.135  | /var/www/ftp        |
 +--------------+----------------+---------------------+

继续阅读

如何创建目录保护

一、应用场景

1111在浏览器中,输入http://www.100.com/whoami_/,弹出对话框要求验证用户名、密码。
http://www.100.com 本地设置了Host,并非真正的www.100.com,-_-!
/whoami_/ 数据库管理PHPMyAdmin目录,所以目录的安全级别要求很高。
继续阅读

MySQL性能优化之show variables(三)

一、variables预览

# mysql -u root -p
mysql> show variables;
+-----------------------------------------+--------------------------+
| Variable_name                           | Value                    |
+-----------------------------------------+--------------------------+
| auto_increment_increment                | 1                        |
| auto_increment_offset                   | 1                        |
| autocommit                              | ON                       |
| automatic_sp_privileges                 | ON                       |
| back_log                                | 50                       |
| basedir                                 | /usr/                    |
| big_tables                              | OFF                      |
| binlog_cache_size                       | 32768                    |
| binlog_direct_non_transactional_updates | OFF                      |
 继续阅读 

MySQL性能优化之show status(二)

一、status预览

# mysql -u root -p
mysql> show status;
+-----------------------------------+----------+
| Variable_name                     | Value    |
+-----------------------------------+----------+
| Aborted_clients                   | 2        |
| Aborted_connects                  | 3        |
| Binlog_cache_disk_use             | 0        |
| Binlog_cache_use                  | 0        |
| Bytes_received                    | 1197     |
| Bytes_sent                        | 76191    |
| Com_admin_commands                | 0        |
| Com_assign_to_keycache            | 0        |
| Com_alter_db                      | 0        |
| Com_alter_db_upgrade              | 0        |
 继续阅读 

MySQL性能优化之show processlist(一)

一、processlist预览

# mysql -u root -p
mysql> show processlist;
+-----+--------+-----------+--------+---------+------+-------+------------------+
| Id | User    | Host      | db      | Command | Time | State | Info |
+-----+--------+-----------+--------+---------+------+-------+------------------+
| 14  | taisha | localhost | sns     | Sleep   | 19   |       | NULL |
| 19  | taisha | localhost | sns     | Sleep   | 47   |       | NULL |
| 83  | discuz | localhost | discuz  | Sleep   | 2758 |       | NULL |
| 91  | discuz | localhost | discuz  | Sleep   | 2677 |       | NULL |
| 93  | discuz | localhost | discuz  | Sleep   | 2673 |       | NULL |
| 94  | discuz | localhost | discuz  | Sleep   | 2675 |       | NULL |
| 95  | discuz | localhost | discuz  | Sleep   | 2755 |       | NULL |
| 96  | discuz | localhost | discuz  | Sleep   | 2729 |       | NULL |
| 188 | taisha | localhost | sns     | Sleep   | 76   |       | NULL |
| 190 | root   | localhost | NULL    | Query   | 0    | NULL  | show processlist |
+-----+--------+-----------+--------+---------+------+-------+------------------+

继续阅读

MySQL的配置方法

一、配置的三种方法
  • 方法1:修改/etc/my.cnf配置文件,重启MySQL后,设置生效。
  • 方法2:采用set GLOBAL方式,直接生效,重启MySQL后,设置失效。
  • 方法3:启动MySQL时,添加参数的方式(不推荐)。

继续阅读

如何计算视频服务器需要的带宽

经常会被朋友问到这个问题,粗略总结下,如何评估视频服务器需要的带宽值。

一、视频帧率、分辨率、Bit、码流、Byte的关系。

帧率是每秒图像的数量,分辨率表示每幅图像的尺寸即像素数量,码流是经过视频压缩后每秒产生的数据量,而压缩是去掉图像的空间冗余和视频的时间冗余,所 以,对于静止的场景,可以用很低的码流获得较好的图像质量,而对于剧烈运动的场景,可能用很高的码流也达不到好的图像质量,所以结论是设置帧率表示您要的 实时性,设置分辨率是您要看的图像尺寸大小,而码率的设置取决于摄像机及场景的情况,通过现场调试,直到取得一个可以接受的图像质量,就可以确定码流大 小。 继续阅读

如何配置https

测试环境:CentOS release 6.6 (Final)

一、Yum安装mod_ssl模块

1、检查是否安装

# yum list | grep mod_ssl

2、未安装,执行下面代码安装

# yum install mod_ssl.x86_64 继续阅读

vsftpd安装及配置

vsftpd英文全称very secure file transfer protocol deamon,是FTP服务器端软件中,比较常见的一种。从网上了解到ftp服务器端的软件有vsftpd 、serv-u、proftpd、FileZilla Server等,这里主要介绍vsftpd配置。

本机测试环境:CentOS release 6.6 (Final)

一、安装

1、检查是否安装

# yum list installed | grep vsftpd

2、未安装,进行yum安装

# yum install vsftpd.x86_64 继续阅读

ab压力测试工具

ab是apache自带的一种压力测试工具。ab可以直接在Web服务器本地发起测试请求,这至关重要,因为有些时候我们需要测试的仅仅是服务器的 处理性能,并不想掺杂着网络传输时间的影响。ab进行一切测试的本质都是基于HTTP的,所以可以说ab对于Web服务器软件的黑盒性能测试,获得的一切 数据和计算结果,都是可以通过HTTP来解释的。 继续阅读