当前位置: 澳门新濠3559 > 操作系统 > 正文

这个终端就叫pts/0,需要帐号密码才能访问

时间:2019-11-16 22:36来源:操作系统
在linux命令行中经常看到pts/0,这是什么意思呢??妈蛋!! 在以往的项目中,有些项目需要自己独立开发,为了方便代码的管理,自己尝试建了一个本地的svn服务器,事隔良久记录一

在linux命令行中经常看到pts/0,这是什么意思呢??妈蛋!!

在以往的项目中,有些项目需要自己独立开发,为了方便代码的管理,自己尝试建了一个本地的svn服务器,事隔良久记录一下。以下username均为你Mac的用户名

昨天晚上小试了一下SSH,学到了一些乱七八糟的命令,知道了一种古老装逼的聊天方式:write。期间下定决心终于弄明白了pts/0之类的东西到底是什么东西。

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。

先说pts/0吧,man里面是这样说的:ptmx and pts - pseudo-terminal master and slave,pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts /1。

  1. 首先我们要建一个svn的目录

先说pts/0吧,man里面是这样说的:ptmx and pts - pseudo-terminal master and slave,pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts /1。比如用who命令查询当前登录的用户,可以看到每个用户的TTY设备(简单来说就是用户输入命令还有显示信息的设备,比如终端),下面是我机器上的显示:

1. 如何在Mac环境下搭建svn服务器端环境(apple是机器名)

  • 创建代码仓库,用来存储客户端所上传的代码
    我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录
  • 打开终端,创建一个mycode仓库,输入指令:
    svnadmin create /Users/apple/svn/mycode
    指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录,目录结构如下:

澳门新濠3559 1

mkdir /Users/username/svn

calabash tty7         2009-12-09 20:04 (:0)
calabash pts/0        2009-12-09 20:20 (:0.0)
calabash pts/1        2009-12-09 20:27 (:0.0)

2. 配置svn的用户权限

主要是修改/svn/mycode/conf目录下的三个文件

  • 打开svnserve.conf,将下列配置项前面的#和空格都去掉
[java] view plaincopy
 # anon-access = read  
 # auth-access = write  

 # password-db = passwd  

 # authz-db = authz  

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问

  • 打开passwd,在[users]下面添加帐号和密码,比如:
[java] view plaincopy
[users]  
zhangsan = 123  
lisi = 456  

帐号是zhangsan,密码是123

  • 打开authz,配置用户组和权限
    我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
    在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
[java] view plain copy
[groups]  
rootgroup=zhangsan,lisi

说明zhangsan和lisi都是属于rootgroup这个组的,接下来再进行权限配置。
使用[/]代表svn服务器中的所有资源库

[java] view plaincopy
[/]  
@rootgroup = rw  

上面的配置说明rootgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@
如果是用户名,不用加@,比如zhangsan这个用户有读写权限

[java] view plaincopy
[/]  
zhangsan = rw  

至于其他精细的权限控制,可以参考authz文件中的其他内容

 

  1. 创建仓库

有一个tty7是表示图形界面,我当前登录的是GNOME,当然就是图形界面了。还有tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切换,+F7就是切换回图形界面。下面两行说明我当前打开了两个终端窗口,所以就有pts/0和pts/1

3. 启动svn服务器

前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。
在终端输入下列指令:svnserve -d -r /Users/apple/svn
或者输入:svnserve -d -r /Users/apple/svn/mycode
没有任何提示就说明启动成功了

再例如:查询svn服务,就是打开了一个svn终端

svnadmin create /Users/username/svn/mycode

再说一下SSH吧,要把本机当做一个远程SSH服务器用,要先装个openssh-server,装完之后会自动启动sshd服务监听ssh连接,Ubuntu应该是预装了openssh-client的,所以启动sshd后,可以自己连接自己,最简单的命令:ssh user@localhost 至于Windows下面可以用putty用作ssh连接客户端。然后突然想起很久以前小龚推荐我注册的一个unix- center的账号可以登录上面的主机,就是SSH连接的。今天在公司就一直挂在unix- center的Ubuntu上面,发现上面登录的用户还真不少:

4.关闭svn服务器

如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”

澳门新濠3559,参照上面一步步来我们就能轻松搭建svn服务器环境了


澳门新濠3559 2

