ftp&svn&samba使用说明   [PDF]

 

一、用户管理... 1

1. 创建用户... 1

2. 修改密码... 1

3. 删除用户... 2

4. 创建SVN版本库... 2

5. 删除SVN版本库... 2

6. 修改SVN权限... 2

二、使用ftp. 4

1. 目录设定... 4

2. 浏览器... 4

3. 我的电脑... 5

4.命令行客户端... 6

5. 图形界面客户端... 7

三、使用svn. 9

1. 创建版本库... 9

2. 删除版本库... 9

3. 操作版本库... 9

4. 注意事项... 13

四、使用samba. 14

1. 登录... 14

2. 文件操作... 15

五、综合操作... 17

1. 公共目录管理... 17

附件:... 18

附一:svn使用详解... 18

 

 



一、用户管理

用户的创建、删除与修改密码都是通过网页进行,网址:

http://wcmc.csu.edu.cn

按照提示即可完成。

1.       创建用户

2. 修改密码

admin修改其它用户密码,需要填写用户名,但不需要原来密码

3. 删除用户

 

4. 创建SVN版本库

5. 删除SVN版本库

SVN版本库只能被管理员或者创建者删除

6. 修改SVN权限

SVN默认所有用户可读,所有注册用户可读写


 

二、使用ftp                                                                 

1. 目录设定

Ø  ftp用户分为匿名用户与个人用户:匿名用户账号为anonymous,密码为任意的电子邮箱,如ftp@qq.com;个人用户为系统创建的账户,用户名和密码用户自己设定。

Ø  匿名用户的主目录对所有用户公开,在没有登录时进入的都是此目录,此目录相当于公共目录,但用户只能查看与下载文件,可以用于共享文件。

Ø  个人用户主目录只有在用户登录之后才可以访问,并且仅能访问自己的主目录,属于私人目录,可以对文件进行上传、下载和删除等操作。

Ø  个人用户主目录下有固定目录pub,不可以删除。

Ø  个人用户如果需要共享文件,可以将文件放到pub目录下,其它用户可以通过匿名用户目录下released_by_others/user_name/查看共享的文件。

Ø  ftp目录内,对文件显示实时性不足,有时需要刷新,才可以看到最新的文件情况。

Ø  有时候登录可能出现错误,最好关掉客户端或浏览器,重新登录。

 

2. 浏览器

使用浏览器访问ftp,只能进行文件的查看与下载,不能进行文件的上传。

(1).登录

登录匿名用户登录:ftp://wcmc.csu.edu.cn/

个人用户登录:(a) ftp://username:password@wcmc.csu.edu.cn/

(b) ftp://username@wcmc.csu.edu.cn/ 然后提示输入账户与密码

(2).浏览文件

3. 我的电脑

(1).登录

匿名用户:地址栏输入 ftp://wcmc.csu.edu.cn

个人用户:(a)进入匿名用户目录右键单击,选择登录

(b)ftp://username:password@wcmc.csu.edu.cn /

或者ftp://username@wcmc.csu.edu.cn / 然后会提示输入账户与密码

(2).文件操作

匿名用户登录,可以直接对文件夹内的文件复制,即进行下载操作,但仅限于此操作。

个人用户工作目录,用户可以对文件进行复制,粘贴和删除操作,如同操作本地文件。

4.命令行客户端

可以使用简单的命令进行登录和文件管理,具体命令可以网上查阅。

文本框: #ftp
ftp> open 192.168.222.2
Connected to 192.168.222.2.
220 Welcome to blah FTP service.
Name (192.168.222.2:jasny): jasny
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> close

5. 图形界面客户端

图形界面的客户端有很多种,下面是几种简单介绍,具体使用可以上网查询。

(1). FileZilla

FileZilla是一个免费开源的适合WindowsMacLinuxFTP客户端软件,因为其实免费跨平台和易用性,因此它是很多FTP用户的最初选择,FileZilla下载速度非常快,功能齐全,如果你是Windows用户,你甚至还能利用它搭建一个家庭FTP服务器。

f.jpg

(2).WinSCP

WinSCP是一个免费开源的FTP客户端,同时支持SFTPSCP协议,WinSCP是快速轻量级的FTP客户端,还支持一些高级功能,例如远程文字编辑。当你打开一个FTP服务器上的纯文本文件,在保存文件的时候会透明的保存和上传到远程服务器。

win.jpg

(3).FireFTP

FireFTP是一个Firefox扩展,能直接集成一个强大的FTP客户端到我们最喜爱的浏览器Firefox上。FireFTP不是客户端功能丰富的那一种,但如果你只需要一个家但的FTP客户端或者偶尔上传和下载,那么FireFTP就能胜任这个工作,你甚至不需要安装一个单独的FTP客户端程序,它所有的一切都集成到Firefox中了。

fire.jpg


 

三、使用svn

1. 创建版本库

(1).服务器:

在配置文件中对版本库的创建有详细说明,除了需要svn本身命令创建原始版本库,还需要更改目录的用户和组,并且修改在SELinux下的文件类型,将命令组合写成脚本,直接创建符合要求的版本库。

命令:fss_svnadmin

用法:fss_svnadmin  svn_name

(2).客户端

客户端可以通过命令”svn import”将本地文件导入到/var/svn/下,建立新的版本库,但是导入之后,原来的目录并没有纳入svn的管理,需要重新使用”svn checkout”检索,并在本地创建版本库。具体动作执行的方式在后面会有介绍。

2. 删除版本库

svn具有良好的代码管理能力,没有特殊需要不要删除整个版本库。需要删除版本库的情况下,可以直接删除创建的目录,但是最好将最终版本的资料导出来,保存。提供了一个脚本实现此功能,版本库的最终数据版本备份在文件/var/svn/backup/中。

命令:fss_svndelete

用法:fss_svndelete  svn_name  username  password

3. 操作版本库

(1).svn常用操作

svn版本库用来管理代码和文档,最大的作用是可以保留历史版本,并且随时取得需要的版本,减少文件版本维护的开销。下面是客户端对svn版本库常用操作说明,更加详细的用法可以在最后的附件中查看或者到网络上搜索。

a ) svn checkout

缩写:svn co

作用:将svn服务器上的版本库检索到本地文件,默认获取最新版本文件,可以通过添加参数获取特定版本的文件。

文本框: #svn checkout 目标版本库 本地目录
#svn checkout http:// wcmc.csu.edu.cn /svn/epbw  ./epbw

b ) svn update

作用:将本地版本库中的数据更新至特定版本,默认是最新版本。

文本框: #svn update –r version
#svn update 8

c ) svn commit

作用:将本地对数据库的改动提交到服务器,建立更新的版本,在提交时候可以对本版本增加注释,说明改动,可以在log中查看到,以便在更新时候和版本号对应。

文本框: #svn commit –m “message”
#svn commit –m “add a new file new.txt”

d ) svn add

作用: 将一个文件增加至本地的版本中。只是将文件复制到目录内,svn是无法识别的,在提交时不会提交复制的文件,需要使用add操作添加进来,文件的删除也类似。

文本框: #svn add file-name

e ) svn import

作用:将本地的一个目录提交到服务器,建立对应的版本库,但是原目录不会成为svn版本库,需要重新检索,建立新的本地版本库。

文本框: #svn import –m “message” local_file  URL_svnserver
#svn import –m “new” /var/ep http://wcmc.csu.edu.cn/svn/ep

f ) svn export

作用:从服务器获取不含有.svn文件的纯净文件,使用checkout检索得到的文件都是包含隐藏文件.svn,如果想获取纯净的文件,使用此命令。

文本框: #svn export –r version URL_svnserver  local_file_path
#svn export –r 8 http://192.168.222.2/svn/ep  ./ep/

g ) svn log

作用:查看版本库的修改记录,可以看到提交各个版本在提交时增加的备注信息,也可以查看那特定文件的更新信息。

文本框: #svn log

(2).Tortoise

Tortoisewindows下良好的svn图形客户端,安装之后,通过单击右键进行操作。

 

