草庐IT

Unix-ish

全部标签

linux - Windows KTM 和 Transactional NTFS 是否有 Linux/Unix 等效项?

一段时间以来,Windows一直支持与文件的事务交互-使用KernelTransactionManager(MSKTM)和TransactionalNTFS.这些功能有助于对本地文件系统上的文件进行事务性更改。Linux/Unix是否具有相同的功能?是否有任何已发布的性能比较? 最佳答案 关于这个我没有明确的答案,但是基于ACID的文件系统讨论在Linux世界中已经进行了很长时间。或许您可以联系RichardSpillane,他是多篇关于该主题的论文的作者:AminoPDFEnablingTransactionalFileAcces

linux - 使 Unix shell 脚本符合 POSIX 标准

我一直在研究一个shell脚本来自动执行一些任务。确保shell脚本在大多数平台上运行没有任何问题的最佳方法是什么。例如,我一直在使用echo-n命令将一些消息打印到屏幕上而没有尾随换行符,并且-n开关在某些ksh中不起作用炮弹。有人告诉我该脚本必须符合POSIX标准。如何确保脚本符合POSIX标准。有工具吗?或者是否有一个shell仅支持最低限度的POSIX要求? 最佳答案 POSIX第一步是将shebang设置为/bin/sh和useshellchecksite,它会告诉您什么有效或无效以及原因。分析您的脚本。例如,将此脚本粘贴

linux - *unix 上的 LD_LIBRARY_PATH 变量中的 LD 代表什么?

我知道LD_LIBRARY_PATH是一个环境变量,链接器将在其中查找共享库(包含共享对象)以与可执行代码链接。但是LD代表什么,是Load吗?或列表目录? 最佳答案 链接器。*nix链接器称为ld。当链接带有动态库的程序时,链接器会添加额外的代码来查找动态库以解析未静态链接的符号。通常这段代码会在/lib和/usr/lib中查找。LD_LIBRARY_PATH是要搜索的其他目录的冒号分隔列表。“ldd”是一个方便的程序,可以查看库的位置:例如,尝试“ldd/bin/ls”。不过,它也可以表示“装载机”。;-)社论:作为一个(半)有

linux - 替换文件 Unix 中的字符串

我在Unix上有一个文本文件file1.txt。我想生成另一个文件file2.txt,我将其中所有出现的apple-pie替换为apple_pie。我可以使用什么命令? 最佳答案 使用sed对file1.txt进行全局替换并将输出重定向到file2.txt:sed's/apple-pie/apple_pie/g'file1.txt>file2.txt 关于linux-替换文件Unix中的字符串,我们在StackOverflow上找到一个类似的问题: https

linux - 在 UNIX 中将一个文件的内容附加到另一个文件的开头

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。社区在10个月前审查了是否重新打开此问题,然后将其关闭:不适合这个网站这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。Improvethisquestion我知

linux - 如何使 Unix 二进制文件自包含?

我有一个Linux二进制文件,没有源代码,可以在一台机器上运行,我想制作一个独立的包,可以在同一架构的不同机器上运行。实现这一目标的方法是什么?在我的例子中,两台机器都有相同的架构,相同的Ubuntu内核,但目标机器没有make并且在/lib下有错误的文件版本和/usr我的一个想法是使用chroot并重新创建二进制文件使用的文件系统的子集,可能使用strace来确定它需要什么。是否已经有可以执行此操作的工具?为了后代,下面是我如何确定一个进程打开了哪些文件#!/usr/bin/python#sourceoftrace_fileopen.py#Runscommandandprintsal

linux - 在 UNIX 中,如何查找昨天或更早登录的用户

谁能告诉我如何制作昨天或更早登录但尚未注销的用户列表。无需在列表中重复相同的用户。 最佳答案 last|fgrep"stillloggedin"|cut-d""-f1|uniq-u 关于linux-在UNIX中,如何查找昨天或更早登录的用户,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4142356/

linux - 识别连接到 Unix 域套接字的程序

我有一个正在监听Unix域套接字的程序。当客户端连接到套接字时,我想找出连接的程序,然后决定是否允许连接(基于用户/组设置)。这在Linux下是否可行,如果可行,如何实现? 最佳答案 是的,这在Linux上是可能的,但它不是很便携。它是通过sendmsg/recvmsg使用所谓的“辅助数据”实现的。使用SO_PASSCRED和setsockopt使用SCM_CREDENTIALS和structucred结构这个结构在Linux中定义:structucred{pid_tpid;/*processIDofthesendingproces

c++ - 64位Unix时间戳转换

是否有针对32位系统的64位Unix时间戳转换的C++实现?我需要将structtm转换为64位整数,反之亦然,包括闰年、时区、UTC。还需要它可移植,至少对于GNU/Linux和Windows。 最佳答案 你需要:typedeflonglongtime64_t;time64_tmktime64(structtm*t);structtm*localtime64_r(consttime64_t*t,structtm*p);最初(2011年)此答案包含指向2038bug.com的链接,可以从中下载包含上述函数的小型pivotal_gmt

linux - 在没有dos2unix的情况下递归地转换目录和子目录中所有文件的所有EOL(dos-> unix)

如何不dos2unix递归地转换目录和子目录中所有文件的所有EOL(dos->unix)?(我没有,无法安装。)有没有办法使用tr-d'\r'和管道来做到这一点?如果是,怎么办? 最佳答案 对于当前目录中的所有文件,您可以使用Perl单行代码:perl-pi-e's/\r\n/\n/g'*(从here中窃取))编辑:稍作修改即可进行子目录递归:find|xargsperl-pi-e's/\r\n/\n/g' 关于linux-在没有dos2unix的情况下递归地转换目录和子目录中所有文件的