标签: linux

htop 像 docker stats 的监视器?

docker stats 以文本形式很好地概述了 cpu/mem/net io/disk io。

是否存在htop显示 docker 统计信息的类似监视器?


同样questino张贴在DevOps的姊妹网站在这里

** 建议答案 **

ctophttps://github.com/bcicen/ctop

linux docker

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

如果“纯 XCB”OpenGL 是不可能的,那么 xcb/glx.h 中的 XCB/GLX API 有什么用?

XCB 官方文档告诉我们,将 OpenGL 与 XCB 一起使用是不可能的:还必须使用 Xlib。

Bart Massey(XCB 的创建者)的这篇文章并不表明这应该是不可能的。但我确定我错过了一些东西。

我花了几个小时浏览xcb/glx.h这里组织得很好。在我看来,它就像一个成熟的 API。但我无法让它工作。

问题

  1. XCB/GLX API 没用吗?的目的是xcb/glx.h什么?
  2. 如何使用 API?

(注意。这是了解 XCB 工作原理的持续努力的一部分。)

相关的SO 线程


次要的、冗长的东西

如果有人愿意尝试一下,这里是 XCB 邮件列表中原始帖子的来源,将其精简并放入单个文件中。

你会注意到xcb_glx_make_context_current返回错误169(不知道是什么意思),但只有在 xcb_glx_create_window需要0NULL它的最后两个参数。这些参数涉及一组属性,似乎是由函数返回的xcb_glx_create_window_attribs,但我不知道如何使用它...

之前的长辅助函数int main()仅意味着两个返回两个整数,xcb_glx_fbconfig_t fbconfig xcb_visualid_t glx_visual,对应于第一个“匹配”帧缓冲区配置。在我的平台上,这些是0xa70x24。它们正是 Xlib/GLX 例程(实际有效)返回的内容,所以我知道我选择的帧缓冲区配置很好。

所以,问题似乎发生在xcb_glx_create_windowxcb_glx_make_context_current......

// gcc main2.c -o main …
Run Code Online (Sandbox Code Playgroud)

linux x11 framebuffer glx xcb

8
推荐指数
1
解决办法
2282
查看次数

在bash中按多列排序

我有一个包含 2 列“名称”和“年龄”的文件,如下所示:

Alex,  15
Mary,  12
Alex,  28
Zoe,   16
Alex,  17
Run Code Online (Sandbox Code Playgroud)

我将按字母顺序按第一列排序,使用sort -t ',' -k1,1 filename.txt, 但如果有相同的名称,我希望第二列以它们在原始文件中的相反方式排序,如下所示:

Alex,  17
Alex,  28
Alex,  15
Mary,  12
Zoe,   17
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux sorting bash reverse alphabetical

8
推荐指数
3
解决办法
2万
查看次数

自动退出 Telnet 命令返回提示,无需人工干预 ^] quit close 退出代码 1

我正在telnet主机上为给定端口(打开)运行命令,它返回 0(成功)。

为了手动尝试 telnet,我输入以下命令,然后按 control+bracket ie ^],然后按Enterkey,然后我得到telnet>提示,如果我键入closeor quit,它会返回到$提示并看到最后一个命令的退出状态显示0为(成功)因为端口 2878 已打开(根据 telnet 命令的输出)。

[vagrant@myvagrant /tmp] $ telnet `hostname` 2878
Trying 127.0.0.1...
Connected to myvagrant.
Escape character is '^]'.
^]

telnet> close
Connection closed.
[vagrant@myvagrant /tmp] $ echo $?
0
Run Code Online (Sandbox Code Playgroud)

现在,我想在没有任何人为干预的情况下运行相同的操作,即我不想手动给^]Enter按键来telnet>提示,然后输入close(或quit)telnet 命令最终回到$提示。

