小编Bra*_*one的帖子

如何从 bash / osX 中的命令行列出所有已安装的软件包

-bash列出我机器上本地安装的所有软件包的命令是什么?

我正在使用 osX。

到目前为止,我尝试了以下方法:

  1. dpkg -l - 不起作用。
  2. apt --installed list - 不起作用。
  3. pkgutil --pkgs- 仅列出使用 Apple 安装程序安装的那些。我需要所有安装了npm.
  4. npm list - 作品。
  5. npm list -g --depth=0 - 作品。
  6. ls `npm root -g` - 作品。

mac bash shell command-line macos

14
推荐指数
1
解决办法
4万
查看次数

带有更多小数位的“du -h”

我正在开发一个用 bash 编写的小实用工具,它为我提供了有关 Linux 上游戏服务器的一些信息。因此,我需要能够显示文件内容的大小。

我现在正在这样做:

du -Lshc *
Run Code Online (Sandbox Code Playgroud)

它几乎完美!唯一的缺陷是它显示如下内容:

21G     backups
22G     server
8.0K    start.sh
151M    world.zip
43G     total
Run Code Online (Sandbox Code Playgroud)

这很好,但我想要更多的数字。这意味着它应该是这样的:

21.587G     backups
22.124G     server
8.089K      start.sh
151.198M    world.zip
43.436G     total
Run Code Online (Sandbox Code Playgroud)

有没有可能做到这一点?

我不介意使用复杂的命令,因为我在.sh文件中使用它,所以我不会每次都手动输入。

linux bash format du

6
推荐指数
1
解决办法
3183
查看次数

带有来自 tail -f 的管道的 grep 和 sed 似乎正在缓存

我正在尝试使用一个工作系统来监视特殊日志。我通常只想要一个非常具体的模式,我使用它来提取grep和从tail -f. 我注意到 grep 不会输出所有内容,而是保留一些行缓冲。我想如果您有一个管道可以输出所有内容,然后终止并关闭流,那这很有意义。
但是tail -f这对我来说不起作用。

出现同样的问题sed

这是我要使用的示例命令:

clear && tail -F -n1000 /var/log/fail2ban.log | grep 'WARNING.*Ban' | sed s/'fail2ban.actions: WARNING '//g | grep -E --color 'ssh-iptables-perma|$'
Run Code Online (Sandbox Code Playgroud)

提供一个例子:

上面命令的最后一行是这样的:

2015-05-04 11:17:24,551 [ssh-iptables] Ban x.x.x.x
Run Code Online (Sandbox Code Playgroud)

并使用此命令:

clear && tail -F -n1000 /var/log/fail2ban.log | grep 'WARNING.*Ban' | sed s/'fail2ban.actions: WARNING '//g
Run Code Online (Sandbox Code Playgroud)

最后一行是这样的:

2015-05-04 19:45:17,615 [ssh-iptables] Ban y.y.y.y
Run Code Online (Sandbox Code Playgroud)

删除更多的管道让我进一步了解最新的条目。

我怎样才能避免管道中的这种缓存?

linux bash grep sed command-line

2
推荐指数
1
解决办法
3014
查看次数

标签 统计

bash ×3

command-line ×2

linux ×2

du ×1

format ×1

grep ×1

mac ×1

macos ×1

sed ×1

shell ×1