作为评论,我很困惑为什么 makefile 中的“| true”与“|| true”用户cjm写道具有相同的效果:
另一个要避免的原因
| true是,如果命令产生足够的输出来填满管道缓冲区,它将阻塞等待 true 读取它。
我们是否有办法找出管道缓冲区的大小?
很多时候我用 nano 编辑文件,尝试保存并获得权限错误,因为我忘记以 sudo 身份运行它。有什么快速的方法可以让我成为 sudo 而不必重新打开和重新编辑文件吗?
有什么方法可以检查内核杀死了我的哪些进程?有时我登录到我的服务器,发现应该运行一整夜的东西在 8 小时后停止了,我不确定是应用程序在做还是内核在做。
这不起作用:
tar xf /tmp/foo.tar.gz foo/bar
tar: foo/bar: Not found in archive
Run Code Online (Sandbox Code Playgroud)
除了将其提取到位并移动文件之外,我还不清楚还有什么办法可以做到这一点。
我有一个cities这样的文件:
[1598] San Diego, US (inactive)
[4517] St Louis, US (inactive)
[6346] Orlando, US (inactive)
Run Code Online (Sandbox Code Playgroud)
我想删除城市名称,以便我有:
San Diego
St Louis
Orlando
Run Code Online (Sandbox Code Playgroud)
这是我能想到的最好的:
cut -d ',' -f1 cities | cut -d ']' -f2
Run Code Online (Sandbox Code Playgroud)
但这仍然给我留下了名字前的空格。是否有一个cut类似的命令,我可以使用它接受几个字符的分隔符,以便我可以继续]?
我想在 NATed 时短暂接受连接以进行开发,因此我尝试这样做:
$ ssh ubuntu@example.org -R 80:localhost:80
Run Code Online (Sandbox Code Playgroud)
当我试图绑定一个低的端口时失败了:
Warning: remote port forwarding failed for listen port 80
Run Code Online (Sandbox Code Playgroud)
所以我发现我可以setcap 'cap_net_bind_service=+ep' /my/application允许它监听低于 1024 的端口。所以我在我的 suders crontab 中有这个:
@reboot setcap 'cap_net_bind_service=+ep' /usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)
但它仍然不让我绑定端口 80。我做错了什么?我只是打算使用 nginx 代理到 8080 或 iptables 或其他东西,但我仍然很好奇为什么我尝试做的事情不起作用。
我有一个生成文件,我在删除文件之前停止服务。当它无法停止服务时,它会因错误而中断。这显然是不需要的,所以我想我会添加|| true但错过了|. 进行中:
stop service foo | true
rm /etc/init/foo.conf
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么这会起作用以及正在发生什么。这是否意味着这true是一个应用程序而不仅仅是一个关键字?他们是一样的吗?有充分的理由使用| true吗?
我在工作中使用的其中一个应用程序有时会与我的 bash 搞砸,所以我再也看不到自己的输入了。IE
$ echo foo
foo
$
Run Code Online (Sandbox Code Playgroud)
变成
$ foo $
Run Code Online (Sandbox Code Playgroud)
我错误地尝试运行stty -echo,这让事情变得更糟,现在它停止接受所有命令,这使我的输入处于某种状态,>每次我换行时都会出现这种状态,没有别的。
我应该怎么做?
假设我想在/var/log/syslog.log查看 grep 手册时抓住最后 5 次提到的 cron,似乎我无法让 grep 反向搜索。然而,我可以抓住最近发生的事情。
grep cron -m 5 /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
有我可以使用的反向 grep 命令吗?:)
检查与 github 的连接时,我收到了某种警告。为什么会发生这种情况,我该如何解决?
$ ssh -TI ~/.ssh/id_rsa git@github.com
dlopen /home/ubuntu/.ssh/id_rsa failed: /home/ubuntu/.ssh/id_rsa: invalid ELF header
Hi mediapop/Gnossem-Magazine! You've successfully authenticated, but GitHub does not provide shell access.
Run Code Online (Sandbox Code Playgroud)