【问题标题】:Cannot create subfolder on USB Disk, Ubuntu 19.10无法在 U 盘上创建子文件夹,Ubuntu 19.10
【发布时间】:2023-04-11 05:50:01
【问题描述】:

我在 Raspberry Pi 4 上运行 Ubuntu 19.10。我需要记录一些数据,因此将 USB 记忆棒插入 PI 并希望将记录保存到此位置。 我通过mount检查了路径:

 /dev/sda1 on /media/ubuntu/USB DISK

所以我将我的应用程序的dataPath 设置为:media/ubuntu/USB DISK/records。 在我的应用程序中,我有以下功能:

time_t ct = time(0);
mkdir(dataPath.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); //this works: creates /records on the disk
//chmod(dataPath.c_str(), 0777)

tm *ltm = localtime(&ct);
String timeStr = format("%i_%i_%i_%i:%i:%i", 1900+ltm->tm_year, 1+ltm->tm_mon
                       , ltm->tm_mday, 1+ltm->tm_hour, 1+ltm->tm_min, 1+ltm->tm_sec);
String fullPath = dataPath + "/" + timeStr;
const char *c = fullPath.c_str(); // /media/ubuntu/USB DISK/records/2020_6_15_8:30:3
auto f = mkdir(c, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);

第一个mkdir 命令在USB 磁盘上运行并创建/media/ubuntu/USB DISK/records/。 但是应该创建/media/ubuntu/USB DISK/records/2020_6_15_8:30:3 的第二个命令不起作用。 records 目录下没有子文件夹。

我的脚本开头是:sudo ./main

任何想法,可能是什么问题?

【问题讨论】:

标签: ubuntu raspberry-pi mkdir


【解决方案1】:

命名文件夹和文件时,您必须保持在文件系统的约束范围内。名称中的冒号“:”无效,不应用于文件夹命名(如@Maxmim 的评论中所述)。最好将所有文件夹名称保留为字母数字字符,包括附加的连字符和下划线。如果以及何时在不同的文件系统上读取文件/文件夹,这可以减少复杂性。此外,请注意大写,因为某些系统区分大小写,而其他系统则不区分大小写(例如 Windows 与 Raspbian/Linux)。

您可以使用的另一种命名系统是用连字符代替冒号,并且日期时间在 Raspbian、Windows 和 Linux 上仍然可读(例如 2020-12-17-1117-53)。这是直到第二个的完整时间戳(即 YYYY-mm-dd-HHMM-SS)。

对于 USB 驱动器和任何其他驱动器,安装信息位于 /etc/fstab (Raspbian) 中。您可以view the manpage on fstab了解其内容详情。如果您需要任何特定配置,此文件将允许您控制安装行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-05
    • 2022-07-06
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多