您所在的位置:读书频道 > 操作系统 > Linux > 20.4.2 Linux系统的使用

20.4.2 Linux系统的使用

2007-12-07 10:42 鸟哥 机械工业出版社华章公司 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜——服务器架设篇》(第二版)第20章的主要介绍的是在不同的平台上利用同样的协议进行文件传输的操作。本文说的是Linux系统的使用。

AD:

20.4.2  Linux系统的使用

SAMBA具有提供Linux网上邻居的客户端功能,也就是说Linux可以挂载SAMBA主机也能挂载Windows提供的网上邻居,主要是通过smbClient来观察,再以smbmount或mount来挂载扇区。先来介绍一下smbClient指令。

1. 关于查询的功能
[root@linux ~]# smbClient -L //[IP|hostname] [-U username]
[root@linux ~]# smbClient -L //127.0.0.1 -U dmtsai
Password:
Domain=[VBIRDSERVER] OS=[Unix] Server=[samba 3.0.10-1.4E.9]
…
Domain=[VBIRDSERVER] OS=[Unix] Server=[samba 3.0.10-1.4E.9]

    Server           Comment
    ---------        -------

    Workgroup        Master
    ---------        -------
    VBIRDGRP         VBIRD_OP_2
    VBIRDHOUSE       VBIRDSERVER
# 从这里可以知道在目前网段中有多少个工作组与主要的名称解析主机

除了查询功能外,还可以这样使用网上邻居:

2. 利用类似FTP的方式登录远程主机
[root@linux ~]# smbClient '//[IP|hostname]/资源名称' [-U username]
#使用某个账号来直接登录某台主机的某个分享资源
[root@linux ~]# smbClient '//127.0.0.1/dmtsai' -U dmtsai
Password:
Domain=[VBIRDSERVER] OS=[Unix] Server=[samba 3.0.10-1.4E.9]
smb: \> dir
# 在smb下面就是在//127.0.0.1/dmtsai这个目录下面
# 可以使用dir、get、put等常用FTP指令进行数据传输
?:列出所有可以用的指令
cd:变换到远程主机的目录
del:删除某个文件
lcd:变换本机端的目录
ls:查看目前所在目录的文件
dir:与ls相同
get:下载单一文件
mget:下载大量文件
mput:上传大量文件
put:上传单一文件
rm:删除文件
# 其他的指令用法请参考man smbClient

事实上,使用smbClient不太方便,因为使用的是FTP的功能语法,因此不容易接收,能不能像Windows那样,可以直接联机网络磁盘驱动器呢?这当然没有问题。不过就需要通过smbmount来协助。smbmount可以将远程主机分享出来的目录通过mount到本机的mount point(某个目录),如此一来,远程主机的目录就好像在我们本机的一个partition一样。可以直接执行复制、编辑等操作。下面谈一谈怎么用smbmount。

[root@linux ~]# smbmount //IP/分享资源 /挂载点 [-o options]
参数-o后面接的参数(options)常用的有以下这些:
   Username:登录账号,例如 username=dmtsai
   Password:登录密码,需要与上面的username相对应
   Iocharset:本机的语言编码方式,如big5或utf8等
   Codepage:远程主机的语言编码方式,例如繁体中文为cp950

范例一:以dmtsai的身份将其默认目录挂载至/mnt/samba中
[root@linux ~]# smbmount //127.0.0.1/dmtsai /mnt/samba
> -o username=dmtsai,password=pw_test,codepage=cp950
[root@linux ~]# df
//127.0.0.1/dmtsai  20161024  3088896  17072128  16% /mnt/samba

通过smbmount的操作,我们就可以轻易的将远程共享的资源挂载到自己Linux本机上了。事实上,原本mount指令如果支持smbfs的话,那也可以直接挂载网上邻居共享的目录。如上面的例子,也可以下达以下指令:

mount -t smbfs //127.0.0.1/dmtsai /mnt/samba \
-o username=dmtsai,password=pw_test,codepage=cp950,iocharset=big5

更详细的mount用法,请参考《鸟哥的私房菜——基础学习篇》的内容。

1. 查询NetBIOS Name、IP及其他相关信息

现在可以通过一些NetBIOS相关的功能来获取NetBIOS Name,不过,如果还想知道NetBIOS Name的其他信息时,例如IP、共享的资源等,可以使用nmblookup指令来实现。

[root@linux ~]# nmblookup [-S] [-U wins IP] [-A IP] name
参数
-S,除了查询name的IP之外,也会找出该主机的共享资源与MAC等
-U,后面一般可接Windows的主要名称管理服务器的IP,可与-R互用
-R,与-U互用,以Wins服务器来查询某个Netbios Name
-A,相对于其他的参数,-A后面可接IP ,藉IP来找出相对的NetBIOS数据

范例一:通过本机找出vbirdServer这台主机的IP地址
[root@linux ~]# nmblookup -U localhost vbirdServer
querying vbirdServer on 127.0.0.1
192.168.1.254 vbirdServer<00>

范例二:找出vbirdServer的MAC与IP等信息
[root@linux ~]# nmblookup -S vbirdServer
querying vbirdServer on 192.168.1.255
192.168.1.254 vbirdServer<00>
Looking up status of 192.168.1.254
     VBIRDSERVER     <00> -         B 
    _MSBROWSE__. <01> -  B 
     VBIRDHOUSE      <1e> -  B 

     MAC Address=00-00-00-00-00-00 <==因为是本机数据,所以MAC会成为这样

2. 利用smbstatus观察SAMBA的状态

如果想要查阅目前SAMBA有多少人联机且哪些资源共享的话,可以这样操作:

[root@linux ~]# smbstatus [-pS] [-u username]
参数
-p,列出已经使用SAMBA联机的程序PID 
-S,列出已经被使用的资源共享状态
-u,只列出某个用户相关的共享数据

范例一:列出目前主机完整的SAMBA状态
[root@linux ~]# smbstatus
SAMBA version 3.0.10-1.4E.9
PID     Username      Group         Machine
-------------------------------------------------------------------
 4973   dmtsai        dmtsai        127.0.0.1    (127.0.0.1)
# 上面列出的是与PID有关的信息,可用smbstatus -p单纯列出

Service      pid     machine       Connected at
-------------------------------------------------------
dmtsai        4973   127.0.0.1     Thu Dec 28 10:58:36 2006
# 上面列出的是共享资源,那个Service就是分享的目录

可以通过上述程序了解到目前有多少人正在使用您的SAMBA。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

精通SOA:基于服务总线的Struts+EJB+Web Service
Java的出现,实现了跨操作系统平台的程序开发,以Java为基础的J2EE技术已经成为因特网服务技术的主流。然而,以J2EE为基础的SOA

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院