(3).浏览器

使用浏览器可以在不需要登录的情况下查看特定版本库的最新数据,如果要查看svn所有的版本库的列表,就需要登录。

(4).命令行

下面是一些操作的简单示例,更多的说明可以通过命令本身的help来查找。

文本框: #svn checkout http://192.168.222.2/svn/epbw ./epbw
Authentication realm: <http://192.168.222.2:80> WirelessLab SVN
Password for 'jasny': 
A    epbw/服务器配置
A    epbw/服务器配置/ftp使用说明.docx
…………
A    epbw/pguo-PhD-grind.pdf
Checked out revision 8.
文本框: # svn add new.txt 
A         new.txt

文本框: # svn commit -m "add file new.txt"
Adding         new.txt
Transmitting file data .
Committed revision 9.

文本框: svn update -r 8
D    new.txt
Updated to revision 8

4. 注意事项

(1).svn需要在本地创建版本库才可以进行版本库的操作,大部分的svn操作都是在版本库目录下进行的,除了如checkoutexportimport等命令。

(2).svn通过checkout检索到本地的目录都包含隐藏文件.svn,如果需要原始的不包含此类隐藏文件的目录,就是用export导出数据,但是导出的数据不被svn管理。

(3).importsvnserver导入数据,但是原数据不会被svn管理,需要重新checkout才可以进行后续操作。

(4).svn是集中式管理,版本的提交和更改只能逐步更改,多个用户都可以对版本库做出修改。用户不能从版本7直接提交形成版本9,否则可能出现冲突问题,只有在冲突解决之后才可以提交成功,建立新的版本。


 

四、使用samba

1. 登录

(1).开始->运行

输入\\192.168.222.2

run.png

(2).网上邻居

在地址栏直接输入地址 \\192.168.222.2\

使用网上邻居选择samba服务器

第一次运行会提示输入账户与密码

login.png

2. 文件操作

 

 

Ø  登录进入之后会看到目录下的文件,可以像操作本地文件一样操作用户下面的文件,包括文件的复制、粘贴、删除和文件的编辑,不需要下载即可完成。不同于ftp必须先下载再使用的方法。

Ø  登录之后有两个目录,一个是用户个人目录,用户可以读写文件。一个是公共目录,与ftp的公共目录相同,对非个人共享文件只有读权限,用户个人目录下的目录pub不可以被删除。

Ø  对文件进行操作的软件都是个人电脑上已有软件,并不是服务器上的软件。

Ø  一般登录一次以后,每次再次进入就不需要密码,而且会直接进入你已经登录过的用户目录,在使用目录下并没有像ftp一样的登录选项,如果需要使用其它的用户,需要在cmd之下运行命令“net use* /delete /y”,而且为了运行有效,在运行之前必须关掉所有正在使用的samba,然后重新打开,就会出现登录界面,选择需要进入的用户。

Ø  如果在登录samba的时候选择了记住密码,那么即使运行上述命令,也不会出现重新登录的用户界面。需要“开始->运行-> control keymgr.dll”,在弹出的对话框中选择你samba服务器的主机名删除即可。


 

五、综合操作

1. 公共目录管理

ftp的匿名用户目录和samba的公共目录是相同的,用户可以通过自己主目录下的pub目录共享文件,但是没有以公共目录为主目录的用户,除了使用后台管理,无法对公共目录内容进行有效的整理,通过设置创建了管理员账户admin,此账号不可删除,登陆后在主目录下有anonymous目录,内容为公共目录,通过操作可以对其进行管理,推荐使用samba管理,方便操作。


 

附件:

附一:svn使用详解

(1)将文件checkout到本地目录

svn checkout pathpath 是服务器上的目录)

例如:svn checkout svn:// wcmc.csu.edu.cn /svn/

简写:svn co

(2)往版本库中添加新的文件

svn add file
例如:svn add test.php(添加test.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)加锁/解锁t

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

update时的一些文件标志:
     U ------
表示文件被更新
     G ------
