收起左侧

分享一个mac删除.DS_Store及._xxx青龙面板脚本

8
回复
1504
查看
[ 复制链接 ]

7

主题

10

回帖

0

牛值

江湖小虾

2024-10-16 22:36:46 显示全部楼层 阅读模式

使用mac进行文件备份时会出现一个很恶心的情况,就是有一堆的.DS_Store和._xxx文件在目录中,而飞牛没有对其进行过滤,所以利用自带的青龙面板写了个脚本,定时自动删除这些垃圾文件。

首先需要映射目录到青龙面板的docker中

image.png

然后进入青龙面板创建一个脚本

#!/bin/bash

# 指定固定的目标目录路径
target_dir="/vol2"

# 初始化计数器
ds_store_deleted=0
underscore_deleted=0

# 使用 xargs 并行删除 .DS_Store 文件,并统计删除数量
ds_store_deleted=$(find "$target_dir" -type f -name ".DS_Store" -print0 | xargs -0 -P 4 rm -f --verbose | wc -l)
echo ".DS_Store 文件删除完成,总计删除 $ds_store_deleted 个文件"

# 使用 xargs 并行删除以 ._ 开头的文件,并统计删除数量
underscore_deleted=$(find "$target_dir" -type f -name "._*" -print0 | xargs -0 -P 4 rm -f --verbose | wc -l)
echo "._ 开头的文件删除完成,总计删除 $underscore_deleted 个文件"

修改target_dir路径为你自己的在青龙面板中的路径,也就是第一张图片后面的那个路径

然后设置定时任务

image.png

定时规则为每天0点删除,但是因为我一般备份频律不高,所以选择手动运行,那么这里随便设,然后出去禁用脚本,用的时候手动点下运行即可。

日志中会显示删除的文件数量

image.png

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

29

主题

25

回帖

0

牛值

初出茅庐

2024-11-21 16:11:57 显示全部楼层
正需要,也被这烦死了  晚上回去试试

0

主题

1

回帖

0

牛值

江湖小虾

2024-12-6 10:12:00 显示全部楼层
https://support.apple.com/zh-cn/102064 取消DS_Store文件在网络共享下的生成

4

主题

53

回帖

0

牛值

初出茅庐

2024-12-17 14:31:30 显示全部楼层
真不知道是谁教的苹果到处拉屎的臭毛病

4

主题

53

回帖

0

牛值

初出茅庐

2024-12-17 14:37:19 显示全部楼层
要删除多个目录应该怎么操作啊?
[md]会了。 ```bash #!/bin/bash # 指定多个目标目录路径 target_dirs=("/vol1" "/vol2" "/vol3" "/vol4") # 初始化计数器 ds_store_deleted=0 underscore_deleted=0 # 遍历所有目标目录 for dir in "${target_d  详情 回复
2024-12-17 14:56

4

主题

53

回帖

0

牛值

初出茅庐

2024-12-17 14:56:47 显示全部楼层

会了。

#!/bin/bash

# 指定多个目标目录路径
target_dirs=("/vol1" "/vol2" "/vol3" "/vol4")

# 初始化计数器
ds_store_deleted=0
underscore_deleted=0

# 遍历所有目标目录
for dir in "${target_dirs[@]}"; do
    # 使用 xargs 并行删除 .DS_Store 文件,并统计删除数量
    ds_store_deleted=$(find "$dir" -type f -name ".DS_Store" -print0 | xargs -0 -P 4 rm -f --verbose | wc -l)
    echo ".DS_Store 文件在 $dir 删除完成,总计删除 $ds_store_deleted 个文件"

    # 使用 xargs 并行删除以 ._ 开头的文件,并统计删除数量
    underscore_deleted=$(find "$dir" -type f -name "._*" -print0 | xargs -0 -P 4 rm -f --verbose | wc -l)
    echo "._ 开头的文件在 $dir 删除完成,总计删除 $underscore_deleted 个文件"
done
按照楼主的方法运行,明明文件中有很多这种无效文件但是确无法删除。这是什么原因呢? 目标目录为vol1、vol2  详情 回复
2025-2-15 00:28

0

主题

7

回帖

0

牛值

江湖小虾

2025-2-15 00:28:21 显示全部楼层
按照楼主的方法运行,明明文件中有很多这种无效文件但是确无法删除。这是什么原因呢?
目标目录为vol1、vol2
find: /vol2: No such file or directory .DS_Store 文件删除完成,总计删除 0 个文件  详情 回复
2025-2-15 00:41

0

主题

7

回帖

0

牛值

江湖小虾

2025-2-15 00:41:26 显示全部楼层
find: /vol2: No such file or directory
.DS_Store 文件删除完成,总计删除 0 个文件
看这个提示,像是你的目录不是 vol2 ,你找到目标目录,右键单击,然后选择详细信息那项,然后在弹窗中点击“复制原始路径”, 然后找个地方粘贴,看看你要清理的目录是不是 vol2。  详情 回复
2025-3-14 14:23

4

主题

53

回帖

0

牛值

初出茅庐

2025-3-14 14:23:09 显示全部楼层
看这个提示,像是你的目录不是 vol2 ,你找到目标目录,右键单击,然后选择详细信息那项,然后在弹窗中点击“复制原始路径”, 然后找个地方粘贴,看看你要清理的目录是不是 vol2。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则