svn在linux下的使用(svn命令行) 删除 新增 添加 提交 状态查询 恢复

 

1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m “LogMessage” [-N] [–no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test” test.php
简写:svn ci

4、加锁/解锁
svn lock -m “LockMessage” [–force] PATH
例如:svn lock -m “lock test file” test.php
svn unlock PATH

5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up

6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

7、删除文件
svn delete path -m “delete test fle”
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)

8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息
svn info path
例如:svn info test.php

10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助
svn help
svn help ci

——————————————————————————

以上是常用命令,下面写几个不经常用的

——————————————————————————

13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls

14、创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。

15、恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录

16、代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH…]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。

17、解决冲突

svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。

18、输出指定文件或URL的内容。

svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

在linux ftp操作命令

FTP>ascii: 设定以ASCII方式传送文件(缺省值)

FTP>bell: 每完成一次文件传送,报警提示.

FTP>binary: 设定以二进制方式传送文件.

FTP>bye: 终止主机FTP进程,并退出FTP管理方式.

FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.

FTP>cd: 同UNIX的CD命令.

FTP>cdup: 返回上一级目录.

FTP>chmod: 改变远端主机的文件权限.

FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.

FTP>delete: 删除远端主机中的文件.

FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.

FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中.

FTP>help [command] 输出命令的解释.

FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.

FTP>ls [remote-directory] [local-file] 同DIR.

FTP>macdef: 定义宏命令.

FTP>mdelete [remote-files] 删除一批文件.

FTP>mget [remote-files] 从远端主机接收一批文件至本地主机.

FTP>mkdir directory-name 在远端主机中建立目录.

FTP>mput local-files 将本地主机中一批文件传送至远端主机.

FTP>open host [port] 重新建立一个新的连接.

FTP>prompt: 交互提示模式.

FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中.

FTP>pwd: 列出当前远端主机目录.

FTP>quit: 同BYE.

FTP>recv remote-file [local-file] 同GET.

FTP>rename [from] [to] 改变远端主机中的文件名.

FTP>rmdir directory-name 删除远端主机中的目录.

FTP>send local-file [remote-file] 同PUT.

FTP>status: 显示当前FTP的状态.

FTP>system: 显示远端主机系统类型.

FTP>user user-name [password] [account] 重新以别的用户名登录远端主机.

FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。

FTP>! 从 ftp 子系统退出到外壳。

如何突破封锁访问facebook、youtube、twitter 等网站

首先你先安装火狐浏览器

下载地址:http://www.firefox.com.cn/download/

然后安装 autoproxy组件

地址:https://addons.mozilla.org/zh-CN/firefox/addon/autoproxy/

安装好后点击火狐浏览器右上角的“福”标识符,选择自动模式

下面才是最有价值的内容:

打开网站http://www.sshcenter.info/

注册账号,激活账号后免费试用两天,当然也可以包年什么的

http://www.sshcenter.info/soft-download.php下载第一个软件

MyEnTunnel 3.5.2 unicode

下载后点击myentunnel.exe运行,输入账号和密码。。然后点击连接就可以了,其它的不用管。。

里面的原理和技术细节稍后我会在个人网站上说明

本文链接:http://lvxinwei.sinaapp.com/?p=272

 

 

 

常用的PHP函数之字符串处理

定义和用法

strpos() 函数返回字符串在另一个字符串中第一次出现的位置。

如果没有找到该字符串,则返回 false

语法

strpos(string,find,start)

参数 描述

string

必需。规定被搜索的字符串。

find

必需。规定要查找的字符。

start

可选。规定开始搜索的位置。

提示和注释

注释:该函数对大小写敏感。如需进行对大小写不敏感的搜索,请使用
stripos()
函数。

例子

<?php

echo strpos(“Hello world!”,”wo”);

?>

输出:

6

parse_url

(PHP 4, PHP 5)

parse_url — 解析 URL,返回其组成部分

Report a bug

说明

array parse_url ( string $url )

本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。

本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url()
会尝试尽量正确地将其解析。

Report a bug

参数

url

要解析的 URL

Report a bug

返回值

对严重不合格的 URLparse_url()
可能会返回
FALSE
并发出
E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):

  • scheme http
  • host
  • port
  • user
  • pass
  • path
  • query在问号
    ?
    之后
  • fragment在散列符号
    #
    之后

Report a bug

范例

Example #1 parse_url() 例子

<?php
$url = ‘http://username:password@hostname/path?arg=value#anchor’;

print_r(parse_url($url));
?>

以上例程会输出:

Array

(

[scheme] => http

[host] => hostname

[user] => username

[pass] => password

[path] => /path

[query] => arg=value

[fragment] => anchor

)

Report a bug

注释

Note:

本函数不能用于相对 URL

Note:

parse_url()
是专门用来解析 URL 而不是 URI 的。不过为遵从 PHP 向后兼容的需要有个例外,对 file:// 协议允许三个斜线(file:///…)。其它任何协议都不能这样。

Report a bug

