Articles of 文件

检查文件是否存在Linux bash

所以我试图检查一个文件是否存在,然后脚本应该做些什么,如果是的话。 我遇到的问题实际上是让它认识到事实上是存在的。 if [ -e /temp/file.txt ]; then echo "file found!" sudo cp -r temp/* extra else echo "file not found! Creating new one…" ./create.sh fi 下面是我正在testing的目录中的文件的示例。 他们显然在那里,但由于某种原因,我不能让剧本看到这一点。 我究竟做错了什么? nima@mkt:/docs/text$ ls -a temp . .. more file.txt file2.txt

在linux中将输出打印到文本文件中

您好,我正在尝试获取文本文件之间的区别。 有很多不同之处,在terminal上查看它们使得它变得不稳定,因为我无法保存它们。 我想查看并保存差异。 我将如何捕捉输出并将其打印到文本文件? 我用来获取diff的代码是diff -i -w -B file1.txt file2.txt

如何在Python中用open函数创build文件?

在Linux环境下,我想创build一个文件并写入文本: HTMLFILE: "$MYUSER/OUTPUT/myfolder/mytext.html" f = open(HTMLFILE, 'w') IOError: [Errno 2] No such file or directory: "$MYUSER/OUTPUT/myfolder/mytext.html" 我有读/写权限做“$ MYUSER / OUTPUT / myfolder /”目录。 为什么我得到这个错误? 为什么不创buildmytext.html文件?

在Go中,为什么“File.Readdirnames”会进行“clock_gettime”系统调用?

作为这个问题的一个后续,我正在尝试编写一个Go程序,该程序仅在不需要系统调用的情况下以有效的方式列出文件名。 这是我迄今为止: package main import ( "os" "fmt" "log" ) func main() { // Open directory and check for errors f, err := os.Open(".") if err != nil { log.Fatal(err) } // Get file names files, err := f.Readdirnames(0) if err != nil { log.Fatal(err) } // Print files fmt.Print(files, "\n") } 但是,当我运行strace ,我看到很多以下内容: clock_gettime(CLOCK_REALTIME, […]

从多个进程追加到单个文件的“线程安全性”?

假设我有X个进程打开文件Y来追加。 每个进程在当时只写一行(带有\ n)(真正的日志条目)。 是否保证每行都不会在文件Y中错误交错? 更新:本地附加的文件系统。

如何将FIBMAP返回的数据转换成磁盘的LBA扇区?

我需要确定磁盘设备上的文件所占用的扇区范围(对于Linux)。 假设这是一个带有MBR或GPT分区表的简单磁盘(无RAID)。 我了解到,我可以使用FIBMAP ioctl获取文件系统中文件的位置。 如何将FIBMAP返回的数据FIBMAP成磁盘的LBA扇区? 谢谢

禁用特定文件上的caching/缓冲区(Linux)

我目前正在Yocto Linux版本中工作,并试图与FPGA上的硬件模块进行接口。 该模块正在模拟一个带有FAT16文件系统的SD卡; 包含一个文件(cam.raw)。 这个文件代表了FPGA和linux系统之间的共享内存空间。 因此,我希望能够将数据从linux系统写入这个存储器,并取回FPGA可能做出的任何更改(目前,FPGA只是从内存空间中取出部分数据,并将6个数据添加到一个32位字,就像我写0x40302010,如果我读回数据应该回到0x40302016)。 但是,由于某处存在一些caching,而我可以将数据写入FPGA,所以我不能立即得到结果。 我目前正在做这样的事情(使用Python,因为它很容易): % mount /dev/mmcblk1 /memstick % python >> import mmap >> import os >> f = os.open("/memstick/cam.raw", os.O_RDWR | os.O_DIRECT) >> m = mmap.mmap(f, 0) >> for i in xrange(1024): … m[i] = chr(i % 256) … >> m.flush() # Make sure data goes from linux to FPGA […]

如何稳健地写入一个缓慢和不可靠的nsf

我不是C方面的专家,我正在寻求一些build议,以使我的程序更健壮可靠。 只是为了给出一些上下文:我已经编写了一个程序来做一些科学计算,需要花费相当长的时间(约20小时),我正在使用SLRUM调度系统和NSF安装的文件系统在大型HPC linux群集上执行。 似乎发生的情况是,在20小时的时间内,与文件系统的连接过时(在整个机器上;独立于我的程序),而第一次打开和写入文件的尝试需要很长时间,导致segfault cored dumped错误,我迄今还没有能够精确追踪。 下面是一个至less在概念上重现错误的最小文件:程序启动,打开一个文件,一切正常。 程序做了一些长时间的计算(由sleep()模拟),试图再次打开和写入同一个文件,并且失败。 什么是一些约定,使我的代码更健壮,可靠地写我的结果文件没有崩溃? #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char **argv) { // Declare variables FILE *outfile; char outname[150] = "result.csv"; // Open file for writing printf("CHECKING if output file '%s' is writable?", outname); outfile=fopen(outname, "w"); if (outfile == NULL) { perror("Failed: "); exit(EXIT_FAILURE); } fclose(outfile); […]

查找是否有最近更改的文件,尽可能快

我有一个相当大的目录结构与数以千计的文件。 我想弄清楚一段时间以来是否有变化。 现在,我可以使用 find <dir> -mmin 30 -type f ..find在过去的30分钟内更改的任何文件。 然而,这需要几秒钟的时间才能完成,而且我真的不感兴趣(1)find所有更改的文件,甚至(2)找出哪些文件已经更改。 我只是在寻找一个是/否的答案“任何文件改变?”。 我可以通过使用-print -quit(1)find第一个文件后停止。 但是,对于没有文件更改的情况,总search仍然需要一些时间。 我想知道是否有更快的方法来检查? 目录时间戳,也许? 如果有问题,我使用ext4。

使用javax.xml的Java中的错误文件描述符IOException

我使用标准的javax.xml包来parsinglinux机器上的一些XML文件。 我的代码如下: try { // Prepare parser DocumentBuilder documentBuilder = documentBuilderFactory .newDocumentBuilder(); Document document = documentBuilder.parse(file.getAbsolutePath()); // This is line 397 XPath xPath = xPathFactory.newXPath(); … } catch(IOException e) { … } 一个DocumentBuilderFactory被多个线程访问,就像一个XPathFactory一样,我相信这是可以接受的用法。 使用上面的代码parsingXML文件时,偶尔会看到以下错误。 java.io.IOException: Bad file descriptor at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:229) at java.io.BufferedInputStream.fill(BufferedInputStream.java:229) at java.io.BufferedInputStream.read(BufferedInputStream.java:246) at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown […]