小编tin*_*ink的帖子

golang中的C风格条件编译

golang是否支持

#define DEBUG 

#ifdef DEBUG 
  fmt.Println("Debug message..."); 
#endif 
Run Code Online (Sandbox Code Playgroud)

所以我可以构建一个零运行时开销的调试版本?

conditional-compilation go

14
推荐指数
2
解决办法
7604
查看次数

更改linux网络设备的TCP超时

我正在一个非常慢的接口上编写linux设备驱动程序,其ping时间可能长达几分钟.当我尝试使用TCP在两个节点之间建立连接时,连接总是超时.

是否有一种方法可以在驱动程序中设置更长的TCP重传或握手超时,或者是否有任何命令设置它?谢谢

linux tcp linux-device-driver

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

关于Linux内存类型的问题

我有关于Linux内存的以下问题:

  1. 我知道活动内存是最常访问的内存部分.但有人可以解释一下linux如何将内存位置用于活动内存或非活动内存.

  2. 所有组件的活动内存包含哪些内容?磁盘/文件缓存是否被视为活动内存的一部分.

  3. BuffersCached记忆有什么区别?

linux memory

5
推荐指数
1
解决办法
1758
查看次数

PromQL:查询警报是否被静音

我已成功消除了当前已关闭节点的警报(并且在我们有时间物理替换它之前会持续一段时间)。

虽然我认为沉默会阻止警报在 Slack 通道中重新出现,但我也想在我们在 Prometheus 之上运行的 Grafana 仪表板上删除它。这是对 grafana 中各个图块的查询。

sum(ALERTS{alertname="NodeDown", alertstate="firing"})
Run Code Online (Sandbox Code Playgroud)

我的问题是是否有一个关键字可以替换“射击”,“不静音”不起作用(“静音”也不起作用;}),它只会向我显示警报未静音的机器。

alert prometheus promql

5
推荐指数
1
解决办法
2030
查看次数

剧本和角色中忽略“remote_user”

我在我的中定义了以下内容ansible.cfg

# default user to use for playbooks if user is not specified
# (/usr/bin/ansible will use current user as default)
remote_user = ansible
Run Code Online (Sandbox Code Playgroud)

然而,我有一本剧本bootstrap.yaml,我可以在其中联系root而不是ansible

---
- hosts: "{{ target }}"
  become: no
  gather_facts: false
  remote_user: root

  vars:
    os_family: "{{ osfamily }}}"

  roles:
  - role: papanito.bootstrap
Run Code Online (Sandbox Code Playgroud)

然而,它似乎remote_user: root被忽略了,因为我总是收到连接错误,因为它使用用户ansible而不是rootssh 连接

fatal: [node001]: UNREACHABLE! => {"changed": false,
"msg": "Failed to connect to the host via ssh:
 ansible@node001: Permission denied (publickey,password).", …
Run Code Online (Sandbox Code Playgroud)

ansible ansible-2.x

5
推荐指数
1
解决办法
3884
查看次数

如何使用 vi 命令重新编号行?

2,$我正在尝试使用 vim 命令对文件中的行重新编号,我知道cat -nnl 命令,我可以对行进行编号,但我没有得到预期的输出:

我试过这个 :2,$s/^\([^,]\)// | 2,$!cat -n

输入:

#,Name,Types,Total,HP,Attack,Weaknesses,Strength
493,Arceus,Normal,720,120,120,Fighting,strong
483,Dialga,Steel;Dragon,680,100,120,Fighting;Ground,strong
250,Ho-oh,Fire;Flying,680,106,130,Electric;Water;Rock,strong
.... moer 100 lines
Run Code Online (Sandbox Code Playgroud)

预期输出:

#,Name,Types,Total,HP,Attack,Weaknesses,Strength
1,Arceus,Normal,720,120,120,Fighting,strong
2,Dialga,Steel;Dragon,680,100,120,Fighting;Ground,strong
3,Ho-oh,Fire;Flying,680,106,130,Electric;Water;Rock,strong
....
Run Code Online (Sandbox Code Playgroud)

linux vi vim

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

python argparse在没有给出参数时获取完整的使用信息

编写脚本使启动 lxc 容器更加灵活;根据测试用户需要更好的帮助:)

#!/usr/bin/env python3
import argparse
import sys