参见

print_r()
显示关于一个变量的易于理解的信息。如果给出的是
string
integer
float
,将打印变量值本身。如果给出的是
array
,将会按照一定格式显示键和元素。object与数组类似。

记住,print_r()
将把数组的指针移到最后边。使用
reset()
可让指针回到开始处。

<pre>
<?php
$a = array (‘a’ => ‘apple’, ‘b’ => ‘banana’, ‘c’ => array (‘x’,‘y’,‘z’));
print_r ($a);
?>
</pre>

定义和用法

parse_str() 函数把查询字符串解析到变量中。

语法

parse_str(string,array)

参数 描述

string

必需。规定要解析的字符串。

array

可选。规定存储变量的数组名称。该参数指示变量存储到数组中。

unset — 释放给定的变量

Report a bug

描述

void unset ( mixed
$var [, mixed
$var [, $… ]] )

unset()
销毁指定的变量。注意在 PHP 3 中,unset()
将返回
TRUE(实际上是整型值 1),而在 PHP 4 中,unset()不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取
unset()
的返回值将导致解析错误。

Example #1 unset() 示例

<?php
//
销毁单个变量

unset ($foo);

// 销毁单个数组元素
unset ($bar[‘quux’]);

// 销毁一个以上的变量
unset ($foo1, $foo2, $foo3);
?>

unset()
在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

如果在函数中
unset()
一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用
unset()
之前一样的值。

<?php
function destroy_foo() {
global $foo;
unset($foo);
}

$foo = ‘bar’;
destroy_foo();
echo $foo;
?>

上边的例子将输出:

bar

http_build_query

(PHP 5)

http_build_query — 生成 URL-encode 之后的请求字符串

Report a bug

说明

string http_build_query ( array $formdata [, string $numeric_prefix ] )

使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数
formdata
可以是数组或包含属性的对象。一个
formdata数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了
numeric_prefix
参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。

Note:


arg_separator.output
来分隔参数。

Example #1 http_build_query() 使用示例

<?php
$data = array(‘foo’=>‘bar’,
‘baz’=>‘boom’,
‘cow’=>‘milk’,
‘php’=>‘hypertext processor’);

echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>

Example #2 http_build_query() 使用数字下标的元素

<?php
$data = array(‘foo’, ‘bar’, ‘baz’, ‘boom’, ‘cow’ => ‘milk’, ‘php’ =>‘hypertext processor’);

echo http_build_query($data);
/*
输出:
0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
*/

echo http_build_query($data, ‘myvar_’);
/*
输出:
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor
*/
?>

Example #3 http_build_query() 使用复杂的数组

<?php
$data = array(‘user’=>array(‘name’=>‘Bob Smith’,
‘age’=>47,
‘sex’=>‘M’,
‘dob’=>‘5/12/1956’),
‘pastimes’=>array(‘golf’, ‘opera’, ‘poker’, ‘rap’),
‘children’=>array(‘bobby’=>array(‘age’=>12,
‘sex’=>‘M’),
‘sally’=>array(‘age’=>8,
‘sex’=>‘F’)),
‘CEO’);

echo http_build_query($data, ‘flags_’);
?>

本例将输出(为可读性进行了折行):

user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%1F12%1F1956&

pastimes[0]=golf&pastimes[1]=opera&pastimes[2]=poker&pastimes[3]=rap&

children[bobby][age]=12&children[bobby][sex]=M&children[sally][age]=8&

children[sally][sex]=F&flags_0=CEO

Note:

只有基础数组中的数字下标元素“CEO”才获取了前缀,其它数字下标元素(如 pastimes 下的元素)则不需要为了合法的变量名而加上前缀。

var_dump

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

var_dump — 打印变量的相关信息

描述

void var_dump ( mixed expression [, mixed expression [, …]] )

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数的输出,并把它们保存到一个例如
string
类型的变量中。

可以比较一下
var_dump()

print_r()

例子 1. var_dump() 示例

<pre>
<?php
$a = array (1, 2, array (“a”, “b”, “c”));
var_dump ($a);
/* 输出:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) “a”
[1]=>
string(1) “b”
[2]=>
string(1) “c”
}
}
*/

$b = 3.1;
$c = TRUE;
var_dump($b,$c);

/*

输出:
float(3.1)
bool(true)
*/
?>
</pre>

ceil

(PHP 4, PHP 5)

ceil — 进一法取整

Report a bug

说明

float ceil ( float $value )

返回不小于
value
的下一个整数,
value如果有小数部分则进一位。ceil()
返回的类型仍然是
float
,因为
float
值的范围通常比
integer
要大。

Example #1 ceil() 例子

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>

参见
floor()

round()

floor — 舍去法取整

Report a bug

说明

float floor ( float $value )

返回不大于
value
的下一个整数,将
value的小数部分舍去取整。floor()
返回的类型仍然是
float
,因为
float
值的范围通常比
integer
要大。

Example #1 floor() 例子

<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
?>

参见
ceil()

round()