精华内容
下载资源
问答
  • linuxwindows文件共享

    万次阅读 2016-07-02 20:44:57
    http://blog.csdn.net/pipisorry/article/details/51812022本文主要说明 linux和windows文件共享, ...(ubuntu16.04, 14.04win7测试通过)linux和windows文件共享window对linux文件内容进行操作,利用linux samba

    http://blog.csdn.net/pipisorry/article/details/51812022

    本文主要说明 linux和windows文件共享, windows和ubuntu互相访问 , Linux和安卓设备文件互传和共享。(ubuntu16.04, 14.04和win7测试通过)

    linux和windows文件共享

    window对linux文件内容进行操作,利用linux samba服务,将linux的文件设成共享文件,window就可以以访问共享文件的方式来访问linux文件了。

    Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

    Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
    在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;
    我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

    samba命令

    Samba服务器的启动、关闭和重启

    安装完成后,可以cd到/etc/init.d/目录下,查找smbd命令,然后执行如下命令:
    启动Samba服务器:#sudo /etc/init.d/smbd start
    关闭Samba服务器:#sudo /etc/init.d/smbd stop
    重新启动Samba服务器:#sudo /etc/init.d/smbd restart
    启动Samba服务器后,可以使用ps命令查看进程:#ps -aux。此时,可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中, 主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进 程是随着smbd进程启动而启动。

    按照下面的配置成功后,每次重启电脑后只要

    linux和windows要在同一局域网内(如连接上同一个wifi或者linux开启网络共享)

    右键共享某个目录,且对当前目录有相应权限

    sudo /etc/init.d/smbd start就可以了。

    皮皮blog



    linux端的配置

    samba安装的配置

    注意,修改配置文件一般要sudo /etc/init.d/smbd restart。

    安装samba

    pika:~$sudo apt-get install samba

    sudo apt-get install cifs-utils

    后面这个在两台ubuntu互访时必须安装

    增加samba用户pika

    {如果下面设置security=share不用密码登录就可以访问的话这个可以不设置}

    pika:~$sudo smbpasswd -a pika
    New SMB password:
    Retype new SMB password:
    Added user pika.

    Note: 增加的用户必须是系统中存在的用户,lz这里添加的是当前用户。用户不存在时候要添加:sudo useradd。如sudo useradd pikasmb,要注意,上面只是增加了pikasmb这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。

    配置Samba服务(修改Samba配置文件)

    Samba服务器主要配置文件为/etc/samba/smb.conf,(并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中,此步骤可忽略)。

    要共享linux上的目录,在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可(见下面的windows访问ubuntu)。

    在Windows系统中不用输入密码访问Linux共享目录,修改samba配置文件smb.conf:
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做个备份
    sudo vim /etc/samba/smb.conf
    将文件中的内容做如下相应修改:

    1 #security=user 删掉注释,修改为:security=share

    lz没找到这个,所以直接在#======================= Share Definitions =======================的最后加的(配置文件末尾,不能是这行下面!)

    security=share
    设置的含义:
    share:用户不需要账户及密码即可登录samba服务器
    user:由提供服务的samba服务器负责检查账户及密码(默认)
    server:检查账户及密码的工作由另一台windows或samba服务器负责
    domain:指定windows域控制服务器来验证用户的账户及密码)

    2 linux系统下的目录可以直接通过右键配置共享(推荐,较易操作,且好取消共享)

    直接右键会出错,但是会提示Ask the administrator to add the line "usershare owner only = false"  to the [global] section of the smb.conf to allow this.

    这个是右键设置/media/pika/files/mine/python_workspace/NLP/SentimentClassification共享时出错的提示,加上后就可以直接通过右键设置共享了。

    [global]

    usershare owner only = false

    3 也可以在/etc/samba/smb.conf文件结尾添加如下行

    {不推荐,因为不好取消共享。如果进行了第2步设置,这个不用了,直接右键要共享的目录就可以!}

    Note: 一个share对应一个目录,如果要共享两个目录就设置两个share(异名)

    # 共享文件名称或标记 这个可随意写 只是一个标记(在windows上显示的共享目录名)
    [share]
    comment=this is Linux share directory
    #要共享的目录1
    path=/home/pika/share
    #允许匿名用户登录,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的
    public=yes
    #可写权限
    writable=yes
    #显示文件,就是在网络邻居中能看到共享名
    browseable=yes
    valid users=pika
    available=yes

    #要共享的目录2

    [nlpshare]
    comment=this is Linux share directory
    path=/media/pika/files/mine/python_workspace/NLP/SentimentClassification
    public=yes
    writable=yes
    browseable=yes
    valid users=pika
    available=yes

    #要密码访问的共享目录3...

    其中[ftp]项目是要求用户名密码访问的,用户名要求为gcwh,当然你也可以指定一个组(eg.@gcwh)!
    密码保存在/etc/samba/smbpasswd中,用户名用useradd创建,密码用smbpasswd创建,创间之后cat /etc/samba/smbpasswd 看看是否有了!
    Notes: 先确保不要密码是可以访问之后再修改成有密码访问,可以避免纠缠在一些网络原因导致的不能访问的问题上!密码访问本身简单,关键是要正确创建用户和samba密码的对应项(在/etc/samba/smbpasswd中,当然也可以指定其它文件)

    保存退出

    Note: 如果没有缩进,则=两边不要空格。注释必须单行重写,不能加在定义后面!!!否则对应设置的无效。

    常见的samba配置及说明
    [share] # 该共享的共享名
            comment = smb share test # 该共享的备注
            path = /home/share # 共享路径
            allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域
            deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域
            available = yes|no # 设置该共享目录是否可用
            browseable = yes|no # 设置该共享目录是否可显示
            writable = yes|no # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写
            public = yes|no # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的
            user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开
            valid users = user, @group # 指定能够使用该共享资源的用户和组
            invalid users = user, @group # 指定不能够使用该共享资源的用户和组
            read list = user, @group # 指定只能读取该共享资源的用户和组
            write list = user, @group # 指定能读取和写该共享资源的用户和组
            admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组
            hide dot files = yes|no # 指明是否像UNIX那样隐藏以“.”号开头的文件
            create mode = 0755 # 指明新建立的文件的属性,一般是0755
            directory mode = 0755 # 指明新建立的目录的属性,一般是0755
            sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作
            short preserve case = yes|no # 指明是否区分文件名大小写
            preserve case = yes|no # 指明是否保持大小写
            case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误
            mangle case = yes|no # 指明混合大小写
            default case = upper|lower # 指明缺省的文件名是全部大写还是小写
            force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
            wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
            max connections = 100 # 设定最大同时连接数
            delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件

    [Samba服务器配置(2)--认识smb.conf配置文件]

    [配置文件模板]

    启动Samba服务

    pika:~$sudo /etc/init.d/smbd start

    重启: sudo /etc/init.d/smbd restart    修改配置后一般都要重启

    检查Samba是否安装配置正确

    启动Samba客户端程序

    smbclient -L //localhost/share -U pika

    “-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U  Samba用户名”。

    pika:~$smbclient -L //localhost/share
    WARNING: The "syslog" option is deprecated
    Enter pika's password:    #这里可以使用sudo smbpasswd -a pika设置的密码
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        share           Disk      this is Linux share directory
        IPC$            IPC       IPC Service (pika server (Samba, Ubuntu))
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]

        Server               Comment
        ---------            -------
        PIKA                 pika server (Samba, Ubuntu)

        Workgroup            Master
        ---------            -------
        WORKGROUP            PIKA

    Note: 出错处理:

    1 session setup failed: NT_STATUS_LOGON_FAILURE

    该错误表示用户有误, 可能是用户不存在, 也有可能是密码错误, 或者用户只是在samba和系统的用户中的一个地方存在,   总之是用户和密码有问题,一般是密码错误,密码不是电脑密码,而是自己设置的samba密码。

    2 tree connect failed: NT_STATUS_BAD_NETWORK_NAME
      这个错误则表示共享目录有误, 可能是目录不存在, 或者权限不对

    [客户端访问]

    linux下进行文件共享

    共享目录时,必须对当前目录有共享权限:

    鼠标右键点目录,permissions中设置

    或者$sudo chmod 777 /home/pika/share

    pika:~/share$ll
    total 44
    drwxrwxrwx  2 pika   pika     4096  7月  2 19:37 ./
    pika:/media/pika/files/mine/python_workspace/NLP/SentimentClassification$ll
    total 37
    drwxrwxrwx 1 root root  4096  7月  1 22:18 ./
    鼠标右键点目录,选择sharing options, 勾选share this folder和guest access(这样别人访问时候就不需要密码了),需要的话也可以够选下面的allow write 。

      

    linux中share的目录会加上share标志

    另外可能需要关闭linux的防火墙:sudo service iptables stop或者$ sudo ufw disable, 刷新重连。这样才能被别人访问到。

    windows端的配置

    如果想要linux访问到windows的共享文件,需要

    1 在“控制面板\所有控制面板项\网络和共享中心\高级共享设置”开启“关闭密码保护共享”和“启用文件和打印机共享”。关闭密码保护共享的操作会启用Guest账号,如果Guest账号设置了密码,即使选择了关闭密码保护共享保存修改后,再次打开发现依然会是启用密码保护,这时候需要到用户管理中清空Guest账号的密码。

    2 需要开启guest帐户

    control panel > user accounts and family safety > useraccounts > manage accounts手动开启guest帐户

    如果不启用guest帐户,将会出现linux访问windows时出现对话框,要求输入用户名和密码,并且用户名处是Guest,呈灰色不可选状态,只能输入密码。

    3 可能需要关闭windows和杀毒软件的防火墙

    (windows:打开“网络和共享中心”,windows防火墙,关闭相关项;杀软:(如bitdefender)firewall 中点击off关闭)

    设置共享文件夹

    要共享的文件夹 - 右键 - 属性 - 共享:共享 - 高级共享 - 共享此文件夹

    [win7系统如何给共享的文件夹设置账号密码]

    皮皮blog



    ubuntu、windows之间的互相访问

    linux系统间的文件共享

    一种是直接使用samba,另一种也可以使用NFS。

    ubuntu之间的互访

    都要安装

    pika:~$sudo apt-get install samba

    sudo apt-get install cifs-utils

    否则两台电脑就算都能互相ping通,也不能进行文件共享,也不知道为嘛。

    还都要关闭防火墙,否则只能访问到没开防火墙的一方

    sudo ufw disable
    [使用NFS在linux之间共享目录与文件 ]

    ubuntu访问windows

    可能需要安装sudo apt-get install cifs-utils,好像也没用

    network > windows networks > WORKGROUP > 点击共享文件的windows电脑

    就可以看到共享的文件了。

    如果提示要求输入用户名和密码

    用户名:windows上的用户名

    密码:windows对应用户名的登录密码

    windows访问ubuntu

    windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可。但是linux和windows要在同一局域网内(如连接上同一个wifi),当然也可以使用笔记本中的windows或者linux开启wifi来创建一个局域网wifi,参考[笔记本开启无线网络共享 ],此时linux所在笔记本和windows所在笔记本都在同一个局域网内,可以进行文件共享。

    网络中查找并读写文件

    这时在windows的网络邻居中的网络中查找就能找到共享目录pika/share和pika/sentiment。

    如果进入共享目录需要密码,就填写之前在linux中设置的samba帐户和密码,或者linux用户名及其对应密码。

    windows无法访问linux的共享目录的解决

    windows提示无法访问\\pika\share时可以试试

    先看能不能ping通,不能可能是不在同一局域网。

    重启samba服务sudo /etc/init.d/smbd restart

    或者重新搜索共享的电脑(前两个一般有效)

    或者刷新一下 或者重新连网

    或者单击[开始-运行] 输入 “secpol.msc”-“本地策略”-“安全选项”-网络安全:LAN Manager 身份验证级别”-单击列表中:发送LM和NTLMv2,如果已协商,则使用NTLMv2协议。

    终极解决:关闭linux的防火墙:sudo service iptables stop

    或者$ sudo ufw disable, 刷新重连。

    windows可以正常访问linux的情况

    不过不知道为啥,之前的一个截图带着一个锁标志(捕获.PNG),不能被修改,而捕获1可以。


    Note: lz这两个图就是通过windows截图再写入linux再贴到这里来的。

    使用\\192.168.1.100\share访问linux共享文件夹(lz不推荐)

    首先要知道samba服务器的ip地址:terminal中输入ifconfig,查找wlan对应的ip地址,如192.168.1.100(linux的本地连接的IP地址,也就是samba服务器的IP地址)

    wlan0     Link encap:Ethernet  HWaddr b8:76:3f:2f:3d:7f  
              inet addr:192.168.1.100

    在Windows 下访问共享目录

    点击运行(或者win+R快捷键),输入\\192.168.1.100\share,这样就能以匿名用户访问共享目录share了。

    当然也可以直接到windows下输入ip使用,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share";

    windows访问共享文件时windows防火墙可能需要关闭(lz并没有管)。

    The Unofficial Samba HOWTO

    Samba服务器配置(1)(2)(3)*

    Ubuntu下配置samba服务器*

    鸟哥的linux私房菜:第十六章、文件服务器之二: SAMBA 服务器

    samba Documentation

    windows 和 Ubuntu实现文件共享

    Ubuntu+Win7+Samba实现文件共享

    ubuntu安装samba实现与windows文件共享

    windows linux 之间文件共享 samba配置
    [Ubuntu设置局域网Windows共享文件Samba ]

    [不同级别的权限控制参考:NAS应用-Ubuntu 16.04 Samba文件共享]

    皮皮blog



    Linux和安卓设备文件互传和共享

    打开手机蓝牙对所有设备可见

    ubuntu中添加phone蓝牙配对 all settings > bluetooth > 添加符号, 电脑会在第三步中自动搜索手机设备,产生一个配对数字串,输入到手机中就配对成功了。

    (lz的笔记本不自带蓝牙,买的蓝牙适配器,自带的当然更好)


    配对成功后如下

    ubunbu向手机发送文件

    可以通过上图中的send files向手机发送文件。

    手机向ubuntu发送文件

    Ubuntu中,关于蓝牙传送文件,默认是不接收的,所以要去设置为接收。不设置会出错:在安卓中,选择文件的分享,通过蓝牙发送,发送到Ubuntu桌面端的蓝牙的,却发送失败。


    dash中搜personal file,即Personal File Sharing 中文是:个人文件共享
    然后进去将receive files...打勾,accept files选择only for set up devices(只接收配对的手机发来的文件)

    当然也可以将Accept files改为Always即可正常接收任意别的(手机的)蓝牙发送过来的文件了。

    电脑接收到的文件应该在用户文件夹的downloads文件夹下。

    [安卓手机通过蓝牙发送文件到Ubuntu发送失败]

    from: http://blog.csdn.net/pipisorry/article/details/51812022

    ref: windows文件共享参考[两台windows笔记本创建家庭组实现文件共享 ]

    [一步一学Linux与Windows 共享文件Samba]


    展开全文
  • Linux和Windows共享文件的三种方法

    万次阅读 2017-03-28 16:41:35
    Linux和Windows共享文件的三种方法

    作者:华清远见讲师

    第一种 samba共享

    1、安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,安装命令:yum install samba

    2、创建共享文件夹 mkdir -m 777 /home/default/share

    3、修改/etc/samba/smb.conf,这里面的参数就比较多,主要是

    workgroup = WORKGROUP(这个就是windows工作组模式,还有一种是域模式)

    hosts allow = 192.168.1.100(可以放问的IP地址,这里写的时windows地址)

    然后在文件的结尾加上

    [public](共享名,就是windows访问时会显示的名称)

    comment = Public Stuff(注释)

    path = /home/def/share(共享名)

    public = yes(公开)

    writable = yes(可写)

    注:vim /etc/samba/smb.conf. 将security=share. 本人win7系统。

    当然这里只是些基础的参数,还有其他的参数根据情况设置,比如会出现乱码,还要指定编码格式。

    4、重启smb服务

    service smb restart

    5、创建samba客户

    smbpasswd -a def,回车后会提示输入密码。这个就是将来远程主机登录时需要的密码,这里的def帐号必须是系统已经有的帐号,没有的话会报错,然后新输的密码就是远程登录密码,这样做的好处就是自己的密码和远程登录的密码分开。

    6、windows下连接,启动运行,输入\\192.168.1.101,输入smb帐号密码就可以了

    第二种 通过NFS来访问主机端共享文件夹

    NFS简介:NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

    NFS最显而易见的好处:

    1>本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。

    2>用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。

    3>诸如软驱,CDROM,和 Zip(是指一种高储存密度的磁盘驱动器与磁盘)之类的存储设备可以在网络上面被别的机器使用。这可减少整个网络上的可移动介质设备的数量。

    1、安装nfs服务器

    Sudo apt-get install nfs-kernel-server

    2、配置NFS服务器

    Sudo vi /etc/exports

    /source/rootfs *(rw,sync,no_subtree_check,no_root_squash)

    Rw:具有读写权限

    Sync:文件同步写入到内存和硬盘

    no_subtree_check:如果共享的是根目录,则不检查子目录

    No_root_squash:如果客户端是root的话,那么他对这个目录具有root的权限

    3、重启NFS服务器

    Sudo service nfs-kernel-server restart

    4、进行挂载测试

    Sudo mount -t nfs localhost:/source/rootfs /mnt

    Ls -l /mnt

    5、卸载

    Sudo umount /mnt

    第三种 通过9p-virtio来访问主机端共享文件夹

    9p-virtio简介: 英文全称为:Plan 9 folder sharing over Virtio - I/O virtualization framework,是一种host和guest端共享文件夹的文件系统服务。目前guest端暂不支持windos系统(系统不支持virtio服务,且mount命令不支持挂载该格式的文件系统)。我测试guest端用的是ubuntu-13.10。

    1, 检查host端是否支持9p-virtio。

    lsmod | grep 9p

    如果已经加载 9p.ko,9pnet_virtio.ko,9pnet.ko,说明已经支持virtio-9p。

    如果不支持,需要重新编译kernel或9p对应的模块,并加载到host系统。编译前需要在kernel中添加如下配置选项:

    CONFIG_NET_9P=y

    CONFIG_NET_9P_VIRTIO=y

    CONFIG_9P_FS=y

    CONFIG_9P_FS_POSIX_ACL=y

    注:如果是模块,将y换成m,建议编译为驱动模块,省时间,’安全性高’。

    2,客户端安装linux系统, 我安装的是ubuntu13-10版本。

    测试时需要用到root账户,所以先把root账户密码激活,

    ubuntu默认root密码不启动,密码激活:sudo passwd root 输入你

    装系统时用户的密码,设置root 密码。

    将guest关机,通过host端命令启动guest。

    3,Host端启动虚拟机命令参数如下:

    qemu-kvm –cpu host -m 1024 -enable-kvm

    -drive file=/var/lib/libvirt/images/zxc_linux1.img,cache=writeback,if=virtio -localtime

    -fsdev local,id=test_dev,path=/var/share,security_model=none

    -device virtio-9p-pci,fsdev=test_dev,mount_tag=testmount

    -vnc 0.0.0.0:0 -vga cirrus -monitor stdio

    启用9p的参数解释如下:

    -fsdev fsdriver,id=[id],path=[pathtoshare]

    ,security_model=[mapped|passthrough|none][,writeout=writeout]

    [,readonly][,socket=socket|sock_fd=sock_fd]

    -device virtio-9p-pci,fsdev=[id],mount_tag=[mount tag]

    Fsdriver: 该选项指定fs驱动端使用,目前支持”only”,”handle”,”proxy”文件 系统驱动。

    Id: 用来关联fsdev

    Path:host端用来共享的文件夹。

    Security_model:应该是共享权限,官方解释是:有效选项被映射,一种是透传模式,一种是none。Proxy文件系统驱动时不需要指定该选项。

    -device 指定设备virtio-9p-pci.

    Mount-tag:一个标识,用来在guest端mount时的tag。

    4,在host端创建要和guest端共享的文件夹

    Mkdir /var/share

    5,在客户端执行如下命令:

    mount -t 9p -o trans=virtio testmount /tmp/shared/ -oversion=9p2000.L,posixacl,cache=loose

    -t 标识mount 类型;

    -o 标识共享传输方式;

    Testmount是mount_tag;

    /tmp/shared 是guest端将要挂载到host端共享文件夹的目录。

    -oversion是标识9p的版本信息。

    展开全文
  • linux和windows文件共享

    千次阅读 2007-06-04 21:51:00
    在一部电脑上装有Linux和Windows的用户,可能需要在Linux中用到包括软盘、光盘以及Windows分区中的文件,如当你在Windows操作系统中上网,却下载了Linux的应用软件的时候。下面我就向大家详细介绍这方面的知识具体...

    在一部电脑上装有Linux和Windows的用户,可能需要在Linux中用到包括软盘、光盘以及Windows分区中的文件,如当你在Windows操作系统中上网,却下载了Linux的应用软件的时候。下面我就向大家详细介绍这方面的知识和具体的应用。


    在一部电脑上装有Linux和Windows的用户,可能需要在Linux中用到包括软盘、光盘以及Windows分区中的文件,如当你在Windows操作系统中上网,却下载了Linux的应用软件的时候。下面我就向大家详细介绍这方面的知识和具体的应用。
      一、装载(mount)
      (一)准备知识
      在Linux系统中想要使用软驱的话,要先把它们装载到系统中,装载指令mount的格式如下:
      mount -t 文件系统类型 设备文件名 装载目录
      1.文件系统类型
      文件系统类型一般来说就是分区格式,依操作系统的不同而不同。下面将Linux系统支持的文件系统类型择要分列如表一:
      2.设备文件名
      在Linux系统中,各个驱动器设备的命名和Windows中的规则(如A:、C:等)有很大的区别。所有的系统硬件设备都可以在/dev目录下找到对应的设备文件名。例如/dev/mouse就用来表示系统中的鼠标。磁盘驱动器的各个不同分区所对应的设备文件名列表如表二:
      假设第一个IDE硬盘驱动器被分成数个分区,通常,第一个分区可以肯定其设备文件名为/dev/hda1,但其它分区的设备文件名就不是可以依次类推得到的(特别是当用户使用了诸如PTM之类的磁盘分区工具的时候)。如果你想要知道硬盘各分区所对应的设备文件名,可以在控制台下执行cfdisk的指令,则各分区对应的设备文件名就可以一目了然了。
      3.装载目录
      通常我们都会在/mnt目录下面为需要装载的磁盘驱动器创建一个目录,不过这并不意味着它们不可以被装载于其它未被使用的目录中。再者,所谓装载目录,并不是将被装载的磁盘驱动器整个复制到本地,而仅仅是在本地提供一个装载点用以联系其它需要装载的磁盘驱动器。
      Linux系统对字符的大小写是敏感的,但是在Windows中就不是这样。而当你装载一个Windows系统中的驱动器后,对其上的文件操作时,字符的大小写就变得不敏感了,这意味着用户不可以在装载的Windows驱动器的同一目录中建立这么两个文件:ABC.TXT和abc.txt,因为在 Windows系统中,它们代表同一个文件。
      (二)装载实例
      1.装载软盘
      首先在/mnt目录下为软磁盘创建一个目录floppy(有时Linux系统在安装的时候已经为你做了这一步):
      mkdir /mnt/floppy
      接着用装载指令将软盘中的内容装载到这一目录中:
      mount -t msdos /dev/fd0 /mnt/floppy
      此后你就可以在/mnt/floppy下完全访问到软磁盘中的内容了。当然你亦可以用vfat这一文件系统类型代替msdos以使你能正确访问到软盘上的长文件名字,或者是用ext2代替它以使你可以访问到Linux文件格式的软盘。
      2.装载FAT 32格式的C盘
      在/mnt目录下为之创建一个目录winc(winc以及其他的装载目录是笔者的假设,你可以用自己喜欢的其他合法字符去命名这些目录):
      mkdir /mnt/winc
      用装载指令将C盘内容装载入该目录:
      mount -t vfat /dev/hda1 /mnt/winc
      3.装载光盘
      在/mnt目录下为你的光盘驱动器创建一个目录cdrom(有的Linux系统安装时已为你完成了这件事):
      mkdir /mnt/cdrom
      如果你的光盘驱动器安装在primary slave上,设备文件名就是/dev/hdb;如果安装在secondary master上,设备文件名就是/dev/hdc。假设你的光盘驱动器挂在secondary master,就用下面的装载指令:
      mount -t iso9600 /dev/hdc /mnt/cdrom
      由于Linux版本的不同,你所用的系统或者会使用这样的指令来装载光盘:
      mount /dev/cdrom
      或mount /mnt/cdrom
      二、卸载(umount)
      如果你已经用指令将软盘装载进相应目录,就不要直接将它们从软驱中取出来,否则可能会导致信息丢失;已经装载的光盘驱动器更是会令面板上的弹出键暂时失效以阻止你将光盘直接取出。
      在你取出它们之前,首先要确定已经没有用户对它们进行访问操作,包括没有工作窗口处在该磁盘驱动器被装载的目录。卸载指令的格式如下:
      umount 卸载目录名
      如用户想要卸载软盘,可以用如下指令:
      umount /mnt/floppy
      三、进阶使用
      (一)为装载指令增加简捷的形式
      用户可以在系统的配置文件/etc/fstab中指定一些常用的需要装载的驱动器,以便用更简捷的指令来装载它们,下面给出一个添加Windows系统的C盘进配置文件的例子:用文件编辑工具vi(也可以用其它你熟悉的文件编辑工具)打开/etc/fstab,我们会看到系统已经为根目录"/"、软磁盘驱动器、光盘驱动器等指定了文件系统类型和设备文件名以及装载目录(可能会因为所用的Linux版本不同,被指定的驱动器会有出入,不过用户可以参照下面的例子做出改动)。你既可以改变它们的预设值,也可以在其中添加新的驱动器。用箭头将光标移到最后一行,将下面一行加入文件:
      /dev/hda1 /mnt/winc vfat defaults 0 0
      如果还想装载硬盘内的其它分区,可以依次加入。完成后保存文件并退出。不要忘记相应的创建目录/mnt/winc。此后你就可以用如下指令装载Windows系统的C盘了:
      mount /mnt/winc
      (二)启动时自动装载磁盘驱动器
      用户可能会希望系统在启动时可以将你惯用的磁盘驱动器(如硬盘中的Windows分区或者是光盘驱动器)自动装载,以减轻每次启动后都要手动装载的麻烦。你可以用以下方法实现自动装载的功能:
      用文件编辑工具打开/etc/fstab,将刚才我们加入的那一行中的defaults改成auto,如:
      /dev/hda1 /mnt/winc vfat auto 0 0
      对于其它想在启动时就装载的磁盘驱动器,都可以将defaults改成auto。需要注意的是,对于硬盘上的Linux分区(包括ext2和swap)并不需要作出这样的改动。
      重新启动系统以后,在/mnt/winc目录下,你就可以看到系统在启动时就装载好的Windows系统的C盘了。
      四、使用Mtools
      在Linux中想要共享Windows系统资源,除了上面介绍的装载(mount)命令之外,还有一组名为Mtools的软件包可以实现这一功能。和大多数实用工具一样,Mtools软件包亦是Linux系统默认的安装套件。你可以在http://mtools.ltnb.lu/下载到它的最新版本 mtools-3.9.7.tar.gz。
      (一)Mtools命令
      对于熟悉DOS命令的用户来说,Mtools命令会让他们感觉到像回到了DOS的世界。在下面的表格中我们可以看出它们有多么相似:
      很显然,Mtools命令是简单地在DOS命令前加上了一个m前缀,功能还是和在DOS下一样的。须要注意的是,更改目录路径在DOS命令中可以有 cd和chdir两种命令格式,但是在Mtools中只有mcd一种格式。类似的在Mtools中没有对应的命令还有mkdir、rmdir、 rename等等。
      (二)mtools.conf文档的配置
      因为Mtools是一个仿真DOS命令的软件包,所以它也保存着DOS系统下的磁盘驱动器概念。Mtools不但可以实现A盘 、B盘、 C盘的概念,对于一些特殊驱动器(如ZIP驱动器)更有专门的命令(mzip)以让用户方便地进行操作。在默认的环境下,A盘和B盘分别对应着两个软盘驱动器(如果有的话),N盘则对应着DOSMU启动盘的镜像文件。
      我们可以通过修改/etc/mtools.conf文档来改变默认的配置,当然在做出修改之前你仍要对Linux下的设备文件名有相当的认识才行(请参考上一期本版有关设备及其文件名的介绍)。假设你的机器有一个1.44MB软驱(A),硬盘挂在第一个IDE接口的主位置上,在第一个分区(C盘)中安装有Windows操作系统,光驱挂在第二个IDE接口的主位置上(D盘),以及SCSI盘等,则可以对mtools.conf文档简单配置如下:
      mtools.conf
      drive a: file=″/dev/fd0″ exclusive 1.44m
      drive c: file=″/dev/hda1″
      drive d: file=″/dev/hdc″
      drive X: file=″/dev/rdsk/c0t5d0s2″ partition=4 scsi=1 nodelay
      (三)Mtools命令的使用
      Mtools的命令系统和DOS有很多相似之处,比如在命令后面可以加不同的参数以实现更为丰富的功能(Mtools命令的参数使用方法是在命令后面加"-<参数>",你可以把它想象成用"-"代替了DOS命令使用的"/"),可以使用通配符"?"和"*"。更为方便的是,使用 Mtools不需要事先装载(mount)和事后卸载(umount)。
      下面我们以目录列表命令mdir为例作说明(想知道其它命令的使用格式和更多的可用参数可以用man 命令查看相关帮助系统)。mdir的功能是对DOS目录和其中的文档进行列表操作。命令格式如下:
      mdir [-/] [-f] [-w] [-a] [-X] msdosfile [msdosfile]
      各命令参数的功能分述如下:
      /:输出当前路径下的所有目录和文档,相当于DOS命令dir中的"s"参数;
      f:列表时不尝试计算当前分区的自由空间,对于大硬盘来说,这样做可以节省一些读入和扫描分区表(FAT)的时间;
      w:列表时在一行中显示多个目录文档,这种输出格式将不显示文档的大小和创建时间,相当于DOS命令dir中的"w"参数;
      a:列出隐藏的目录文档;
      X:简要列表, 列出路径名而不列出其它附加的信息。
      一些具体的应用实例:
      1.列表A盘下的所有目录文档(不包括隐藏的目录文档)
      mdir -/ a:
      2.列表C盘Windows目录下含有"abc"的目录文档
      mdir c:/windows/*abc*
      或者mdir c:/windows/*Abc*
      注:在Mtools命令中,/和/是可以混用的。又因为列表的是DOS系统下的文档,对大小写并不敏感,所以"abc"和"Abc"在这里是等价的。而通配符"*"的用法和DOS命令亦有所不同。
      五、在Windows系统中共享Linux系统的文档
      无论对于刚接触Linux的新手还是对之已经熟悉的高手,恐怕都免不了想在Windows系统中调阅Linux系统的文档。这可以使用在Windows系统下观看Linux分区的小软件(如fsdext2等)。这里再向各位推荐两种可以实现这种功能的小软件。
      (一)Linuxindos
      Linuxindos是一个不到500KB的小程序,笔者找到的版本是Beta 0.9的DEMO版,用户可以在http://best.163.com/~linux/soft/下载试用。程序不需安装就可以在Windows系统下运行,使用也非常简单。
      在Windows系统下将linuxindos.zip解压到硬盘目录,用户就会看到一个带着企鹅图标的可执行程序LiD95Demo.exe。启动程序后,会出现一个接口非常简单的窗口,当用户挑选一个含有Linux系统文档的磁盘驱动器以后,Linux分区中的所有文档就会显示出来,左边窗口列出的是Linux分区中的目录,而右窗口就列出了目录内的文档,感觉就像在Windows的资源管理器中一样。
      (二)Explore2fs
      这是一个更为小巧的自由软件,大小约308KB,用户也可以在http://best.163.com/~linux/soft/下载使用。正如它的名字一样,这是一个有着类似资源管理器窗口的程序,通过它你可以读取Linux系统下的分区。和Linuxindos一样,Explore2fs的主视窗亦分为左右两个,左边显示的是Linux中的目录,而右边显示的就是目录中的文档了,可以简单地将右边视窗中的文档直接拖到Windows系统分区中。
      在右边视窗中选择好文档后,按下鼠标右键可以选择相应的操作,"Export file"是直接导出文档,而"Export to Text"则是除去文档的分隔符后导出和TEXT兼容的文本文档。  (广东 念青)

    菜鸟们只需掌握mount与umount就可以了,后面几个嘛...嘿嘿,我也没用过!!! 
    展开全文
  • 实现linuxwindows文件共享

    千次阅读 2012-02-28 15:15:00
    一. Samba 简介  Samba(SMB是其缩写) 是一个网络服务器...Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,N

    转载自    http://spiritfrog.iteye.com/blog/216768

    一. Samba 简介 
    Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 

    大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 

    我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。 

    二.   Samba的几个套件,安装及简单配置 
    samba,samba-client, samba-common 
    一句 sudo apt-get install samba samba-client 就能全部装上 
    启动samba也很简单: sudo /etc/init.d/samba start 
    设置samba的密码, 可以先添加samba用户, 必须是系统用户。 
    smbpasswd -a yourname 

    三. 互访 
    1)windows访问ubuntu 
    windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可, 鼠标右键点目录,选择sharing options, 够选share this folder,需要的话也可以够选下面的allow write 
    这时在windows的网络邻居中的网络中查找就能找到共享目录了,通过//host也行 

    2)ubuntu访问windows 

    第一种:在ubuntu的网络中直接浏览访问 

    位置->网络,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。 

    第二种:用ubuntu 系统自带的连接到服务器功能访问 

    位置->连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷,里面就是windows计算机的共享目录了。 
    同样在访问的时候要输入smb的用户名和密码。 

    第三种:用mount’挂载windows的共享目录到本地磁盘 

    首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 
    同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 
    以windows的ip为192.168.0.1,共享文件夹为share为例 
    命令如下: 
    mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind 
    有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 
    mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 

    注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 

    第四种:使用smbclient 命令 
    一般来讲先列出所有共享目录,命令如下: 
    smbclient –L //192.168.0.1/ -U yourname 
    输入smb的密码后,将看到共享目录列表。 
    假设进入共享目录share,命令如下: 
    smbclient  //192.168.0.1/share -U yourname 
    之后将看到一个smb:> 
    已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 

    五. 小结 
    以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:http://linux.vbird.org/linux_server/0370samba.php#server_pkg 

    展开全文
  • linux访问windows共享文件方法

    千次阅读 2016-04-28 17:16:32
    samba就是让windows和unix系列os之间的文件可以互相访问的软件。使用samba访问windows共享文件夹,需要安装smbclient。 $ sudo apt-get install smbclient 安装好后,就可以访问共享文件了。 $ smbclient --...
  • vmvare中linux和windows共享文件方法

    千次阅读 2008-01-14 22:17:00
    为了更好的解决虚拟机与主机的共享问题,VMware公司有一个VMWare-tools,来实现文件共享。这里主要讲的是在Windows下用 Vmware虚拟Linux来与windows来共享。至于Windows主机与Windows客户虚拟机之间的文件的共享就...
  • windows和Linux下面的文件共享一直是一个很纠结的问题,尤其是使用虚拟机的童鞋,经常要把虚拟机里面的东西copy出来但是却找不到一个很好的方法 事实上借助于Linux强大的服务器的功能,搭建一个FTP服务器无疑成了一...
  • LinuxWindows共享文件的方法,我所了解的有samba、ftpnfs三种。虽说可以直接用鼠标直接拖动文件实现两个平台间的文件共享,但是可能对于内存较大的文件的共享不太方便,也比较容易出现问题,所以对于“大”文件...
  • 文件共享方法Linuxwindows之间的其他共享方法可参考: http://www.cnblogs.com/dingyingsi/archive/2013/04/16/3023392.html 这里记录一下ssh工具共享的方法第一步下载安装工具 ...
  • 用samba在linux和windows之间共享文件

    千次阅读 2018-07-11 19:12:05
    今天偶然发现三年前做嵌入式的时候写过一些小的总结,我现在不做嵌入式... 在做linux嵌入式开发的时候,不得不搭建文件系统使得主机windows和从机linux之间 共享文。虽然VMware已经提供了VMware tool可以在一定程度...
  • 1.找到需要共享Windows文件,右键--共享--特定用户出现一下界面 2.选择一个用户,或者创建一个新的用户,权限级别为读取写入,然后点击共享,这是会出现本地磁盘的网络连接 创建新用户--管理其它账户--在...
  • 最全LinuxLinux Windows 文件共享

    千次阅读 2016-03-11 17:25:38
    前提说明: windows主机信息:192.168.1.100 帐号:abc 密码:123 共享文件夹:...由于暂时还不会防火墙SELINUX配置,而下面有些方法中的操作会受到他们的限制,因此先关闭这俩。 关闭防火墙的命令:service iptables
  • 零基础学习Linux(三)linuxwindows文件共享

    千次阅读 热门讨论 2013-10-09 00:02:00
    上次的博文零基础学习Linux(一)环境搭建中我们已经将linux环境部署完毕了,接下来我们就可以在linux上进行软件的安装环境的配置。但在进行这些操作之前,我们还需要解决一个问题——Linuxwindows文件共享
  • 实现Windows和Linux之间的文件共享

    万次阅读 2018-06-30 07:14:53
    一、windowslinux共享文件(这里都是以win10ubuntu为例)首先,打开网络共享中心。如图1图1打开更改高级共享设置(图2)图 2选择启用网络发现以及...
  • Linuxwindows之间实现文件共享

    千次阅读 2016-03-30 18:05:20
     当Linux端有文件需要共享Windows时,之前的samba服务可以方便迅速的解决问题,如有需要大家可以参考: Centos6.7下 samba服务器的搭建与配置(share共享模式)  当Windows端有文件需要共享Linux呢?下面...
  • VMware下LinuxWindows共享文件

    万次阅读 2018-03-26 23:22:28
    因此,经常需要用到LinuxWindows共享文件的功能。最近由于更换了新的开发主机,发现新主机下无法实现共享文件的功能。印象中,在此之前,搭建虚拟机环境时已经遇到过类似的问题,但由于未有作相关记录,只能从...
  • linux(虚拟机中)与windows共享文件两种方法Windows 下用 SourceInsight 与 Linux 协作编码 习惯了用SourceInsight 读写代码,在Linux下一时没找到类似的工具,vi的操作也不熟,偶尔看看或小改动代码还行,项目一大...
  • 本地用户组–>在用户项中双击Guest用户–>取消账号已禁用选项 (二)、设置共享目录权限 右击共享目录点属性–>在共享页面中点击共享选项–>下拉选择共享对象为Everyone–>点击共享按钮 (三)、...
  • linux和windows文件共享---利用samba

    千次阅读 2006-12-25 14:23:00
    大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的...
  • 背景描述: 我在windows 10电脑上装了一个vmware11,vmware...(要知道给vs配置好linux头文件以后开发linux程序是何其方便,配合vmware文件共享,编码编译简直不能太酸爽) 遇到问题: 使用vmware给linux虚拟机设
  • linux 共享 windows 文件 cifs-utils

    千次阅读 2019-08-19 14:56:49
    linux 操作 yum -y install cifs-utils // 安装 ...windows 操作 共享文件夹->属性->共享 点击共享->添加用户->设置权限级别 建议权限都给上 linux 操作 mount -t cifs //192.168.142.1/go_...
  • 我们都知道有很多种方法可以实现VMware虚拟机下的Linux系统与Windows系统共享传输文件,比如NFS、Smba协议、虚拟机自带的共享文件夹功能等。下面介绍一共设置既方便有好用的用于Linux系统与Windows系统共享文件的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 187,347
精华内容 74,938
关键字:

linux和windows文件共享方法

linux 订阅