在这一步完成后,你会发现mycode中有6个文件

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
k418675  pts/2    202.108.140.161  08:32    3:42   0.08s  0.06s sshd: k418675 [
wateran_ pts/3    222.92.112.66    08:41    8:06   0.06s  0.06s -bash
xiaoshe  pts/4    129.192.196.5    14:17   11:17m  0.08s  0.08s -bash
lfly     pts/5    211.144.118.166  09:33    0.00s  0.24s  0.06s sshd: lfly [pri
steed.de pts/6    119.145.41.2     11:58    4:49   0.06s  0.06s -bash
topojuly pts/7    218.30.165.69    15:46   10:55m  0.10s  0.10s -bash
nwpumabi pts/8    222.92.112.66    15:12    1:35   0.08s  0.08s -bash
ilylm    pts/9    113.96.216.247   16:26    1:15m  0.08s  0.08s -bash
niugao   pts/10   :1.0             09:10    7:36   0.06s  0.06s -bash
niugao   pts/11   :2.0             09:11    7:36   0.08s  0.08s -bash
cu911    pts/12   221.215.10.154   16:38    0.00s  0.10s  0.02s vi ./newhead.sh
wendao4  pts/13   113.9.75.218     16:47    3.00s  0.08s  0.08s -bash
clyet    pts/15   218.247.11.196   14:12    2:07   0.08s  0.02s sshd: clyet [pr
bigarmy  pts/17   124.207.17.24    10:46    4:22m  0.10s  0.10s -bash
tonylu   pts/16   218.18.214.166   14:19    2:13m  0.08s  0.08s -bash
nwpumabi pts/19   222.92.112.66    11:08    5:38   0.08s  0.08s -bash
vector09 pts/23   :8.0             11:18    5:26   0.38s  0.10s -bash
vector09 pts/24   :9.0             11:18    5:29   0.08s  0.08s -bash
vector09 pts/21   :8.0             11:23    5:24   0.08s  0.08s bash
fishruby pts/26   118.229.195.133  15:04    1:03   0.08s  0.08s -bash
jy016492 pts/28   218.17.152.141   15:17    7:56m  0.08s  0.00s sshd: jy0164921
xingzj01 pts/29   222.92.112.66    12:46    4:00   0.08s  0.08s -bash
ls87     pts/30   192.168.1.18     13:39    4:43m  0.20s  0.04s vim

使用svn客户端功能

 

澳门新濠3559 3

可以看到有很多pts,就是代表每个用户用来输入输出的终端了
然后发现竟然有一个叫xungei的给我发hello了,估计他在实验wall或者write之类的命令,当我准备回复他一下的时候,却发现这人已经下线了,想想用这种古老的方式交流太华丽了

1. 从本地导入代码到服务器(第一次初始化导入)

在终端中输入

svn import /Users/apple/Documents/eclipse_workspace/weixin svn://localhost/mycode/weixin --username=zhangsan --password=123 -m "初始化导入"

指令的意思:将/Users/apple/Documents/eclipse_workspace/weixin中的所有内容,上传到服务器mycode仓库的weixin目录下,后面双引号中的"初始化导入"是注释

  1. 配置conf
2. 从服务器端下载代码到客户端本地

在终端中输入

svn checkout svn://localhost/mycode --username= zhangsan --password=123 /Users/apple/Documents/code

指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中

在conf文件中存在三个文件(authz,passwd,svnserve.conf),现在依次配置:

3. 提交更改过的代码到服务器

步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:

cd/Users/apple/Documents/code

2> 输入提交指令:svn commit -m "修改了main.m文件"
这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件
可以看到终端的打印信息:

[java] view plaincopy
Sending        weixin/weixin/main.m  
Transmitting file data .  
Committed revision 2.  

(1)svnserve.conf:

4.更新服务器端的代码到客户端

这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update

        以此把下面配置项的#和空格都去掉, anon-access = read 代表匿名访问的时候是只读的,

5.至于svn的其他用法,可以在终端输入:svn help

若改为 anon-access = none  代表禁止匿名访问,需要帐号密码才能访问

# anon-access = read  

# auth-access = write  

# password-db = passwd  

# authz-db = authz

(2)passwd:

        在[users]下添加账号和密码.比如

[users]

pt = 123

pt01 = 123

此处对应的就是用户名(pt,pt01)和密码(123,123)

(3)authz:

打开authz,配置用户组和权限:

我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,

就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。

在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

[groups]

NewGroup = pt,pt01

pt,pt01都是NewGroup这个组的,然后进行权限设置

使用[/]代表svn服务器中的所有资源库

[/]

@ NewGroup = rw

上面的配置说明NewGroup这个组中的所有用户对所有资源库都有读写(rw)权限,

组名前面要用@,如果是用户名,不用加@,比如Pt这个用户有读写权限

[/]

pt = rw

  1. 启动svn服务器:

在终端输入 sudo svnserve -d -r /Users/username/svn 没有任何提示就说明启动成功了,

你可以在活动监视器中搜索svnserve,就可以看到这个进程

你也可以简单的测试一下:输入 telnet localhost 3690  会出现一下字段:

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops atomic-revprops partial-replay ) ) )

  1. 从本地导入项目到服务器

在终端输入

sudo svn import /Users/username/Desktop/test svn://localhost/mycode/filename --username=pt --password=123 -m "初始化导入"

filename就是svn中你项目的名字,一般这个名字就是你上传的文件名字

  1. 下载使用项目

自己使用的时候下载:

svn checkout svn://localhost/mycode/filename

其他人也可以使用,使用的时候,要保证在一个局域网内,然后把localhost改成你本机的IP就好了。

编辑:操作系统 本文来源:这个终端就叫pts/0,需要帐号密码才能访问

关键词:

  • 上一篇:没有了
  • 下一篇:没有了