表示项目创库中的文件和本地工作拷贝的文件合并到了一起
     C ------
表示合并时,有冲突产生
     A ------
新加入了一个文件
     D ------
删除了一个文件
     ? ------
表示该文件或者目录没有被svn管理
     M ------
该文件被修改

(6)、查看文件或者目录状态

(asvn status path(目录下的文件和子目录的状态,正常状态不显示)
?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

(bsvn status -v path (显示文件和子目录状态)
 
第一列保 持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn statussvn diff svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

(7) 删除文件

svn delete path -m “delete test fle“
例如:svn delete svn://192.168.100.99/usr/local/svn/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 帮助

svn help
svn help ci

(11)SVN导入

svn import
svn import ~/projects/hello/ http://192.168.222.2/.subversion/repos/hello/ -m "initial improt"

 注意,完成导入后,原目录~/projects/hello并不转换为工作副本(working copy)”,而且该项目已经转由该仓库接管,即该仓库中已经包含了首次导入的工程的所有信息,与源目录~/project/hello再无任何关系,我们完全可以删除这一目录而不必担心丢失工程项目数据。

(12)SVN导出

svn export导出一个干净的不带.svn文件夹的目录树.

svn  export  [-r 版本号]  http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn  export  [-r 
版本号]  svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn  export  
本地检出的(即带有.svn文件夹的)目录全路径  要导出的本地目录全路径
注:第一种从版本库导出干净工作目录树的形式是指定URL
  如果指定了修订版本号,会导出相应的版本,
  如果没有指定修订版本,则会导出最新的,导出到指定位置。
  如果省略 本地目录全路径,URL的最后一部分会作为本地目录的名字。
  第二种形式是指定 本地检出的目录全路径 要导出的本地目录全路径,所有的本地修改将会保留,  但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。

 

(13)版本库下的文件和目录列表

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

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

svn mkdir: 创建纳入版本控制下的新目录。
用法: mkdir PATH mkdir URL…

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

(15)恢复本地修改

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

(16)代码库URL变更

svn switch (sw):  新工作副本至不同的URL
用法: switch URL [PATH]
      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
是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

注意:如果源目录并不是一个工作副本,那么就无法用svn进行管理,在其中所作的任何变动都无法提交到仓库。要用subversion对工程进行版本管理,那么工程项目的开发必须在一个工作副本中进行,即首先要从仓库获取一个工作副本。可以通过svn co来获得工作副本。

(19)比较差异

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

(3)diff的输出格式:

$ svn diff -r 2:3 rules.txt
(1)Index: rules.txt
(2)===================================================================
(3)--- rules.txt (revision 2)
(4)+++ rules.txt (revision 3)
(5)@@ -1,4 +1,4 @@
(6)Be kind to others
(7)-Freedom = Chocolate Ice Cream
(8)+Freedom = Responsibility
(9)Everything in moderation
(10)Chew with your mouth open

第一行,显示文件
第二行,分隔符
第三行,老版本用“-”表示
第四行,新版本用“+”表示
第五行,老版本显示1~4行,新版本显示1~4
第六行,两个版本都有
第七行,只有老版本有
第八行,只有新版本有
第九行,两个版本都有
第十行,两个版本都有

(4)将两个版本之间的差异合并到当前文件

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

 

(20)文件冲突

svn update时,如果存在某个文件存在冲突,打开冲突的文件,<<<<<<<< >>>>>>>> 表明了冲突发生的地方。当冲突发生时,

如果想使用项目仓库中的版本,而放弃本地拷贝的修改,可以使用以下命令:
a
svn revert [冲突的文件/目录]
b
svn update [冲突的文件/目录]
svn resolved [文件/目录] && svn update [文件/目录],似乎也是ok的,需要confirm一下)
(2)
如果想保留本地工作拷贝的修改,而放弃项目仓库中版本的修改,可以如下:
a
cp 文件/目录.mine 文件/目录
b
svn resolved 文件/目录
c
svn ci -m "use my version please" 文件/目录

(在上面的三个步骤中,似乎不用做步骤a也可以达到目的)