随机
Enter 搜索 ↑↓ 切换 Esc 清空

fnos-new-dir

命令

飞牛 fnOS 创建下载目录

fnos-new-dir

飞牛 fnOS 创建下载目录

补充说明

fnos-new-dir 是专为飞牛 fnOS(NAS 系统)设计的下载目录批量创建脚本。通过一条命令同时创建多个网盘和下载工具的存储目录,并自动设置正确的权限和属主,避免下载工具因目录权限不足而无法写入的问题。

适用于飞牛 fnOS、OpenWrt、iStoreOS 等基于 Linux 的 NAS/路由器系统。

为什么要统一创建下载目录

在 NAS 或路由器上运行多款下载工具时,如果每个工具各自创建目录,容易出现:

使用本脚本一次性创建所有目录,可确保权限和属主统一。

目录结构说明

/vol2/1000/downloads/          # 下载根目录(fnOS 第二块盘)
├── 115/                        # 115 网盘挂载目录
├── 123/                        # 123 网盘挂载目录
├── aliyun/                     # 阿里云盘挂载目录
├── baidu/                      # 百度网盘挂载目录
├── downloads/                  # 通用下载目录
├── gopeed/                     # Gopeed 下载工具目录
├── metube/                     # Metube YouTube 下载目录
├── qbittorrent/              # qBittorrent 种子下载目录
├── quark/                      # 夸克网盘挂载目录
├── transmission/              # Transmission 种子下载目录
└── xunlei/                    # 迅雷远程下载目录

路径说明/vol2/1000/ 是飞牛 fnOS 第二块存储盘的用户目录,1000 对应用户 mobufan 的 UID。

语法

fnos-new-dir [选项]

本命令实际上是一条组合 Shell 命令,核心由 mkdirchmodchown 三个命令组成。

选项

本脚本为固定命令,无额外选项。如需自定义,直接修改命令中的目录名即可。

一键命令

创建目录 + 设置权限 + 设置属主(完整版)

# 创建所有下载目录
mkdir -p /vol2/1000/downloads/{115,123,aliyun,baidu,downloads,gopeed,metube,qbittorrent,quark,transmission,xunlei} \
  && chmod -R 755 /vol2/1000/downloads/ \
  && chown -R mobufan:mobufan /vol2/1000/downloads/

# 验证结果
ls -la /vol2/1000/downloads/

分步执行(便于排查问题)

# 第一步:创建目录
mkdir -p /vol2/1000/downloads/{115,123,aliyun,baidu,downloads,gopeed,metube,qbittorrent,quark,transmission,xunlei}

# 第二步:设置权限为 755(rwxr-xr-x)
chmod -R 755 /vol2/1000/downloads/

# 第三步:设置属主和属组为 mobufan
chown -R mobufan:mobufan /vol2/1000/downloads/

# 验证
ls -la /vol2/1000/downloads/

权限说明

权限 数字 含义
rwxr-xr-x 755 所有者可读写执行,组用户和其他用户可读可执行(推荐用于目录)
rw-r--r-- 644 所有者可读写,其他用户只读(推荐用于文件)
rwx------ 700 仅所有者有完整权限(私密目录)
rwxrwxrwx 777 所有用户均有完整权限(不安全,不推荐)

Docker 容器权限注意事项

在 fnOS 上使用 Docker Compose 部署下载工具时,需要注意:

# docker-compose.yml 示例(qBittorrent)
services:
  qbittorrent:
    image: linuxserver/qbittorrent
    volumes:
      - /vol2/1000/downloads/qbittorrent:/downloads
    environment:
      - PUID=1000          # 与目录属主 UID 一致
      - PGID=1000          # 与目录属组 GID 一致

关键点PUIDPGID 必须与目录的属主 UID/GID 一致,否则容器内部用户无权写入挂载目录。

自定义目录

如果只需要部分目录,或修改目录名称,直接编辑花括号内容即可:

# 只创建常用网盘目录
mkdir -p /vol2/1000/downloads/{115,aliyun,baidu} \
  && chmod -R 755 /vol2/1000/downloads/ \
  && chown -R mobufan:mobufan /vol2/1000/downloads/

# 添加自定义目录
mkdir -p /vol2/1000/downloads/{115,123,aliyun,baidu,downloads,gopeed,metube,qbittorrent,quark,transmission,xunlei,onedrive,google-drive} \
  && chmod -R 755 /vol2/1000/downloads/ \
  && chown -R mobufan:mobufan /vol2/1000/downloads/

不同存储路径

如果你的 fnOS 存储盘路径不同,修改 /vol2/1000/ 部分:

# 第一块盘
mkdir -p /vol1/1000/downloads/{115,123,aliyun,baidu,downloads,gopeed,metube,qbittorrent,quark,transmission,xunlei} \
  && chmod -R 755 /vol1/1000/downloads/ \
  && chown -R mobufan:mobufan /vol1/1000/downloads/

# 自定义路径
mkdir -p /mnt/data/downloads/{115,123,aliyun,baidu,downloads,gopeed,metube,qbittorrent,quark,transmission,xunlei} \
  && chmod -R 755 /mnt/data/downloads/ \
  && chown -R mobufan:mobufan /mnt/data/downloads/

相关命令

命令 说明
mkdir 创建目录的基础命令
chmod 修改文件或目录权限
chown 修改文件或目录的属主和属组
ls 查看目录和权限信息(ls -la
id 查看当前用户的 UID 和 GID

常见问题

Q: 执行后提示 mkdir: cannot create directory

A: 检查路径是否存在,以及当前用户是否有写入权限。在 fnOS 上可能需要 sudo 或切换到 root 用户执行。

Q: Docker 容器仍然无法写入目录?

A: 检查 docker-compose.yml 中的 PUIDPGID 是否与目录属主 UID/GID 一致。可运行 id mobufan 查看正确的 UID/GID。

Q: 修改了目录权限后,下载工具仍报错?

A: 某些下载工具(如 qBittorrent)需要在 Web UI 中重新设置下载路径,或重启容器使权限生效。

Q: 如何查看目录的当前权限和属主?

A: 使用 ls -la /vol2/1000/downloads/ 查看,输出中第一列是权限,第三列是属主,第四列是属组。