提问人: 提问时间:9/13/2019 最后编辑:Mark Setchell 更新时间:1/7/2020 访问量:750
确定 macOS 上的当前用户临时目录
Determine current user temp directory on macOS
问:
如何在macOS中打印特定的用户临时目录?它应该能够根据当前登录的用户确定临时目录。我看到我当前的用户临时目录设置为/Users/myuser/private/tmp,但我没有通用的方法来获取它
谷歌搜索了一下,它使用 $TMPDIR 重新推荐,但看起来我的用户临时目录在某种程度上设置为 /Users/myuser/private/tmp
我应该能够确定确切的 tmp 目录,无论当前用户是 root 用户还是其他用户
答:
0赞
NuclearPeon
1/7/2020
#1
相关 SO 问答,跨平台:在 Python 中获取临时目录的跨平台方式 这是非常通用的。
在 Qt5 中:
#include <QCoreApplication>
#include <QTemporaryDir>
#include <QDebug>
int main(int argc, char *argv[])
{
QTemporaryDir dir;
if (dir.isValid()) {
// dir.path() returns the unique directory path
qDebug() << "Path name: " << dir.path() ;
}
}
也很通用。
在 bash(终端或脚本)中:echo $TMPDIR
这是特定于用户的,因为如果您运行(在目录之前,您将看到该文件夹归登录用户所有。如果其他用户已登录,则其文件夹受其权限/所有权保护,他们将无法读取/修改其他用户的数据。如果您想了解更多信息,我建议查看 unix/linux/mac 文件和文件夹权限。/var/folders/
ls -l /var/folders/.../
-Tmp-
new-host-2:Applications ThisIsMe$ ls -l /var/folders/cp/cpI9fK8qG3y4x4sedjGIOE+++TI/
total 0
drwx------ 16 ThisIsMe staff 544 Jan 6 22:12 -Caches-
drwx------ 11 ThisIsMe staff 374 Jan 6 22:56 -Tmp-
http://www.filepermissions.com/articles/what-are-file-permissions-in-linux-and-mac https://www.linux.com/tutorials/understanding-linux-file-permissions/
评论
0赞
NuclearPeon
1/7/2020
甚至 xcode 也认为临时目录就是这样。我按照这个 SO 问题 stackoverflow.com/questions/11263692/...,构建了一个示例 Cocoa 项目,并将该行插入 main 函数进行验证。NSLog(@"Temporary directory is: %@", NSTemporaryDirectory());
评论
echo $TMPDIR
/var/folders/0m/f8tx2qn9179f9g1pmg1g2ymr0000gn/T/