Ubuntu和windows文件传输共享
一、使用飞鸽传书实现功能
目前在linux下使用飞鸽传书的比较流行的软件有iptux和ipmsg。
1.1 iptux
iptux是ubuntu中一个可以和windows下大家熟悉的飞鸽传书互传文件的软件,在ubuntu软件中心中可以找安装。个人体验还不错,传输速度15M/s左右,(在ubuntu中互传速度能更好)兼容windows下的各种飞鸽传书版 本。
然后使用命令 sudo dpkg -i iptux_0.4.4_i386.deb
安装完成后在应用程序->互联网面板下可以找到iptux,运行后界面与使用类似QQ
1.2 ipmsg
首先到飞鸽传书官网下载unix版本的源码
http://www.ipmsg.org/archive/g2ipmsg-0.9.6.tar.gz
然后从终端进入解压后的目录执行一下命令
sudo ./configure --prefix=/usr --sysconfdir=/etc --enable-systray --with-ext-charcode=GBK
注意:执行这个命令主要是查看有无关联库未安装,根据提示用apt-get进行安装大多情况下会显示如下信息(部分):
...
No package 'libgnomeui-2.0' found
No package 'gtk+-2.0' found
No package 'glib-2.0' found
...
造成不能成功config于是我们安装如下的三个软件:
libgnomeui-dev
libpanelappletmm-2.6-dev
之后成功config,后面安装就不必说了
如果编译或安装过程中出现了error,可以使用以下命令
sudo apt-get install gettext intltool
sudo apt-get install libxml-parser-perl libgnomeui-dev libpanel-applet2-dev
提示是否安装时,输入Y即可
WARNING: You need GStreamer-0.10 or later installed if you need ...
No package 'libpanelapplet-2.0' found
上面警告可以执行:
sudo apt-get install gstreamer*-dev
sudo apt-get install libpanelapplet-*
安装结束再来一次检查,反复进行,直到不再出现No package提示信息为止。
2.2) sudo make
2.3) sudo make install
3: 编译完后,飞鸽传书出现在菜单 应用程序->附件中
4:从菜单点击执行或者终端执行/usr/bin/g2ipmsg即可出现在托盘中
5:进入飞鸽,从菜单 设置->首选项中设置 字符编码的外部代号为GBK。
OK,结束!
checking for G2IPMSG... configure: error: Package requirements (libgnomeui-2.0 >= 2.14
gtk+-2.0 >= 2.4
glib-2.0 >= 2.8) were not met:
No package 'libgnomeui-2.0' found
No package 'gtk+-2.0' found
No package 'glib-2.0' found
解决:yum install libgnomeui-devel.
2、报错:
No package 'libpanelapplet-2.0' found
解决:yum install gnome-panel-devel
3、如果Linux系统的防火墙开着的话可能会找不到内网用户,这时只要在防火墙里打开2425的TCP和UDP端口就可以了。
linux下有一个国人开发的iptux,兼容ipmsg协议,跨平台使用,更新也很快,你可以随时提交bug,作者会很快修改。
sudo ./configure --prefix=/usr --sysconfdir=/etc --enable-systray
sudo make
sudo make install
sudo apt-get install gettext intltool
sudo apt-get install libxml-parser-perl libgnomeui-dev libpanel-applet2-dev
二、使用Samba实现功能:
首先安装Samba:
sudo apt-get install samba
一、在ubuntu下查看局域网中windows系统共享的文件夹:
在“位置”--“网络”--“Windows 网络”中就能看到其它的windows主机和他们共享的文件夹了。
二、在windows下查看局域网中ubuntu系统共享的文件夹:
备份并编辑smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
在[global]中修改的内容如下:
找到 workgroup = MSHOME 把它改成
代码:
workgroup = workgroup(这里名称可以随便填,当然为了方便别人访问,最好还是填windows下工作组的名称)
netbios name = gdhi(这里填你本机的计算机名)
doc charset = UTF-8
unix charset = UTF-8
后两行是为了防止中文目录乱码。
让windows系统能匿名访问:
搜寻这一行文字:
; security = user
用下面代码取代
security = share
重启samba
sudo /etc/init.d/samba restart
共享ubuntu系统中的文件
在要共享的文件夹点右键:“共享文件夹(S)”--“共享方式”中选“windows 网络(SMB)”--如果不想别人修改你共享的文件夹最好把“只读”勾上--“确定”。
好了,你可以共享你的文件夹了。
查看和修改自己共享的文件夹的方法:
“系统”--“系统管理”--“共享的文件夹”。
三、使用pscp命令实现:
首先要在Ubuntu上安装好ssh,执行:
sudo apt-get update
sudo apt-get install openssh-server
**************************************************************************************************
3、建立ssh 无密码登录
(1)在NameNode 上实现无密码登录本机:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa ,
直接回车,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成对
出现,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys
文件):$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys。完成后可以实现无密码
登录本机:$ ssh localhost。
(2)实现NameNode 无密码登录其他DataNode:
把NameNode 上的id_dsa.pub 文件追加到dataNode 的authorized_keys 内( 以
192.168.0.3 节点为例):
a. 拷贝NameNode 的id_dsa.pub 文件:
$ scp id_dsa.pub hexianghui@192.168.0.3:/home/hexianghui/
b. 登录192.168.0.3,执行$ cat id_dsa.pub >> .ssh/authorized_keys
其他的dataNode 执行同样的操作。
注意:如果配置完毕,如果namenode 依然不能访问datanode,可以修改datanode 的
authorized_keys:$ chmod 600 authorized_keys。
4、关闭防火墙
$ sudo ufw disable
注意:这步非常重要。如果不关闭,会出现找不到datanode 问题
**************************************************************************************************
1.从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载pscp,将其放入windows 的system32
pscp是putty安装包(免费)所带的远程文件传输工具,使用和Linux下scp命令相似,具体的使用方法如下:
C:\Documents and Settings\Think\桌面\常用资源\PuTTY-v0.60>PSCP.EXE
PuTTY Secure Copy client
Release 0.60
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
pscp [options] -ls [user@]host:filespec
Options:
-V 打印版本信息并退出
-pgpfp 打印PGP key指纹并退出
-p 保留文件属性
-q 不要显示统计数据
-r 递归拷贝目录
-v 显示冗余信息
-load sessname 加载保存好的会话设置
-P port 指定端口(默认22)
-l user 指定用户名连接
-pw passw 显式的输入用户密码
-1 -2 强制使用指定SSH协议版本
-4 -6 强制使用IPv4或IPv6
-C 使用压缩
-i key 认证所需要的私有密钥文件
-noagent 不使用Pageant
-agent 使用Pageant
-batch 禁用所有交互提示
-unsafe 允许服务器段的通配符(危险的)
-sftp 强制使用SFTP协议
-scp 强制使用SCP协议
(一)上传
2.开始→运行→cmd 进入到dos 模式输入以下命令
pscp D:\java\apache-tomcat-5.5.27\webapps\szfdc.rar
dev@192.168.68.249:/home/dev
3.输入密码ok 文件已经上传到目标机器的/home/dev 目录下了
(二)下载
1、开始→运行→cmd 进入到dos 模式输入以下命令
pscp dev@192.168.68.248:/home/dev/gren.sql d:\gren.sql;输入密码。ok!
其中:dev 为linux 的用户名,192.168.68.248 为远程Linux 主机ip 地址,
/home/dev/gren.sql 为linux 下的文件,d:\gren.sql 为保存在本地的文件
其他
------------------------------------------------------------------
pscp 是putty 安装包所带的远程文件传输工具,使用和Linux 下scp 命令相似,
具体的使用方法如下:
PSCP 和SCP 功能相同,在windows 下使用,只有一个文件,建议将pscp.exe 放
到C:\WINDOWS\system32 下面,这样就可以在任何地方调用了。语法与scp 相同,
下面是几个有用的options。
-p 拷贝文件的时候保留源文件建立的时间。
-q 执行文件拷贝时,不显示任何提示消息。
-r 拷贝整个目录
-v 拷贝文件时,显示提示信息。
Usage:
pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host
pscp [options] -ls user@host:filespec
用法:
pscp [选项] [用户名@]主机:源文件目标文件
pscp [选项] 源文件[源文件……] [用户名@]主机
pscp [选项] -ls 用户名@主机:文件空间?
Options:
选项:
-p preserve file attributes 保护文件属性
-q quiet, don't show statistics 安静,不显示统计
-r copy directories recursively 复制子文件夹
-V print version information and exit 显示信息
-v show verbose messages
-load sessname Load settings from saved session
-load 加载,加载保存节的设定
-P port connect to specified port
-P 端口,连接到指定空间端口
-l user connect with specified username
-l 用户,用指定的用户连接空间
-pw passw login with specified password
-pw 密码,用指定的密码登录空间
-1/-2 强迫ssh 使用的版本
-4 -6 force use of IPv4 or IPv6
-C 打开压缩
-i key 钥匙,证明用的钥匙文件
-batch 关闭交互能力,也许
-unsafe 不安全,允许伺服端取代字符(危险的)
常用的方法:
1、把本地文件file 传输到Linux 服务器的/root/
C:\>pscp.exe file 192.168.32.50:/root/
它会提示你输入密码,就像Linux 下使用scp 那样。
【注意】这里pscp 会使用你Windows 登陆的用户名,因此你可能需要指定Linux
用户名。
C:\>pscp.exe file root@192.168.32.50:/root/
或者
C:\>pscp.exe -l root file 192.168.32.50:/root/
【注意】这里"-l root"要在file 之前
2、把本地目录dir、文件file 传输到Linux 服务器的/root/,并指定服务器端
口2009
C:\>pscp.exe -P 2009 -r dir file root@192.168.32.50:/root/
3、把服务器上的/root/file 文件取回来本地当前目录
C:\>pscp.exe root@192.168.32.50:/root/file .
4、把服务器上的/root/dir 目录取回本地"C:\My Documents\data\"目录
C:\>pscp.exe -r root@192.168.32.50:/root/dir "C:\My Documents\data\"
四、利用PUTTY SSH工具进行文件上传下载
或许真的有和我一样想通过SSH 进行本地文件上传或者下载的同学吧,SSH 的
好处是让文件在传输过程中更加安全,我却不是因为这个原因产生这个想法,只
是觉得一边用FTP 工具上传一边用PuTTy 来解压或者压缩真的是挺傻的。其实
用SecureCRT 可以比较方便地实现,但是它是收费软件,我不喜欢,所以我坚
持使用PuTTy。
严格来说,通过SSH 进行本地文件的上传或者将Linux 主机中的文件下载至本
地并不是PuTTy 的功能,而是通过其完整安装包内的psftp.exe 文件实现的。
所以,要完成这些操作, Windows 内必须有完整的PuTTy 安装包而不仅仅是
putty.exe 这一个文件。
接下来就是开启psftp.exe 了,和Putty 一样是全字符界面。相对于shell 繁
多的命令,上传和下载使用的命令屈指可数,将用到的命令列在下面:
1. open calpico.dreamhost.com 用于连接远程linux 服务器,其中
calpico.dreamhost.com 替换为您自己的地址。
2. cd public_html/wp-content/ 用于切换远程Linux 服务器上的目录,其
中public_html/wp-contnt 替换为您自己实际的路径。
3. lcd D:/downloads/ 用于切换本地的路径,其中D:/downloads/ 就是我
自己电脑里的D:\downloads\ ,总之,切换本地路径的目的是为了上传
这个目录里的文件或者将服务器上的文件下载到这个文件夹里,如果你要
上传位于C 盘Windows 文件夹里的notepad.exe 到服务器上,就得
lcd C:/windows/。
4. put notepad.exe 上传notepad.exe 到服务器上。
5. get notepad.exe 下载notepad.exe 到自己电脑商。
使用以后,我发现这么上传下载文件还有一个好处,因为是字符界面,文件在上
传和下载过程中占用的系统资源非常少,甚至感觉不到它正在运行,比开着ftp
客户端傻等好多了。缺点也有,由于看不到传输进度,如果遇到大文件,还是得
傻等。
首先在Ubuntu中安装vsftpd,执行:sudo apt-get install vsftpd
然后可以这样操作:
ftp linux/unix 服务器的ip
输入服务器用户名,密码后,显示如下提示符,表示已经进入ftp:
ftp>lcd D:\ (在这里输入lcd D:\,是因为我要文件导入到我的windows
下的D,这是定位目标文件所要到达的目录)
然后提示:
Local directory now D:\.
表示本地目标目录定位成功!
ftp>get /home/cbs20/src/LOAN/loan_retint.ec (表示,我要获得linux 上的
这个文件,根据后面提示,已经知道loan_retint.ec 到了D:\
提示:
200 PORT command successful.
150 Opening data connection for /home/cbs20/src/LOAN/loan_retint.ec
(122998 byte
s).
226 Transfer complete.
ftp: 收到127252 字节,用时0.02Seconds 7953.25Kbytes/sec.
这时,已经成功将linux/unix 上的文件get 到我的Windows 系统下的D:\
ftp>quit (退出ftp)
※※※
同样的道理,我们还可以将windows 目录下的文件put(上传)到我的linux/unix
服务器上,
道理同上,ftp linux/unix 服务器IP
输入用户名密码,出现提示符
ftp>
我们在这里输入
ftp>cd /home/cbs20/priv/wangqiao (定位到linux/unix 目录
/home/cbs20/priv/wangqiao 表示该目录我们要上传文件的目标目录)
ftp>put D:\haha.txt (表示我要把本系统windos 系统下的D:\haha.txt 上
传上去)
ftp>quit (退出ftp 程序)
设置共享就是在VM里设置了,VM→Setting→Options→SharedFolders→Add→选定要共享的文件夹并给这个文件夹命名→OK,vmware会把这个文件夹自动mount到/mnt/hgfs目录下
七、使用ssh工具(SSH Secure Shell Client 3.2.9):http://www.onlinedown.net/softdown/20089_2.htm
下载安装,运行。
转自: http://blog.sina.com.cn/s/blog_5bce66f00100popj.html