为什么使用 of*(1)*
会删除目录中的所有内容?那么如何选择(1)
名称中间有的所有文件呢?
使用的命令是rm *(1)*
or rm -rf *(1)*
(记不太清了)。这是默认的 Ubuntu shell。
我有一台通过 X11 使用的远程 RHEL 机器。在那台机器上,当我在 VS Code 或 Firefox 浏览器(这两个应用程序都在远程机器上)中打开一个新文件时,我会看到以下文件选择对话框:
在此对话框中,我只能通过多次单击各种路径元素来获得所需的位置。然而,我经常有一个像/opt/servers/tomcat/apache-tomcat-8.5.78/conf/server.xml
剪贴板中那样的路径字符串,我可以将其粘贴到所需的位置。
是否有可以使用完整路径字符串的文件选择对话框以及如何将它们连接到 RHEL 系统?
信息 | 价值 |
---|---|
远程操作系统: | 红帽企业 Linux 8.3 |
本地 X11“服务器”: | Windows 上的 MobaXterm |
我正在尝试切换此curl
命令,wget
因为curl
它会给系统带来一些漏洞。
curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64
Run Code Online (Sandbox Code Playgroud)
wget
参数相当于什么curl -L
?提前致谢!
为什么我仍然可以使用密码 ssh 进入我的 Ubuntu 机器?这是 /etc/ssh/sshd_config
我的 Ubuntu 20.04 在 ovh 托管上的文件(为简洁起见,仅显示未注释的行):
Include /etc/ssh/sshd_config.d/*.conf\nPort xxx\nPermitRootLogin no\nAllowUsers user1 user2\nPubkeyAuthentication yes\nAuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2\nPasswordAuthentication no\nChallengeResponseAuthentication no\nUsePAM yes\nX11Forwarding yes\nPrintMotd no\nAcceptEnv LANG LC_*\nSubsystem sftp /usr/lib/openssh/sftp-server\n
Run Code Online (Sandbox Code Playgroud)\n相关文件的权限看起来没问题:
\n$ stat -c %a /home/user1/.ssh/\n700\n\n$ stat -c %a /home/user1/.ssh/authorized_keys`\n600\n
Run Code Online (Sandbox Code Playgroud)\n我已经跑了sudo service ssh restart
并且sudo service sshd restart
.
为什么我仍然可以通过 ssh 使用密码登录我的 Ubuntu 机器?我可以通过 ssh (PuTTY) 通过用户名和密码登录,它只要求输入密码。user1 和 user2 的密钥都在 .ssh 主文件夹中。\xc2\xa0\n缺少什么?
\n我检查了包含文件:
\n-rw------- 1 root root 27 Dec 1 12:52 …
Run Code Online (Sandbox Code Playgroud) 我的目录中有几个包含此类内容的文件:
Wood *
Nails
Large Hammer *
Run Code Online (Sandbox Code Playgroud)
有些名字后面有一个星号,有些则没有。我有多个包含此类内容的文件。在每个文件中,产品旁边可能有一颗星,也可能没有。我需要制作一个 bash 脚本来计算所有文件中每个产品的星号出现次数。例如,输出需要如下所示:
Wood 12
Yellow Lamps 6
Nails 4
...
Run Code Online (Sandbox Code Playgroud)
这意味着在所有文件中,它在木材旁边发现了 12 颗星星,在灯旁边发现了 6 颗星星,等等......
用 C 语言解析它非常容易,但我不想运行二进制文件。我想要一个 shell 脚本,但我不太擅长使用 grep 和 awk,但我确信我需要这些。
我知道如何计算星星本身,但我不确定如何跟踪哪个星星属于哪个产品。
我需要打开一个名为-
. (我正在玩这个黑客游戏)
当我尝试使用 command 时cat -- -
,在我输入该命令后,我输入的任何命令都不起作用,事实上,我输入的所有内容在我按 Enter 后都会重复。
我假设我进入了某种类型的循环或扩展命令模式或其他模式。
我该输入什么或按什么才能摆脱这个“循环”?
需要明确的是,我输入了一次“hhel”,它出现了两次,我输入了一次“test”,正如您在照片中看到的,它在终端中显示了两次。
当我跑步时egrep
,它显示warning: egrep is obsolescent; using grep -E
但我将它用作我经常使用的 shell 自动完成脚本的一部分,并且我不想重写它们。
我正在寻找抑制这些警告的方法,因为我的自动完成变得“丑陋”,例如:在输入时mycmd myargum<TAB>
,我期望自动完成能够做到这一点mycmd myargument
,但它却写道:
mycmd myargum<TAB>grep: warning: egrep is obsolescent; using grep -E
grep: warning: egrep is obsolescent; using grep -E
ent
Run Code Online (Sandbox Code Playgroud)
目前我尝试这样做:
mv /usr/bin/egrep /usr/bin/egrep.backup
echo 'grep -E $@' > /usr/bin/egrep
chmod a+x /usr/bin/egrep
Run Code Online (Sandbox Code Playgroud)
它的工作原理是将 grep 二进制文件更改为调用“grep -E”的脚本。
附加信息:
$ egrep.backup --version
egrep.backup: warning: egrep.backup is obsolescent; using grep -E
grep (GNU grep) 3.8
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: …
Run Code Online (Sandbox Code Playgroud) 该命令df [-h]
给出所有磁盘上的已用/剩余空间。
我可以通过某种方式将此输出传输到不同的命令并获取当前磁盘(当前磁盘=当前工作目录所在的磁盘)所在的使用情况吗?
我很难打印一个数字序列,然后在末尾添加一些内容。
seq 1 3 | xargs -I {} echo {} 4
Run Code Online (Sandbox Code Playgroud)
结果是
1 4
2 4
3 4
Run Code Online (Sandbox Code Playgroud)
不过我希望结果是
1 2 3 4
Run Code Online (Sandbox Code Playgroud)
由于我正在学习xargs
,我只想用它xargs
来实现这一目标。
我正在寻找一种简单、通用的方法来在终端上的文本文档中输入任意 unicode 字符(例如在终端编辑器中)。我可以想象的一个基本方法是拥有一个简单的文本(utf-8)文件,其中包含两列,角色的名称或描述以及角色本身。然后我可以有一个简单的脚本来通过该文件查找字符,例如使用 dmenu 或类似的脚本。
是否有类似的方法可以为我解决这个问题?否则我在哪里可以找到常见 unicode 字符(例如笑脸、希腊字符、数学符号)的映射(名称、utf-8 值)?
这似乎是一个基本的常见需求,但我很难找到现成的简单解决方案。
谢谢!