AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-441685

YorSubs's questions

Martin Hope
YorSubs
Asked: 2022-01-16 14:59:15 +0800 CST

Linux Mint 上的 NordVPN

  • 0

这是一个不幸的具体问题,我宁愿问一些更通用的问题,但我只是难住了。我安装了最新的 Linux Mint,然后我去 NordVPN 站点并按照指南在那里安装 NordVPN,然后……什么也没有。我遵循公司自己的指南。https://support.nordvpn.com/Connectivity/Linux/1325531132/Installing-and-using-NordVPN-on-Debian-Ubuntu-Raspberry-Pi-Elementary-OS-and-Linux-Mint.htm

sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
nordvpn login
nordvpn connect

它接受我的登录凭据,然后说“关闭此窗口以返回应用程序?” 所以我这样做并返回控制台,然后如果我尝试运行任何命令,它只会显示“您尚未登录 NordVPN”。

具有 Ubuntu/Debian/LinuxMint 相关经验的 NordVPN 的人能否指出我遗漏了什么或做错了什么?

ubuntu linux-mint
  • 1 个回答
  • 1193 Views
Martin Hope
YorSubs
Asked: 2021-11-02 03:55:12 +0800 CST

我可以对列制表符大小进行格式化,以使间距在 Linux 中达到最低公分母吗?

  • 0

我可以stat用来创建一个 ls 输出,显示两种格式的权限信息,这很方便:

stat --printf="%A\t%a\t%h\t%U\t%G\t%s\t%.19y\t%n\n" . .*

drwxr-xr-x      755     4       boss    boss    4096    2021-10-29 22:49:12     .
drwxr-xr-x      755     4       boss    boss    4096    2021-10-29 22:49:12     .
drwxr-xr-x      755     36      boss    boss    4096    2021-11-01 11:30:24     ..
-rw-r--r--      644     1       boss    boss    97708   2021-11-01 11:30:16     .custom
-rw-r--r--      644     1       boss    boss    4013    2021-10-11 22:04:04     .custom-dk

然而,列之间的间距使用\t这很好,但相当“间隙”。这让我很好奇,是否有一种通用方法来对这样的任何输出进行后处理,以使列处于一个空格间隙的最低公分母,即是否有一种通用方法可以将上面的内容调整为类似于下面的内容使用awkorsed或类似的(如果可能的话,我也将数字列正确地证明为“理想”输出)?

drwxr-xr-x 755  4 boss boss  4096 2021-10-29 22:49:12 .
drwxr-xr-x 755  4 boss boss  4096 2021-10-29 22:49:12 .
drwxr-xr-x 755 36 boss boss  4096 2021-11-01 11:30:24 ..
-rw-r--r-- 644  1 boss boss 97708 2021-11-01 11:30:16 .custom
-rw-r--r-- 644  1 boss boss  4013 2021-10-11 22:04:04 .custom-dk
linux text-processing
  • 2 个回答
  • 51 Views
Martin Hope
YorSubs
Asked: 2021-10-26 23:20:47 +0800 CST

我可以使 clear 命令的行为类似于 Bash 中的 Ctrl-L 吗?

  • 14

似乎clear和 bash Ctrl-L完全不同;clear完全删除所有以前的终端信息(因此您不能向上滚动),而Ctrl-L只需滚动屏幕,使光标位于页面顶部,以便您仍然可以向上滚动并查看以前的信息。我更喜欢Ctrl-L系统。有没有办法覆盖clear,以便它执行Ctrl-L而不是擦除所有以前的终端信息?这不是一个大问题,但出于好奇,我只是想知道是否有一种方法可以将别名clear指向我的首选Ctrl功能L。

作为旁注,我刚刚注意到 PowerShell 也有一个绑定Ctrl-L并且它的执行方式与Ctrl-L在 bash 上相同;似乎那里的 PowerShell 设计人员从 bash 中获得了很多,而cmd.exe控制台没有此功能。

bash terminal
  • 2 个回答
  • 2370 Views
Martin Hope
YorSubs
Asked: 2021-10-17 00:56:27 +0800 CST

在脚本(.bashrc 等)中查找重复的别名和函数

  • 0

这个网站说函数比别名更快,但他正确地指出别名更容易理解——当你想要一些非常简单的东西并且不需要考虑传递参数时,别名是方便和明智的。在这种情况下,我的个人资料大约有 1,000 行,既可以作为我经常使用的功能和工具的来源,也可以作为保留技术的手段,我可​​以参考和重用于其他任务,包括别名和里面的功能。

但是一个问题是别名优先于函数,并且别名和函数的重新定义可能会导致问题(例如,如果我调用了一个函数gg,然后在脚本中稍后,偶然地,我调用了一个别名gg- 但如果稍后重新定义函数,再次作为函数,它会覆盖先前的定义)。配置文件加载,但我最终遇到了问题。一种解决方案可能是消除所有别名并仅使用函数(有人这样做吗,我很想知道,因为如果我想这样做alias m=man比更直观和明智function m() { man $@; }?),但我仍然有函数重新定义的问题在这种情况下。

有没有办法解析脚本以回答:“对于别名或函数的每个声明,向我显示包含该项目的重新声明(别名或函数)的所有行”?

bash alias
  • 2 个回答
  • 170 Views
Martin Hope
YorSubs
Asked: 2021-10-06 12:56:11 +0800 CST

bash 调试选项?

  • 0

