我在 VMWare Fusion 上使用 Ubuntu 18.04。我不知道为什么在 C 中使用 fopen() 函数无法打开文件。代码如下。
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void) {
char *fname = "file.txt";
FILE *fp;
if((fp = fopen(fname, "w")) != NULL) {
fprintf(stderr, "open error for %s, errno = %d\n", fname, errno);
exit(1);
}
printf("opened!\n");
free(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果如下。
$ ./a.out
open error for file.txt, errno = 0
Run Code Online (Sandbox Code Playgroud)
我的 Ubuntu 内存就是这样。
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 393M …Run Code Online (Sandbox Code Playgroud) 我在想我们如何设计一个我们自己的文件系统用于研究和实验目的。
但是为此,我无法找到适当的文档和资源。
我也想知道,即使我能够以某种方式开发文件系统,但如何将其格式化为给定的驱动器。为此要编写什么样的代码?
如果有人知道这一切是如何运作的,以及可以参考的资源是什么,请提供帮助。
谢谢
我想通过 touch 命令创建类似的文件00001 00002 ... $i (我需要这些文件以 0 开头)。我尝试了很多东西,但都没有成功。
注意:我有一个类似的环境变量i=`ls -1 | wc -l`,我想在我的情况下使用它。
我也试过这些:
touch {01..$i}
touch {01..$(echo $i)}
touch {000001..00$i}
touch {000001..00$(($i))}
touch {000001..00$(($i+1-1))}
touch {000001..$(00$i)}
touch {000001..$((00$i))}
touch {000001..$(($i))}
touch {000001..$((00000+$i))}
touch {000001..$((00+$i))}
touch {000001..$((000+$i))}
touch {000001..$((0000+$i))}
touch {000001..$((echo 00$(($i)))}
touch {000001..$((echo "00$i"))}
touch {000001..$(($(echo "00$i")))}
touch {000001..$(echo -n "00$i")}
touch {000001..00echo -n $i}
touch {000001..00$((echo -n $i))}
touch {$i..000001}
touch {00$((i))..000001}
Run Code Online (Sandbox Code Playgroud) 我的下载文件夹有两个文件,我不确定它们的用途:“include.txt”和“exclude.txt”。“include.txt”只显示“sources/boot.wim”。“exclude.txt”只显示“sources/”。有谁知道为什么这些在那里以及它们的用途是什么?我想删除它们但不想搞砸了。
做什么file:///”?应用程序的使用file:///tmp/与 有何不同file:///tmp/?人们会强迫某种模仿类型吗?
背景:我正在尝试调试另一个更复杂的应用程序。由于某种原因,使用它作为输入
file:///tmp/test.html
Run Code Online (Sandbox Code Playgroud)
作品。但
/tmp/test.html
Run Code Online (Sandbox Code Playgroud)
失败(仅对我而言)。
我想列出当前工作目录(home)中所有不带扩展名(.txt)的 ASCII 文件。我从终端中的命令开始ls,但我不知道应该在选项中放入什么,因为我想列出没有扩展名而只有名称的文件。我该怎么做?
我目前使用的是 Ubuntu 20.04。
当我使用命令检查文件的大小时du,我得到以下输出:
ubuntu@ip-172-31-49-39:/myxfs$ du -h newquota
4.0K newquota
Run Code Online (Sandbox Code Playgroud)
通过该ls -la命令,我得到以下信息:
ubuntu@ip-172-31-49-39:/myxfs$ ls -la
total 8
drwxr-xr-x 2 ubuntu ubuntu 22 Apr 18 19:17 .
drwxr-xr-x 22 root root 4096 Apr 17 12:05 ..
-rw-r--r-- 1 ubuntu ubuntu 1024 Apr 18 19:17 newquota
Run Code Online (Sandbox Code Playgroud)
为什么同一个文件的大小会有差异?文件的实际大小是多少?
我创建了一个脚本,该脚本使用touch
文件保存在哪个目录中的命令创建文件?
脚本是:
#!/bin/sh
touch abc.txt
Run Code Online (Sandbox Code Playgroud) 我试图移动file.py到现有目录 Modules ...
wm@my-laptop:~/Desktop/1linuxandpython$ mv Modules_and_packages.py /Modules_and_packages_Game
Run Code Online (Sandbox Code Playgroud)
它说权限被拒绝,所以我这样做了:
wm@my-laptop:~/Desktop/1linuxandpython$ sudo mv Modules_and_packages.py /Modules_and_packages_Game
Run Code Online (Sandbox Code Playgroud)
然后它就消失了,我搜索答案,发现文件名就是/Modules_and_packages_Game现在,但在任何地方都找不到它。名称怎么可能.py是文件夹名称?
编辑:
ls -l显示文件夹名称,当我执行它时,它会file.py在执行命令之前打开:
$ sudo mv Modules_and_packages.py /Modules_and_packages_Game
Run Code Online (Sandbox Code Playgroud)
我确定该文件夹 Modules_and_packages_Game 在那里吗?
我正在尝试执行我评估的这一部分:
显示并解释配置文件的内容。
但是我打不开。我试过了ls- profil,但这没有用。
编辑: Melebius 帮助我找到了答案。多谢,伙计!
files ×10
command-line ×4
bash ×2
c ×2
filesystem ×2
ls ×2
20.04 ×1
development ×1
directory ×1
du ×1
find ×1
mv ×1
permissions ×1
root ×1
scripts ×1
usb ×1