Answers:
我对Solaris不熟悉,但是如果您从GNU / linux切换到Solaris,您会发现大多数命令的行为都会稍有不同。GNU版本的Unix工具具有“专有” Unix中缺少的其他功能。
如果您具有root用户访问权限,则可能需要运行configure --prefix = / usr / local,以便将实用程序安装到/ usr / local
如果您没有超级用户访问权限,则可能需要运行configure --prefix = $ {HOME},以便将实用程序安装到您的主目录中
--prefix=${HOME}}/.local
可能更可取...无需将主目录与share
和lib
文件夹
share
?这一定是一个垃圾目录!rm -rf
h!
如果要使用find
,这将是最快的方法:
find . -type f -exec grep pattern {} +
但是,您的计算机上很可能已经安装了Gnu grep。
它是Solaris 11中默认安装的一部分/usr/gnu/bin/grep
。在Solaris 10中也可以找到它/usr/sfw/bin/ggrep
。在较旧的发行版中,可能已从sunfreeware或其他存储库中安装了该软件,请检查/usr/local/bin/grep
并/opt/csw/bin/grep
在公共位置安装。
-name
选项find
。
-name
不会在文件内部搜索,而只会搜索OP要求的文件名。
如果已安装,请改用ggrep。
例如,从当前目录向下搜索所有子目录(-R
),然后显示匹配的文件名和路径(-H
),并忽略二进制文件(-I
)。不要忘记*
命令末尾的。
/usr/sfw/bin/ggrep -H -R -I "mysearchstring" *
ggrep位于。/usr/sfw/bin
您可以使用EXPORT命令将其添加到您的配置文件中,以便可以直接从命令行调用它。
PATH=$PATH:/usr/sfw/bin
export PATH
Solaris版本:SunOS 5.10 Generic_147440-13 sun4u sparc SUNW,SPARC-Enterprise
ggrep
确实是GNU grep。谢谢!
ack
从http://betterthangrep.com/下载独立的perl脚本,将其放入您的中$HOME/bin
,并学会使用它。正如我所宣传的那样,在日常开发工作中,我发现它在很多方面都比grep好。
是的,您将需要GNU grep。就我个人而言,我不会错过“ -r”标志,因为您可以结合使用find
和来做同样的事情,grep
但是这提醒我,在我的Solaris机器上提供GNU工具是我认为的最佳实践。所以我们开始:
我不会从Internet的各个位置下载源代码,然后自己构建。那是没有必要的。如果您只是想让Solaris具有典型的GNU工具,请执行以下操作:
如果您使用的是Solaris 10,则应该获得Solaris 10随附磁盘。它曾经由Sun发行,但现在居住在这里。就个人而言,我总是习惯于安装此磁盘或至少最重要的GNU部件的内容。使其成为组织中新服务器的JumpStart(或使用的任何设备)的一部分!
如果您使用的是Solaris 11,则生活会简单得多。通常默认情况下会安装GNU工具,但并非所有工具都会传播到本地区域。IFS是Solaris 11上的打包系统,它使您的生活变得更加轻松,因此您确实应该转向Solaris 11(还有许多其他原因)。您应该始终考虑可用于任何区域的软件包列表如下:
pkg:// solaris / archiver / gnu-tar pkg:// solaris / developer / gnu-binutils pkg:// solaris / diagnostic / top pkg:// solaris / file / gnu-coreutils pkg:// solaris / file / gnu-findutils pkg:// solaris / text / gawk pkg:// solaris / text / gnu-diffutils pkg:// solaris / text / gnu-grep pkg:// solaris / text / gnu-sed
如果将主机用于开发/构建目的,则可能需要添加:
pkg:// solaris / developer / build / gnu-make pkg:// solaris / developer / build / make pkg:// solaris / developer / gcc-45 pkg:// solaris / system / header pkg:// solaris / developer / build / autoconf pkg:// solaris / developer / build / automake-110
就我个人而言,我会将以上(可能更少的开发工具)作为公司新服务器/区域默认安装的一部分。Solaris系统管理员通常坚持要与Linux世界有所不同,但实际上没有必要。只需执行此操作,并将其作为默认安装的一部分即可。你不会后悔的。