我有一个软件可以在它重新启动时轮换它的日志文件。但是,在开发过程中,我经常重启,所以我想随时监控最新的日志文件。
如果我less正常启动less program.log并按Shift+f到尾部,当日志文件轮换时,我继续监视旧日志文件。我认为这是因为 inode 编号保持不变并且less具有该 inode 的打开文件句柄。
是否可以监视当前调用的任何日志文件的最新活动program.log?
具体来说,我在 Sun OS 上工作,所以在那里工作的解决方案将是理想的。
这篇文章旨在记录如何在 Solaris 上获取开发主机。
“开发主机”是您拥有构建和编译 C 或 C++ 应用程序的所有适当工具的主机。
将诸如编译器之类的开发工具放在主机上会显着增加该主机的攻击面,因此在我看来,您不应该将它们放在面向外部世界的主机上。它们还占用一些磁盘空间。
命令
find /tmp -name 'core*' -type f -print0 | xargs -0
Run Code Online (Sandbox Code Playgroud)
在 Linux 上工作正常,但xargs -0在 Solaris 上选项不合法
xargsSolaris 10的等效选项 ( ? )是什么
第二个问题:
是否可以更改语法:
find /tmp -name 'core*' -type f -print0 | xargs -0
Run Code Online (Sandbox Code Playgroud)
因此它将适用于操作系统 - Linux 和 Solaris
我在我的solaris 10机器上尝试:
find /tmp -name 'core*' -type f -print0 | xargs -0
xargs: illegal option -- 0
xargs: Usage: xargs: [-t] [-p] [-e[eofstr]] [-E eofstr] [-I replstr] [-i[replstr]] [-L #] [-l[#]] [-n # [-x]] [-s size] [cmd [args …Run Code Online (Sandbox Code Playgroud) 我已经将 GNU“核心”实用程序 coreutils-8.21 安装到我的 UNIX 服务器上的这个位置:
/opt/app/p1sas1c1/apps/GNU
Run Code Online (Sandbox Code Playgroud)
我现在想添加findutils-4.4.2 包。我阅读 INSTALL 文档,我看到我可以使用以下命令进行配置:
./configure --prefix=/opt/app/p1sas1c1/apps/GNU
Run Code Online (Sandbox Code Playgroud)
这与我用来安装核心实用程序的“前缀”相同。
我的问题是:如果我这样做并遵循“make install”命令,是否会覆盖该目标位置中的现有文件,或者只是将新元素“添加”到相应的目录中?
我想首先检查做这样的事情的“最佳实践”。我不是受过训练的“SA”,也没有“root”访问权限;我正在使用应用程序帐户进行安装。
我做了一个带有运行“grep”系统命令的函数的 R 包。这个包已经在CRAN上发布了,在Solaris平台上测试报错。这可能是由于 Solaris 上“grep”的不同用法。以下是包运行的命令示例:
grep --include=\*\.txt --colour=always -n -r -e 'PATTERN'
Run Code Online (Sandbox Code Playgroud)
此命令在当前文件夹及其子文件夹等中找到的所有“txt”文件中递归搜索模式“PATTERN”(递归搜索)。
我没有此命令生成的错误消息,我只知道发生了错误。Solaris 上与此等效的命令是什么?