Home

UUTAN Studio.

qeePHP学习第六讲带演示 qeePHP模型的CURD

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

qeePHP Qform表单验证方法介绍

任何网站总是时刻处于敌意的攻击之下,然而攻击者的胜利通常不完全依赖于其技艺或智慧,往往是网站设计者的疏忽造成的。假如你正在设计一个网站,那么有三点特别值得你注意的:

  • 用户输入
  • 软件漏洞
  • 内部任务

不管你是否认同,用户输入的确非常重要。假如你在使用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’)

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

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

qeePHP学习第三讲带演示 使用phpmyadmin操作mysql数据库

qeePHP学习第三讲带演示 使用phpmyadmin操作mysql数据库

接下来需要涉及到数据库。phpmysql向来都是最佳组合。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

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&amp;highlight=svn

演示文件:http://www.uutan.net/demo/qeephp/qeephp2.htm
演示文件下载:http://www.uutan.net/demo/qeephp/qeephp2.swf

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。

Linux实用代码–文件系统操作

这篇文档实用性很强,它不是讲某个命令的参数具体含义,而是从实际工作的角度来考虑,完成什么工作需要什么指令。

文件系统操作是最基本的操作,没有文件系统,操作系统根本就运行不了。

下面是我们经常要做的一些事情。在下面具体参数意义不解释,要了解这些

可以查询该命令帮助文档

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

08年制作的网站推荐–追忆白

ourwhite

追忆白 http://www.ourwhite.net

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

08年制作的网站推荐–约球中国网

goobo

约球中国网 http://www.goobo.cc

约球中国网是lonestone 主持开发。uutan 负责后期完善。采用fleaPHP框架制作完成,是fleaPHP不可多得的作品。将fleaPHP的数据处理能力表现得淋漓尽致。

Home

文章搜索
信息聚合
Meta

Return to page top