在我看来(如果我错了,请纠正我)bash 在错误消息方面非常糟糕,这些错误消息可以正确地告诉您脚本中的问题出在哪里。例如,我经常会得到“第 953 行的错误 EOF”。这真正意味着fi在第 127 行有一个缺失。或者,另一个经典是“-bash: line 60: syntax error near unexpected token '('”。这真正意味着我已将我的函数重新声明mything() {}为别名在第 739 行alias mything=,除此之外,bash 错误指向没有实际问题的第 60 行(所以我花了一段时间才在第 739 行找到罪魁祸首)。

我试图将最热门的“bash 调试”工具加载到 VS Code 中,但我无法让它工作(我按 F5 运行,然后出现一个框,上面写着“选择调试器”,所以我选择了 bash 调试,但没有任何反应) . 我尝试了一个允许交互式运行代码的在线工具,并说它可以帮助调试,但这也没有帮助。我做了一些 PowerShell,它在报告问题根源方面做得更好。是否有方法(工具或 github 或在线上的脚本分析工具可以扫描脚本以查找函数和别名被重新声明为同名的问题以及其他类似的测试)使我们能够更好地调试 bash 脚本?

bash debugging
  • 1 个回答
  • 79 Views
Martin Hope
YorSubs
Asked: 2021-10-06 06:15:20 +0800 CST

Bash,查找内容与搜索字符串匹配的函数

  • 4

我想在 bash 中搜索所有定义的函数以获取一些搜索字符串。下面是一个开始,但我想在下一行消除所有没有$1跟空格的术语(即消除在该函数的主体中没有找到的所有条目)。

fu() { declare -f | grep -e \(\) -e $1; }

例如这个输出:

...
tt ()
untargz ()
urlfix ()
ver ()
    [ -f /etc/lsb-release ] && RELEASE="$(cat /etc/lsb-release | grep DESCRIPTION | sed 's/^.*=//g' | sed 's/\"//g') ";
vi. ()
vi.su ()
...

会减少到

...
ver ()
    [ -f /etc/lsb-release ] && RELEASE="$(cat /etc/lsb-release | grep DESCRIPTION | sed 's/^.*=//g' | sed 's/\"//g') ";
...

如果可以确定并完整显示每个匹配函数,则更好的方法(如果可能)将是。

我的设想大致为:

  • 收集函数的名称及其正文中的搜索字符串(函数的名称始终是匹配前一行上的一个单词,从 at 开始,^后跟一个空格,然后以 结尾的行()$),然后command -V在其中的每一个上使用名称,或者,再做declare -f一次,但这次,使用这些名称并将它们之后的所有内容从{to匹配}(在哪里{和}在单行上)^- 我知道 grep/awk/sed 可以对那些有这些知识的人做惊人的事情.

最终结果将运行fu awk,它将向我显示函数awk体中包含的每个函数的定义。

bash text-processing
  • 2 个回答
  • 323 Views
Martin Hope
YorSubs
Asked: 2021-10-06 03:11:15 +0800 CST

bash,将参数传递给“历史”命令

  • 0

我执行以下操作以使历史记录更明智(即查看命令何时运行在故障排除时可能相当关键)

shopt -s histappend;   # Append commands to the bash history (~/.bash_history) instead of overwriting it   # https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"   # -a append immediately, then  -c clear history, then -r read history every time a prompt is shown instead of after closing the session.
export HISTTIMEFORMAT="%F %T  " HISTCONTROL=ignorespace:ignoreboth:erasedups HISTSIZE=1000000 HISTFILESIZE=1000000000   # make history very big and show date-time
alias h='history';   # Note: 'h 7' will show last 7 lines

这很好,但如果需要,我希望能够获得原始历史输出。这适用于ho(“历史原创”),但我不能再做“ho 7”

alias ho="history | awk '{\$2=\$3=\"\"; print \$0}'" # 'history original'

所以我尝试了以下方法,但失败并出现错误:

function ho() { history $1 | awk '{\$2=\$3=\"\"; print \$0}'; } # 'history original'

如何创建允许我执行的别名或函数,ho 7而我只会看到最后 7 行?

bash awk
  • 2 个回答
  • 93 Views
Martin Hope
YorSubs
Asked: 2021-10-04 09:59:13 +0800 CST

在 bash 中,有没有办法查看 .bashrc 和任何启动脚本消耗了多少内存?

  • 2

在 bash 中,.bashrc(和各种其他脚本)可以在 shell 启动时加载到内存中。这些可以是 10 行长,但可以是数百行(如果不是数千行)。每次导出都会消耗少量内存,每个函数和每个别名也会占用少量内存资源。另一个考虑因素是我们不能只看.bashrc和其他脚本的大小,因为它们可能有很多不消耗内存的注释。

我想删除所有启动脚本,启动系统,等待几分钟让事情稳定下来,然后采取某种基线,然后将启动脚本放回原处,重新启动系统并执行相同的练习来尝试获得某种资源/性能差异。

您能否建议哪些工具可能有助于确定这一点?我有一组相对较大的启动脚本,大约 15k,定义了许多函数和别名,所以我真的很好奇有什么影响(如果有的话,作为一个具有 16 GB 内存和快速现代 Core i5 的现代系统,效果可能可以忽略不计)这对系统消耗的资源有影响吗?即使我的启动脚本的影响很小,我仍然希望能够采用基线,然后进行“负载测试”,以评估系统如何处理运行给定的一组应用程序。

bash performance
  • 1 个回答
  • 155 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve