UTM下Arch Linux编译HelloWorld报错:文件不存在的问题咨询
问题原因
当前执行编译命令的工作目录是/root(命令提示符里的~代表root用户的家目录),而你的helloworld.c文件保存在UTM的共享目录ArchLinuxShared中,系统无法在当前目录找到目标文件,因此抛出"文件不存在"的错误。
解决方法
方法一:切换到共享目录后编译
- 查找共享目录在Arch Linux中的实际挂载路径:
find / -name "ArchLinuxShared" 2>/dev/null
这条命令会遍历系统查找目标目录,2>/dev/null用于过滤无权限访问目录时的错误信息。
2. 切换到找到的目录(假设路径为/mnt/ArchLinuxShared,请替换为实际结果):
cd /mnt/ArchLinuxShared
- 执行编译命令:
gcc helloworld.c -o helloworld
方法二:使用绝对路径直接编译
无需切换目录,直接在当前/root目录下,通过文件的完整路径编译:
gcc /mnt/ArchLinuxShared/helloworld.c -o helloworld
注意:将/mnt/ArchLinuxShared替换为你实际找到的共享目录路径。
额外提示
- 日常操作尽量避免使用root用户,建议创建普通用户并切换后进行编程练习,提升安全性。
- 编译前可以用
ls helloworld.c(或带路径的ls /mnt/ArchLinuxShared/helloworld.c)确认文件是否存在,提前排查路径问题。
内容的提问来源于stack exchange,提问作者Makkie
相关产品推荐
相关产品推荐

