UUTAN Studio.
qeePHP学习第六讲带演示 qeePHP模型的CURD
- 2009-04-10 (星期五)
- PHP杂谈
qeePHP学习第六讲带演示 qeePHP模型的CURD
在这段视频中,将以post模型作为示例。展示了使用qeePHP操作模型是一件非常容易的事情。
第一步,创建数据库表
ub_post,ub_是在配置中使用的约定字符。
CREATE TABLE IF NOT EXISTS `ub_post` ( `post_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL, `content` text NOT NULL, `created` int(11) NOT NULL, `updated` int(11) NOT NULL, PRIMARY KEY (`post_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
第二步,使用websetup创建post模型。
post模型封装来自 post 数据表的记录及领域逻辑。其中包括指定行为插件,添加其它属性的设置,设置表与表之关的关联,自动填充指定字段,为每个字段指定数据验证规则等领域。
第三步,在控制器中编程
在控制器中,你可以轻松的使用post模型调用你想要的东西。
本视频中就演示了,使用post模型读取全部post表的数据。并在视图中显示出来。
// 使用post模型读取post表所有数据并按照created字符倒序排列 $post = Post::find()->all()->order('created DESC')->query(); // 将post表数据以数组的形式赋值给视图文件的相关参数。 $this->_view['posts'] = $post;
其它相关操作请看视频。
演示文件:http://www.uutan.net/demo/qeephp/qeephp6.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp6.swf
- Comments: 0
- Trackbacks: 0
qeePHP Qform表单验证方法介绍
- 2009-04-09 (星期四)
- PHP杂谈
任何网站总是时刻处于敌意的攻击之下,然而攻击者的胜利通常不完全依赖于其技艺或智慧,往往是网站设计者的疏忽造成的。假如你正在设计一个网站,那么有三点特别值得你注意的:
- 用户输入
- 软件漏洞
- 内部任务
不管你是否认同,用户输入的确非常重要。假如你在使用qeePHP框架开发这个网站,那么你有福了,我将在下面介绍qeePHP框架表单针对用户输入验证所做的工作。
在qeePHP框架验证中,存在着很多方法方便我们在使用qform表单时,验证用户输入数据的有效性非常重要。qeePHP的输入验证规则写在模型中,下面就是一个简单的模型:
class Sales extends QDB_ActiveRecord_Abstract { static function __define() { //~~~~~~~~~~~~~~~~~~~~~ 'validations' => array ( 'id' => array ( array('is_int', 'domain_id必须是一个整数'), ), 'title' => array ( array('is_null', '标题不能为空'), ), // ~~~~~~~~~~~~~~~~~~~~~ ), } } }
qeePHP针对表单的验证规则就在validations中,以php优美的数组存在。让我们先看下面这张表单。可以让我们一目了然的知道validator中提供了那些方法:
| Id | 方法 | 作用 | 示例 |
|---|---|---|---|
| 1 | between | 在两个值之间 | array(’between’,1,20,’该值只能在1-20的范围内’) |
| 2 | equal | 是否等于指定值 | array(’equal’,'test’,'只能为test’) |
| 3 | greater_or_equal | 大于或等于指定值 | array(’greater_or_equal’,10,’请指定值必需大于或等于10的值’) |
| 4 | greater_than | 大于指定值 | array(’greater_than’,10,’请指写必需大于10的值’) |
| 5 | is_alnum | 是否为字母加数字的组合 | array(’is_alnum’,'该值只能为字母加数字’) |
| 6 | is_alnumu | 是否是字母、数字和下划线 | array(’is_alnumu’,'只能为字母、数字和下划线的组合’) |
| 7 | is_alpha | 是否为字母 | array(’is_alpha’,'只能为字母’) |
| 8 | is_ascii | 是否是ASCII字符 | array(’is_ascii’,'只能为ASCII字符’) |
| 9 | is_binary | 是否为二进制数值 | array(’is_binary’,'请指定一个二进制的有效值’) |
| 10 | is_cntrl | 是否为控制字符 | array(’cntrl’,'指定控制字符’) |
| 11 | is_date | 是否为日期(yyyy/mm/dd, yyyy-mm-dd) | array(’is_date’,'请指定一个有效的值’) |
| 12 | is_datetime | 是否是日期+时间 (yyyy/mm/dd hh:mm:ss, yyyy-mm-dd hh:mm:ss) | array(’is_datetime’,'请指定一个有效的值’) |
| 13 | is_digits | 是否为数字 | array(’is_digits’,'指定值只能为数字’) |
| 14 | is_domain | 是否为Internet域名 | array(’is_domain’,'请指定一个域名’) |
| 15 | is_email | 是否是电子邮件地址格式 | array(’is_email’,'请正确填写邮件地址’) |
| 16 | is_float | 是否为浮点数 | array(’is_float’,'请指定一个浮点数’) |
| 17 | is_graph | 是否是可见的字符 | array(’is_graph’,'该字符不可见’) |
| 18 | is_int | 是否为整数 | array(is_int’,'请指定一个有效的值’) |
| 19 | is_ipv4 | 是否为IPv4地址 (格式: a.b.c.h) | array(’is_ipv4′,’请指定一个有效值’) |
| 20 | is_lower | 是否是全小写 | array(’is_lower’,'请写小写’) |
| 21 | is_octal | 是否为八进制数值 | array(’is_octal’,'请指定一个八进制的有效值’) |
| 22 | is_print | 是否是可打印的字符 | array(’is_print’,'必需是可打印的字符’) |
| 23 | is_punct | 是否是标点符号 | array(’is_punct’,'只能为标点符号’) |
| 24 | is_time | 是否是时间 (hh:mm:ss) | array(is_time’,'请指定一个有效值’) |
| 25 | is_type | 请指定特定类型的值 | array(’is_type’,'int’,'只能为int类型的值’) |
| 26 | is_upper | 是否是全小写 | array(’is_upper’,'请全写大写’) |
| 27 | is_whitespace | 是否是空白字符 | array(’is_whitespace’,'不能为空白字符’) |
| 28 | is_xdigits | 是否是十六进制数 | array(’is_xdigits’,'只能为十六进制数’) |
| 29 | less_or_equal | 小于或等于指定值 | array(’less_or_equal’,10,’请指定值必需小于或等于10′) |
| 30 | less_than | 小于指定值 | array(’less_than’,10,’请指定值必需小于10′) |
| 31 | max | 最大值 | array(’max’,100,’请指定小于100以内的有效值’) |
| 32 | strlen | 验证字符串长度 | array(’strlen’,5,’该值长度只能为5′) |
| 33 | max_length | 值的最大长度不能超过它 | array(’max_length’,10,’有效值长度最大值为10′) |
| 34 | min | 最小值 | array(’min’,2,’有效值的最小值为2′) |
| 35 | min_length | 值的最小长度不能小于它 | array(’min_length’,1,’有效值长度最小为1′) |
| 36 | not_empty | 不为空的值 | array(’not_empty’,'指定值不能为空’) |
| 37 | not_equal | 不等于指定值 | array(’not_equal’,'test’,'不能为test的值’) |
| 38 | not_null | 不为null的值 | array(’not_null’,'不能为null的值’) |
| 39 | not_same | 是否与指定值不完全一致 | array(’not_same’,不完全一致的值’) |
| 40 | regex | 使用正则表达式进行验证 | array(’regex’,'规则写在这里’,'规则出错写在这里’) |
| 41 | same | 是否与指定值完全一致 | array(’same’,'完全一致的值’) |
| 42 | skip_empty | 如果值为空(空字符串或者null),则跳过余下验证 | array(’skip_empty’) |
| 43 | skip_null | 如果值为null,则跳过余下验证 | array(’skip_null’) |
| 44 | skip_on_failed | 如果接下来的验证规则出错,则跳过后续的验证 | array(’skip_on_failed’) |
- Comments: 0
- Trackbacks: 0
qeePHP学习第五讲带演示 qeePHP基本设置
qeePHP学习第五讲带演示 qeePHP基本设置
qeePHP的设置很多,配置文件集中放在config里面,采用yaml格式,yaml有着比xml更简约易于使用的数据格式。
config/boot.php是网站的关键:
- 指定三种网站运行模式devel、deploy 和 test。
- 指定错误报告范围
- 指定qeePHP框架所在目录和网站关键目录的指定
- 指定网站缓存参数
environment.yaml配置网站以下内容项:
- 运行时环境
- 调度器和访问控制
- 视图、国际化和本地化
database.yaml配置网站三种运行模式的数据库连接参数。
routes.yaml是网站路由设置。它有两种写法,简单规则和正则规则
简单规则
# 简单的路由规则 # # 例如: # http://www.example.com/posts/view/23 # # 这个 url 映射到 posts 控制器的 view 方法,最后的 23 则映射为 id 参数。 # # 路由规则为: # posts_view: # pattern: /posts/view/:id # config: # id: [0-9]+ # defaults: # controller: posts # action: view
基于正则的路由规则
# 基于正则的路由规则 # # 例如: # http://www.example.com/contents-live-12423.html # # 这个 url 映射到 cms 模块的 contents 控制器的 view 方法。 # live 映射为 category 参数,而 12423 映射为 id 参数,最后的 html 映射为 format 参数。 # # 路由规则为: # contents: # regex: contents\-([a-z0-9]+)\-([0-9]+)(\.html)? # config: # $1: category # $2: id # $3: format # defaults: # module: cms # controller: contents # action: view # format: .html # # 路由规则使用了正则表达式,可以匹配任意形式的 url。
acl.yaml 访问权限规则设置,它将在下次单独讲解。
app.yaml 应用程序设置。这里是自己自定义的一些不变的常量,然后使用Q::ini(’appini/设置名’)来读取它。
演示文件:http://www.uutan.net/demo/qeephp/qeephp5.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp5.swf
- Comments: 0
- Trackbacks: 0
qeePHP学习第四讲带演示 使用websetup生成
qeePHP有两种生成网站目录方法。
第一种使用命令行,运行qeePHP中scripts目录的chili,生成网站目录。须要将php.exe添加至系统变量中才能使用。
第二种则是本文讲途的使用websetup生成网站目录。它能生成两种程序目录。默认程序模板中,将public定要网站根目录,有利于保护其它执行文件不被外部访问。但需要修改服务器配置文件,要求权限多。第二种为虚拟主机应用程序模板,并对虚拟主机下运行的qeePHP程序安全性问题做了相应的修改。
在我们生成网站之前,需要经常用qeePHP应用程序生成器websetup。因些有必要将它的链接放在首页,以助使用便利。在D:/qeephp/htdocs下新建文件index.html:
<html> <head> <title>qeePHP</title> </head> <body> <a href="qeephp/scripts/web_chili.php">websetup生成器</a> </body> </html>
在输入应用程序中名称中,输入你想要生成的网站名称目录,如ublog。该名称将用来当目录名称。因此不要输入中文或一些特殊的字符。输入程序生成的地址:D:/qeephp/htdocs。选择你想要生成的程序模板。然后点开始创建,整个网站的模型就建成了。
演示文件:http://www.uutan.net/demo/qeephp/qeephp4.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp4.swf
- Comments: 0
- Trackbacks: 0
qeePHP学习第三讲带演示 使用phpmyadmin操作mysql数据库
qeePHP学习第三讲带演示 使用phpmyadmin操作mysql数据库
接下来需要涉及到数据库。php与mysql向来都是最佳组合。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成 本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址 是:www.mysql.com。
接上一讲,启动APMXE。从 http://www.phpmyadmin.net/ 下载最新版 phpMyAdmin,解压缩后,将文件复制到D:qeephphtdocs,并改名为phpmyadmin。双击打开phpmyadmin文件来。将 config.sample.inc.php 文件改名为 config.inc.php,并查找:
$cfg['blowfish_secret'] = '';
修改为:
// KEY 替换为任意字符串,用于加密 cookie $cfg['blowfish_secret'] = 'KEY'; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; // 允许不带密码的 root 用户登录 $cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;
然后打开浏览器,输入http://localhost/phpmyadmin/index.php
使用用户名为root账号登录,密码为空。
创建一个名叫blog的数据库。
演示文件:http://www.uutan.net/demo/qeephp/qeephp3.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp3.swf
- Comments: 0
- Trackbacks: 0
qeePHP学习第二讲带演示 使用svn下载qeePHP
获取qeePHP有两种方式。
第一种通过网页下载,qeePHP下载地址为 http://qeephp.com/projects/qeephp.
第二种方式是使用svn方式,可以获得最新版本。
下载qeePHP最新版,需要下载svn软件。推荐使用的是TortoiseSVN。官方网站为:http://tortoisesvn.net/ 。TortoiseSVN的中文介绍网址为
http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/。目前版本为1.5.9 下载地址为:http://tortoisesvn.net/downloads
TortoiseSVN是windows下功能最强、最实用的svn客户端。它与资源管理器的右键菜单集成,可以管理包括源代码在内的任何文件。它的“图标叠加(Icon Overlay)”功能,可以
让我们从文件和文件夹的图标中直观的看出它们的状态,如是否被修改等。
下载后安装就可以使用了。现在使用它来下载qeePHP。下载之前需要找到qeePHP下载源。
qeePHP稳定版源为:svn://svn.fleaphp.org/branches/qeephp-2.1
qeePHP最新代码源为:svn://svn.fleaphp.org/trunk/qeephp
接第一讲,我们在D:qeePHPhtdocs目录中新建文件为qeePHP,在qeePHP文件夹上点击右键。点击svn检出。将qeePHP稳定版源输入至版本库URL文件框,再点确定。qeePHP检出完成。后再查看源码。
qeePHP的svn仓库目录结构规范化介绍网址为:http://qeephp.com/bbs/viewthread.php?tid=4930&highlight=svn
演示文件:http://www.uutan.net/demo/qeephp/qeephp2.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp2.swf
- Comments: 0
- Trackbacks: 0
qeePHP学习第一讲带演示 php环境
什么是PHP
php的官方网站:http://www.php.net/
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。
PHP 是一种 HTML 内嵌式的语言,PHP一种在服务器端执行的嵌
入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或
者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行
,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执
行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码
就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能
PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。
在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本
、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发
布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了
1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,
PHP4.0又问世了,其中增加了许多新的特性。
不说那么多了,在学习qeePHP框架之前,要求你会一点PHP语言,或者C语言。能用PHP写一些与HTML交互的表单。操作mysql数据库。同时要求有一颗积极向上的心。
php在windows下的安装环境很复杂,还有与之配合的mysql数据库,IIS或Apache。 而这些知识并不是我想要讲途的范畴内。因此,我们使用一些集成的包来开发PHP程序。
首先下载去APM Express集成运行环境。APM Express集成运行环境 是一个集成了 Apache 2.2、PHP5 以及
MySQL 5 的绿色集成运行环境,简称为“APMXE”。解压缩即可使用,不写入任何系统文件,100% 绿色。
APM Express 下载地址: http://qeephp.com/projects/apmxe
解压后会看到apmxe-7z-sfx-2009-01-20.exe的文件。双击安装至你指定的盘符目录,我安装的D:qeePHP中。然后双击apmxe.exe即可启动。第一次启动时,Windows XP SP2 会提
示 apache.exe 和 mysqld-nt.exe 需要访问网络。只有运行这两个程序访问网络才能正常使用。启动后,在右下角会出现一个配置的图标,那就是APMXE图标,点击左键或右键查
看apache/mysql控制可以看到apache和mysql是否在运行状态。
APMXE的参数修改请参考:http://qeephp.com/bbs/viewthread.php?tid=70
写测试文件,测试保存在D:qeePHPhtdocs目录中:info.php 里面包含代码为:
<?php phpinfo(); ?>
然后使用http://localhost/info.php访问,即可以看到php环境。
演示文件:http://www.uutan.net/demo/qeephp/qeephp1.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp1.swf
注: 很多朋友会碰到Apache无法启动的事。那一般是因为使用一些占用80端的软件,将那些软件退出后,再启动Apache。
- Comments: 0
- Trackbacks: 0
Linux实用代码–文件系统操作
- 2009-03-08 (星期天)
- PHP杂谈
这篇文档实用性很强,它不是讲某个命令的参数具体含义,而是从实际工作的角度来考虑,完成什么工作需要什么指令。
文件系统操作是最基本的操作,没有文件系统,操作系统根本就运行不了。
下面是我们经常要做的一些事情。在下面具体参数意义不解释,要了解这些
可以查询该命令帮助文档
1. 创建目录
mkdir
NO1. 在当前路径创建一级目录
[root@rehat root]# mkdir test
NO2. 在当前路径创建多级目录
[root@rehat root]# mkdir -p mytest/test1/test1_1
NO3. 在创建目录的同时给新建的目录赋权限
[root@rehat root]# mkdir -m 777 testmod
这样任何人对此目录都有任何权限
2. 复制文件与文件夹
cp
NO1. 复制指定目录的文件到当前目录,并重命名
[root@rehat root]# cp ~/.bashrc bashrc_bak
NO2. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件
[root@rehat root]# cp -f ~/.bashrc bashrc
NO2. 复制指定目录到当前目录
[root@rehat root]# cp -r /root/test .
[root@rehat root]# cp -r /root/test/ .
两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。
NO3. 复制指定目录的文件到指定目录
[root@rehat root]# cp ~/.bashrc /bak/.bashrc
NO4. 在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。
[root@rehat root]# cp -a ~/.bashrc /bak/.bashrc
NO5. 若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。
[root@rehat root]# cp -u /src/.bashrc /bak_src/bashrc
3. 建立链接文件,包括硬链接与软链接
ln
NO1. 建立类似于 Windows 的快捷方式
[root@rehat root]# ln -s test.txt test.txt_slnk
NO2. 当想备份一个文件,但空间又不够,则可以为该文件建立一个硬连接。这样,就算原文件删除了,只要该
链接文件没被删除,则在存储空间里还是没有被删除。
[root@rehat root]# ln -l test.txt test.txt_hlnk
4. 删除文件
rm
NO1. 删除当前目录的文件
[root@rehat root]# rm test.txt
NO2. 强制删除当前目录的文件,不弹出提示
[root@rehat root]# rm -f test.txt
NO3. 强制删除整个目录,包括目录与文件全部删除,需要管理员权限
[root@rehat root]# rm -r -f test
5. 删除文件夹
rmdir
NO1. 删除一个空目录
[root@rehat root]# rmdir emptydir
NO2. 删除多级空目录
[root@rehat root]# rmdir -p emptydir/d1/d11
6. 挂载文件系统与卸载文件系统
mount / umount
NO1. 挂载光驱
[root@rehat root]# mount -t iso9660 /dev/cdrom /mnt/cdrom
NO2. 挂载光驱,支持中文
[root@rehat root]# mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
NO3. 挂载 Windows 分区,FAT文件系统
[root@rehat root]# mount -t vfat /dev/hda3 /mnt/cdrom
NO4. 挂载 Windows 分区,NTFS文件系统
[root@rehat root]# mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
No5. 挂载 ISO 文件
[root@rehat root]# mount -o loop /abc.iso /mnt/cdrom
NO6. 挂载 软驱
[root@rehat root]# mount /dev/fd0 /mnt/floppy
NO7. 挂载闪盘
[root@rehat root]# mount /dev/sda1 /mnt/cdrom
NO8. 挂载 Windows 操作系统共享的文件夹
[root@rehat root]# mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
NO9. 显示挂载的文件系统
[root@rehat root]# mount
[root@rehat root]# cat /etc/fstab 显示系统启动自动加载的文件系统
[root@rehat root]# cat /etc/mtab 显示当前加载的文件系统
7. 检查磁盘空间
df
NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s
[root@rehat root]# df -aT
NO2. 显示指定文件系统的空间使用情况
[root@rehat root]# df -t ext3
NO3. 人性化显示各存储空间大小
[root@rehat root]# df -ah
NO4. 有时候挂载了网络文件系统,若只想看本机的文件系统用如下命令
[root@rehat root]# df -ahlT
NO5. 查看某个文件系统的磁盘使用情况
[root@rehat root]# df -h /dev/cdrom
8. 检查目录空间大小
du
NO1. 查看当前文件夹大小
[root@rehat root]# du -sh
NO2. 查看当前文件及文件中包含的子文件夹大小
[root@rehat root]# du -ch
NO3. 查看文件的大小
[root@rehat root]# du -h test1.txt
NO4. 同时查看多个文件的大小
[root@rehat root]# du -h test1.txt test2.txt
9. 磁盘碎片整理
linux 下基本上不用碎片整理,它每隔一段时间会自动整理
10. 创建/改变文件系统
NO1. 创建文件系统类型
[root@rehat root]# umount /dev/sdb1
[root@rehat root]# mkfs -t ext3 /dev/db1
[root@rehat root]# mount /dev/sdb1 /practice
11. 改变文件或文件夹权限
chmod
NO1. 将自己的笔记设为只有自己才能看
[root@rehat root]# chmod go-rwx test.txt
或者
[root@rehat root]# chmod 700 test.txt
NO2. 同时修改多个文件的权限
[root@rehat root]# chmod 700 test1.txt test2.txt
NO3. 修改一个目录的权限,包括其子目录及文件
[root@rehat root]# chmod 700 -R test
12. 改变文件或文件夹拥有者
chown 该命令只有 root 才能使用
NO1. 更改某个文件的拥有者
[root@rehat root]# chown jim:usergroup test.txt
NO2. 更改某个目录的拥有者,并包含子目录
[root@rehat root]# chown jim:usergroup -R test
13. 查看文本文件内容
cat
NO1. 查看文件内容,并在每行前面加上行号
[root@rehat root]# cat -n test.txt
NO2. 查看文件内容,在不是空行的前面加上行号
[root@rehat root]# cat -b test.txt
NO3. 合并两个文件的内容
[root@rehat root]# cat test1.txt test2.txt > test_new.txt
NO4. 全并两具文件的内容,并追回到一个文件
[root@rehat root]# cat test1.txt test2.txt >> test_total.txt
NO5. 清空某个文件的内容
[root@rehat root]# cat /dev/null > test.txt
NO6. 创建一个新的文件
[root@rehat root]# cat > new.txt 按 CTRL + C 结束录入
14. 编辑文件文件
vi
NO1. 新建档案文件
[root@rehat root]# vi newfile.txt
NO2. 修改档案文件
[root@rehat root]# vi test.txt test.txt 已存在
NO3. vi 的两种工作模式:命令模式,编辑模式
NO4. 进入 vi 后为命令模式,按 Insrt 键进入编辑模式
按 ESC 进入命令模式,在命令模式不能编辑,只能输入命令
NO5. 命令模式常用命令
:w 保存当前文档
:q 直接退出 vi
:wq 先保存后退出
15. 路径操作
cd pwd
NO1. 显示当前路径
[root@rehat root]# pwd
NO2. 返回用户主目录
[root@rehat root]# cd
NO3. 改变到其它路径
[root@rehat root]# cd /etc
NO4. 返回到上一级目录
[root@rehat root]# cd ..
NO5. 返回到根目录
[root@rehat root]# cd /
16. 查询文件或文件夹
find
NO1. 查找当前用户主目录下的所有文件
[root@rehat root]# find ~
NO2. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
[root@rehat root]# find . -perm 644 -exec ls -l {} ;
NO3. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
[root@rehat root]# find / size 0 -type f -exec ls -l {} ;
NO4. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;
[root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} ;
NO5. 为/找系统中所有属于root组的文件;
[root@rehat root]# find / -group root -exec ls -l {} ;
NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件
[root@rehat root]# find . -name “admin.log[0-9][0-9][0-9]” -atime -7 -ok rm { } ;
NO7. 为了查找当前文件系统中的所有目录并排序
[root@rehat root]# find . -type d | sort
NO8. 为了查找系统中所有的rmt磁带设备
[root@rehat root]# find /dev/rmt
17. 显示文件/文件夹清单
ls / dir
NO1. 显示所有文件,包括以.开头的隐含文件
[root@rehat root]# ls -a
NO2. 显示文件的详细信息
[root@rehat root]# ls -l
NO3. 显示当前目录及所有子目录信息
[root@rehat root]# ls -Rl
NO4. 以时间排序显示目录,这在找最新文件有用
[root@rehat root]# ls -tl
NO5. 以文件大小排序
[root@rehat root]# ls -Sl
NO6. 显示文件大小,并按大小排序
[root@rehat root]# ls -s -l -S
18. 移动或更改文件/文件夹名称
mv 与 cp命令用法相似
NO1. 若移动目标文件已存在,要在移动之前,先备份原来的目录文件
[root@rehat root]# mv -b test.txt test2/
这样在 test2 下将有两个文件 test.txt 及 text.txt~
其中 test.txt~ 是备份文件,test.txt是新的文件
NO2. 若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖
[root@rehat root]# mv -f test.txt test2/
NO3. 当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动
[root@rehat root]# mv -u test.txt test2/
NO4. 更改文件名称
[root@rehat root]# mv test.txt test2.txt
NO5. 更改目录名称
[root@rehat root]# mv /test2 /test2_2
- Comments: 0
- Trackbacks: 0
08年制作的网站推荐–追忆白
- 2009-03-06 (星期五)
- 作品展示

追忆白 http://www.ourwhite.net
追忆白是玄的一块静土,在那里,找不到一丝商业气息。一群群非常安静的人扎根在这里。因为了有这些小白白(泛指追忆白的用户),成就了追忆白的生命。留下了很多非常优美华丽的词藻,这些内容不断的被各大编辑们发表在大小不一的报纸杂志上。uutan studio有幸陪着追忆白走过了三个年头,负责程序升级和安全稳定的运行。曾记得从asp的DVBBS程序转换至discuz程序时,全站的数据花却了整整一晚的时间,由此可见数据量之大。现在追忆白出杂志了,还有光碟。非常值得收藏。如果大家有需要,推荐你去淘宝网去购买,在搜索框中打上追忆白三个字即可看到。
- Comments: 0
- Trackbacks: 0
08年制作的网站推荐–约球中国网
- 2009-03-05 (星期四)
- 作品展示

约球中国网 http://www.goobo.cc
约球中国网是lonestone 主持开发。uutan 负责后期完善。采用fleaPHP框架制作完成,是fleaPHP不可多得的作品。将fleaPHP的数据处理能力表现得淋漓尽致。
- Comments: 0
- Trackbacks: 0
- 文章搜索
- 信息聚合
- Meta