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

Linux新手技术咨询:如何获取排除特定子目录的路径列表并使用rclone将项目复制到Google Drive时排除node_modules目录

Hey there! As a fellow Linux user who's tinkered with rclone and file organization, let's break this down into two clear parts: getting rclone to copy your projects to Google Drive while skipping those bulky node_modules directories, and how to generate a list of those excluded paths using find and grep.

Using rclone to Copy Projects (Excluding Specific node_modules)

You've got two straightforward options here, depending on how many node_modules directories you need to exclude:

Option 1: Exclude Specific Paths Directly in the Command

If you only have a few targeted node_modules folders (like your example: myBlog/node_modules/ and myBlog/backend/node_modules), you can use rclone's --exclude flag for each one. The ** wildcard ensures we skip everything inside those directories, not just the folder itself:

rclone copy /path/to/your/project remote:GoogleDrive/Projects \
  --exclude "myBlog/node_modules/**" \
  --exclude "myBlog/backend/node_modules/**"

Just replace /path/to/your/project with your actual project root, and remote:GoogleDrive/Projects with your rclone remote name and the target folder in Google Drive.

Option 2: Use an Exclude List File (Great for Many Paths)

If you have tons of node_modules directories, it's cleaner to generate a list first (we'll cover how next) and tell rclone to use that list. Save your excluded paths (each ending with /**) to a file like exclude-list.txt, then run:

rclone copy /path/to/your/project remote:GoogleDrive/Projects --exclude-from exclude-list.txt
Generating the List of node_modules Paths with find & grep

Let's create that exclude list (or just get a view of all your node_modules folders) using basic command-line tools:

List All node_modules Directories (Absolute Paths)

To find every node_modules folder under your project root, run:

find /path/to/your/project -type d -name "node_modules"
  • -type d: Only look for directories (not files)
  • -name "node_modules": Match folders named exactly "node_modules"

List Relative Paths (Perfect for rclone's Exclude List)

If you want paths relative to your project root (which is what rclone needs for the --exclude flags), add -printf "%P\n" to the command:

find /path/to/your/project -type d -name "node_modules" -printf "%P\n"

This will output lines like myBlog/node_modules or myBlog/backend/node_modules instead of full absolute paths.

Filter to Specific Subdirectories (Like Only myBlog's node_modules)

If you only want to target node_modules folders under myBlog, pipe the output to grep to filter:

find /path/to/your/project -type d -name "node_modules" -printf "%P\n" | grep "^myBlog/"

The ^ ensures we only match paths that start with myBlog/, so we don't pick up any node_modules outside that subdirectory.

Save to an Exclude List File

To turn this filtered list into something rclone can use, append /** to each path (to exclude all contents) and save to a file:

find /path/to/your/project -type d -name "node_modules" -printf "%P/**\n" > exclude-list.txt

Now you can use this file with rclone's --exclude-from flag as shown earlier.

Hope this gets you up and running without copying unnecessary gigabytes of node_modules files! Let me know if you hit any snags.

内容的提问来源于stack exchange,提问作者skyraider

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:53:11