我正在寻找一个 bash 命令,我可以用它来限制文件或其他命令输出的行数。例如
ls -thor | limit 10
Run Code Online (Sandbox Code Playgroud)
会将 ls 命令的输出限制为 10 行(在示例中,命令“limit”自然是一个虚构的命令,我正在寻找它的等效命令)。有没有这样的命令,或者相关的解决方案?
似乎某些程序使用 LANG 和 LANGUAGE 环境变量来确定其用户界面语言。
这些变量的确切语义是什么,我可以在哪里阅读它们的正确用法?locale(1) 的联机帮助页只提到了 LC_* 系列的环境变量。此外,还有一个常见的 LC_ALL 变量,那里也没有描述。
当给定一个带有装甲公共 GnuPG 密钥的文件时,即使用以下方式pubkey.gpg创建的文件 ( ):
gpg -r 0xDEADBEEF --export --armored > pubkey.gpg
Run Code Online (Sandbox Code Playgroud)
在不将其导入我的钥匙圈的情况下,获取该文件中的指纹等信息的最佳方法是什么?
到目前为止我发现的最好的方法(我不满意)是:
gpg --dry-run --import pubkey.gpg
Run Code Online (Sandbox Code Playgroud)
当然,我搜索了 gpg 手册页,但没有找到明显的解决方案。
在 中less,您能否使用/包含回车符和换行符的模式进行搜索?我知道您的模式可以使用一行结束$(来自How do I include newlines in a search in less?),但我需要该模式来匹配跨越多行的文本。
我试过\n,但只搜索n字符。
为什么有些 Linux 程序的输出既不去 STDOUT 也不去 STDERR?
实际上,我想知道如何可靠地捕获所有程序输出,无论它使用什么“流”。我的问题是有些程序似乎不让他们的输出被捕获。
一个例子是“时间”命令:
time sleep 1 2>&1 > /dev/null
real 0m1.003s
user 0m0.000s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
或者
time sleep 1 &> /dev/null
real 0m1.003s
user 0m0.000s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
为什么我两次都看到输出?我希望这一切都通过管道输入/dev/null。
时间使用的是什么输出流,我如何将其通过管道传输到文件中?
解决此问题的一种方法是创建一个Bash脚本,例如,combine.sh包含以下命令:
$@ 2>&1
Run Code Online (Sandbox Code Playgroud)
然后可以以正确的方式捕获 'time' 的输出:
combine.sh time sleep 1 &> /dev/null
Run Code Online (Sandbox Code Playgroud)
(没有看到输出 - 正确)
有没有办法在不使用单独的组合脚本的情况下实现我想要的?
有没有办法在 GNU 屏幕中启用适当的鼠标支持,以便我可以使用鼠标在拆分窗口之间切换焦点?
换句话说,我正在寻找一种鼠标驱动的替代方法来输入“Ca Tab”。
谢谢,
我试图在一些共享类似目录结构但不在同一目录树中的文件中进行文本搜索,在 GNU/Linux 中。
我有一个 Web 服务器,其中有许多站点共享相同的树结构(Code Igniter MVC PHP 框架),所以我想在树下的特定目录中搜索每个站点,例如:
/srv/www/*/htdocs/system/application/
其中 * 是站点名称。从这些应用程序目录中,我想搜索所有树直到它的叶子,寻找一个 *.php 文件,里面有一些文本模式,假设“调试(”,不需要正则表达式。
我知道如何使用find和grep但我不擅长将它们结合起来。
我该怎么做?
提前致谢!
我是一个 Windows 用户,他希望在我的命令提示符中使用 grep 和 sed 等程序以及 ls、cut 等其他实用程序。我遇到了 2 个可以完成此任务的软件包
在我选择它们之前,我想知道两者在功能方面和更重要的性能方面有什么区别。从我所见,GnuWin32 是 UnxUtils 的超级集。这样对吗 ?
Barlop 指出,
这个问题是关于 coreutils 和 unxutils,但由于他在谈论 grep 和 sed,很明显他想询问 gnuwin32 和 unxutils,这是一个比错误的问题更有用和重要的问题。如果人们想将其恢复为 coreutils 和 unxutils,那么我很乐意这样做并为 gnuwin32 和 unxutils 发布另一个问题。此外,对他的原始问题的任何正确答案都将纠正或回答他的错误,但也能回答他的意思。所以纠正他的问题没有损失。
如何使用 UNIX/Linux 标准工具获取实际目录大小?
替代问题:如何让du向我显示实际目录大小(而不是磁盘使用情况)?
由于人们似乎对术语“大小”有不同的定义:我对“目录大小”的定义是该目录中所有常规文件的总和。
我不关心目录 inode 的大小或文件在相应文件系统上占用的任何大小(块 * 块大小)。一个包含 3 个文件的目录,每个文件 1 个字节,目录大小为 3 个字节(根据我的定义)。
使用 du 计算目录大小似乎不可靠。
例如,mkdir foo && du -b foo报告“4096 foo”,4096 字节而不是 0 字节。对于非常大的目录,报告的目录大小du -hs可能会减少 100 GB (!) 甚至更多(压缩文件系统)。
那么必须使用什么(工具/选项)来获取实际目录大小?