You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在无用户连接时简便列出Samba共享资源

如何在无用户连接时简便列出Samba共享资源

嗨,这个问题我太有共鸣了!smbstatus确实只能显示当前活跃的连接,要找出所有配置好的共享,你之前用的testparm加awk的命令虽然能跑通,但写起来有点繁琐,这里给你几个更省心的替代方法:

方法1:简化版testparm提取命令

如果只是想获取共享名称和对应路径,不用写那么复杂的awk逻辑,试试这条更直观的命令:

testparm -s 2>/dev/null | awk '/^\[/{share=$0} /path =/{print share " -> " $3}'

它会输出类似这样的结果,把共享名称和路径对应起来,一目了然:

[Archive 04] -> /volume1/Archive 04
[Archive 05] -> /volume2/Archive 05
[Archive 06] -> /volume3/Archive 06

方法2:用smbclient一键列出所有共享

smbclient是Samba自带的客户端工具,不需要复杂的文本处理,直接执行这条命令就能快速列出本地所有共享(包括系统默认的隐藏共享):

smbclient -L localhost -N

参数解释:

  • -L localhost:指定查询本地Samba服务器
  • -N:跳过密码输入(查询本地共享无需身份验证)

输出结果会分类展示,Sharename栏目下就是所有配置好的共享名称,还会标注共享类型(比如Disk代表磁盘共享)。

方法3:直接读取Samba配置文件

如果你的Samba配置文件在默认路径(比如/etc/samba/smb.conf),也可以用grep直接提取所有共享名称:

grep -E "^\\[.*\\]$" /etc/samba/smb.conf

要是需要同时查看对应路径,搭配awk就能实现:

awk '/^\[/{print "\n共享名称:" $0} /path =/{print "  对应路径:" $3}' /etc/samba/smb.conf

对比你原来的命令,上面这几种方法要么更简洁,要么可读性更强,日常运维用起来顺手多了~

备注:内容来源于stack exchange,提问作者SebMa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:19:34