为此,我尝试使用echo -e命令的选项并给出^], \n(对于换行符,即Enter键)和close命令(对于telnet>提示,以便我回到 …

linux telnet exit-code exit connection-close

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

如何阻止 nginx 使用端口 80

我试图更新nginx的使用sudo apt-get install nginx,但它给我相关的端口80上的错误信息被占用。当我跑

sudo netstat -tlnp | grep 80
Run Code Online (Sandbox Code Playgroud)

我得到

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6845/nginx      
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1919/config.ru  
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      6845/nginx
Run Code Online (Sandbox Code Playgroud)

尽管我无法轻松理解--help函数中每一列的含义,但我认为在此示例中6845nginx. 如果我尝试使用杀死它

sudo kill 6845
Run Code Online (Sandbox Code Playgroud)

sudo netstat -tlnp | grep 80再次运行,我看到

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10130/nginx     
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1919/config.ru  
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      10130/nginx
Run Code Online (Sandbox Code Playgroud)

换句话说,它似乎nginx立即开始在不同的进程 ID 下再次侦听端口 …

linux nginx

8
推荐指数
3
解决办法
2万
查看次数

确定我的处理器在 Linux 下的指令集

我想知道如何知道我的处理器使用的是哪个指令集;我正在运行 Linux。

我还想了解处理器如何处理许多指令集。

当我输入时cat /proc/cpuinfo,我得到:

model name : AMD FX(tm)-6350 Six Core Processor
Run Code Online (Sandbox Code Playgroud)

我还看到了许多标志:fpu, vme, mmxext, ...

linux processor instruction-set

8
推荐指数
1
解决办法
9070
查看次数

在 Bash 中检查 sudo(带有 if 语句的脚本)

我使用 bash 的时间不超过 6 个小时,现在我正在尝试创建一个菜单,让您可以做一些“有趣”的事情:D。

我的问题是if 语句检查您是否处于 sudo 模式。我想有3个条件:

  1. 如果我以sudo模式执行脚本,我将能够输入要复制的文件夹的路径。
  2. 如果我在没有 sudo 模式的情况下执行脚本,它会要求我插入密码,如果我这样做正确,脚本将向我显示echoread op,允许我写入要复制的文件夹的路径。
  3. 与第 2 点相同,但如果我的身份验证失败,应用程序将自动关闭。

创建副本

2)
    if [ "$EUID" -ne 1 ]
      then 
            echo "Checking if you are in sudo mode..."
            echo "Error, please insert your password:"
            sudo ls /root
            if [ "$EUID" -ne 1 ]
                then
                    echo -e "\nCould not authenticate the user."
                    echo -e "For security reasons the application will be closed."
                    exit    
            else
                echo "==============================================================="
                echo -e "ALL …
Run Code Online (Sandbox Code Playgroud)

linux bash sudo if-statement su

8
推荐指数
1
解决办法
5815
查看次数

linux 'ls -lisa' 命令的结果

ls -lisa 命令中第二列的含义是什么?

ls -lisa
total 12
280187 0 -rw-rw-r--  2 embedded embedded    0 Apr  3 02:05 a.txt
Run Code Online (Sandbox Code Playgroud)
  • total 命令表示分配的 512 字节块的数量。
  • 第一列显示 I-Node 编号。 (280187)
  • 第三列显示权限。(-rw-rw-r--)
  • 第 4 列显示 inode 的硬链接数。 (2)
  • 第 5 列显示用户和组。(嵌入式嵌入式)
  • 第 6 列显示文件的大小。(0)
  • 第 7 列显示上次更改的日期(Apr 3 02:05)
  • 最后一列显示文件名(a.txt)

但我不知道第二列代表什么?

linux ls

8
推荐指数
1
解决办法
7617
查看次数

shell脚本中的EOM是什么意思?

/bin/cat <<EOM >$FILE
Run Code Online (Sandbox Code Playgroud)

EOM(和EOF)是什么意思,我试着用谷歌找出来,但它不能给我答案。

unix linux bash shell ubuntu

8
推荐指数
0
解决办法
1万
查看次数

如何使用 sed 在文件的第一行插入文本?

嗨,到目前为止,我正在尝试使用 sed 将文本添加到文件的第一行

#!/bin/bash
touch test
sed -i -e '1i/etc/example/live/example.com/fullchain.pem;\' test
Run Code Online (Sandbox Code Playgroud)

而且这行不通也试过了

#!/bin/bash
touch test
sed -i "1i ssl_certificate /etc/example/live/example.com/fullchain.pem;" test
Run Code Online (Sandbox Code Playgroud)

当我尝试时,这似乎并不奇怪

#!/bin/bash
touch test
echo "ssl_certificate /etc/example/live/example.com/fullchain.pem;" > test
Run Code Online (Sandbox Code Playgroud)

我在使用时显示第一行文本,cat test 但是一旦我输入,sed -i "2i ssl_certificate_key /etc/example/live/example.com/privkey.pem;" 我就看不到我应该在第 2 行执行的信息,这是 ssl_certificate_key /etc/example/live/example.com/privkey.pem;

所以我要总结的问题

  1. 可以使用 sed 将文本插入到新创建文件的第一行吗?
  2. 如果是,在第一行文本之后插入文本的最佳方式是什么?

linux bash shell scripting sed

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