def parse_args():
    parser = argparse.ArgumentParser(description="stand up an lxc container")
    if len(sys.argv) == 1:
        parser.format_help()
    parser.add_argument("-4i", "--fouri", type=str, help="IPv4 address, if containername NOT in DNS (yet)")
    parser.add_argument("-6i", "--sixi", nargs='?', const=1, default="::2", type=str, help="IPv6 address, if containername NOT in DNS (yet)")
    parser.add_argument("-4m", "--fourm", nargs='?', const=1, default="24", type=str, help="IPv4 netmask, if unset '24'")
    parser.add_argument("-6m", "--sixm", nargs='?', const=1, default="64", type=str, help="IPv6 netmask, if unset '64'")
    parser.add_argument("-4g", "--fourg", type=str, help="IPv4 gateway")
    parser.add_argument("-6g", "--sixg", nargs='?', const=1, default="::1", …
Run Code Online (Sandbox Code Playgroud)

python argparse python-3.x

3
推荐指数
1
解决办法
399
查看次数

为什么即使已设置,我也会收到区域设置错误?

当我运行时bitbake,我得到以下信息:

$ bitbake core-image-base
Please use a locale setting which supports utf-8.
Python can't change the filesystem locale after loading so we need a utf-8 when python starts or things won't work.
Run Code Online (Sandbox Code Playgroud)

即使我的区域设置设置为en_US.UTF-8,这是为什么?

$ echo $LC_ALL
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

有关其他背景信息,另请参阅https://unix.stackexchange.com/questions/626916/how-to-set-locale- Correctly-manually/626919

更新:

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such …
Run Code Online (Sandbox Code Playgroud)

locale utf-8 bitbake ubuntu-14.04

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

如何向 awk 输出添加标题?

我有一个如下所示的 csv 文件

"10.8.70.67","wireless",,"UTY_07_ISD",,26579
"10.8.70.69","wireless",,"RGB_34_FTR",,19780
Run Code Online (Sandbox Code Playgroud)

我想检索第一、第二和第四列值(不带引号)并以下面的格式填充到另一个 csv 中。

IP          DEVICETYPE  DEVICENAME
10.8.70.67  wireless    UTY_07_ISD
10.8.70.69  wireless    RGB_34_FTR
Run Code Online (Sandbox Code Playgroud)

我使用了下面的 awk 命令

awk -F ',|,,' '{gsub(/"/,"",$1); gsub(/"/,"",$2); gsub(/"/,"",$3); print $1, $2, $3}' file.csv
Run Code Online (Sandbox Code Playgroud)

并得到以下输出

10.8.70.67  wireless    UTY_07_ISD
10.8.70.69  wireless    RGB_34_FTR
Run Code Online (Sandbox Code Playgroud)

请帮助为每列分配标题。

linux awk

3
推荐指数
1
解决办法
242
查看次数

从 neovim 复制到系统剪贴板

我刚刚开始使用 neovim,在尝试将代码从 neovim 复制到系统剪贴板时遇到问题。我想分享一些代码行,但无法将代码复制到系统剪贴板中。

我已经尝试了很多解决方案。我对lua的了解为零。我复制了一个我喜欢的配置文件,这就是我正在使用的,所以我不知道我在做什么。我尝试过的一些事情是安装 win32yank,

vim.cmd [[
    let g:clipboard = {
      \   'name': 'win32yank-wsl',
      \   'copy': {
      \      '+': 'win32yank.exe -i --crlf',
      \      '*': 'win32yank.exe -i --crlf',
      \    },
      \   'paste': {
      \      '+': 'win32yank.exe -o --lf',
      \      '*': 'win32yank.exe -o --lf',
      \   },
      \   'cache_enabled': 0,
      \ }
]]
Run Code Online (Sandbox Code Playgroud)

我也尝试过


let g:clipboard = {
    \   'name': 'WslClipboard',
    \   'copy': {
    \      '+': 'clip.exe',
    \      '*': 'clip.exe',
    \    },
    \   'paste': {
    \      '+': 'powershell.exe -c [Console]::Out.Write($(Get-Clipboard -Raw).tostring().replace("`r", ""))', …
Run Code Online (Sandbox Code Playgroud)

lua copy-paste neovim windows-subsystem-for-linux

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

使用终端复制文件内容

我希望将 txt 文件内容复制到剪贴板,以便我能够将其粘贴到其他地方(使用 MAC 终端)。通常,我应该选择文本内容并进行复制。这对我来说并不方便,因为内容太大,无法一直向下滚动。是否有 Linux 快捷方式可用于在单个命令中复制内容?我听说过cat,但这对我来说不起作用。

macos terminal

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

构建字典时增加值的Pythonic方法

来自工作脚本的代码片段;我只是好奇是否有一种“更漂亮”的方式来实现相同的结果。

    if ctry in countries:
        countries[ ctry ] += 1
    else:
        countries[ ctry ] = 1
Run Code Online (Sandbox Code Playgroud)

在 awk 中,我本可以使用countries[ ctry ] += 1,但是 python 抛出了一个关键错误(可以理解)。

python dictionary

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