小编Kus*_*nda的帖子

Docker 在容器内覆盖我的 /etc/resolv.conf 文件

我想将我的resin/rpi-raspbian:jessie容器设置/etc/resolv.conf为:

nameserver 208.67.222.222
nameserver 208.67.220.220
Run Code Online (Sandbox Code Playgroud)

我的 Dockerfile 有以下几行:

ADD resolv.conf /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

这个添加的文件包含正确的名称服务器。

我的 Docker 主机/etc/resolv.conf包含正确的信息。

我正在像这样运行容器:

docker run -itd --cap-add=NET_ADMIN --device /dev/net/tun \
-v /home/pi/share/ovpn:/ovpn \
--privileged --network=internet_disabled --name vpn-client \
--dns=208.67.222.222 \
openvpn-client_nat-gateway /bin/bash
Run Code Online (Sandbox Code Playgroud)

尽管如此,容器还是提供了以下输出:

root@642b0f4716ba:/# cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0
Run Code Online (Sandbox Code Playgroud)

只有在我从容器内(或使用 docker exec)手动更改 resolv.conf 后,它才看起来正确。

我宁愿避免使用 exec 命令修复它。有人知道这里发生了什么吗?

docker

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

如何编写在每次迭代中运行异步命令的 for 循环?

我想知道为什么在循环中使用异步命令会出错?

$ for i in {1..8}; do sleep 100 & ; done
bash: syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)

如果我把它写成

$ for i in {1..8}; do 
> sleep 100 & 
> done
Run Code Online (Sandbox Code Playgroud)

这工作正常。

我怎样才能把它写在一行而不出错?

bash

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

“-d”选项对 diff 有什么影响?

diffOpenBSD 上的实现有一个非标准-d选项,其中包含以下文档:

-d

非常努力地产生尽可能小的差异。在处理具有许多更改的大文件时,这可能会消耗大量处理能力和内存。

GNUdiff实现具有与较短文档相同的选项

-d, --minimal

努力找到较小的一组更改

我不时使用此选项只是为了查看它是否生成与diff没有该选项的同一命令不同的任何形状或形式的输出,但我从未见过任何区别(没有双关语意)。

有人可以提供或指出一个示例,其中此选项实际上会从相同的命令中产生不同的结果-d吗?或者,如果有人可以解释此选项启动所需的情况。我也不确定“最小”是指“更少的输出线”还是“更少的大块头”。

一个没有受过教育的猜测是它与非常大的大块头有关。

diff

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

古代硬件上的现代操作系统(i486SX,8 MB RAM)

我最近购买了一台带有 8 MB RAM 和 Intel 486SX 的旧 Packard Bell 机器。我需要在该硬件上安装操作系统。我知道 FreeDOS 可能在这个系统上运行,但自然地,我对 C 提示符不像对bash.

所以,我想知道是否仍然维护着可以在该硬件上运行的类 Unix 操作系统?

linux bsd distribution-choice

24
推荐指数
5
解决办法
6174
查看次数

如何用sed检测行尾

我正在寻找一种仅在最后一个字符是换行符时执行替换的方法,使用sed.

例如:

lettersAtEndOfLine
Run Code Online (Sandbox Code Playgroud)

被替换,但这不是:

lettersWithCharacterAfter&
Run Code Online (Sandbox Code Playgroud)

由于sed不能很好地与换行符一起使用,所以它并不像

$ sed -E "s/[a-zA-Z]*\n/replace/" file.txt
Run Code Online (Sandbox Code Playgroud)

如何做到这一点?

sed regular-expression newlines

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

在ufw中添加规则后是否需要重新加载?

您是否需要运行以下任何命令:

sudo ufw reload
sudo ufw disable
sudo ufw enable
Run Code Online (Sandbox Code Playgroud)

通过添加规则后sudo ufw allow

firewall ubuntu ufw

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

我使用“mv”命令丢失了文件,但我不知道它们在哪里!

我使用该mv命令丢失了一些文件。我不知道他们在哪里。它们不在我打算将其复制到的目录中。

以下是我所做的记录:

samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ cd
samuelcayo@CAYS07019906:~$ ls
Desktop  Documents  Downloads  GameShell  Music  Pictures  pratice  Public  Templates  Videos
samuelcayo@CAYS07019906:~$ mkdir tp2
samuelcayo@CAYS07019906:~$ ls
Desktop  Documents  Downloads  GameShell  Music  Pictures  pratice  Public  Templates  tp2  Videos
samuelcayo@CAYS07019906:~$ cd Downloads/221-tp2-public-main/
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ ls
backup  copybash  Dockerfile               ntfy-1.16.0  packets.txt     README.md      restore        secret
cloud   data      Dockerfile_CAYS07019906  ntfy.zip     rapport-tp2.md  remplacer.sed  sauvegarde.sh  tail
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ mv rapport-tp2.md tp2
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ mv Dockerfile_CAYS07019906 tp2
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ mv packets.txt tp2
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ mv sauvegarde.sh tp2
samuelcayo@CAYS07019906:~/Downloads/221-tp2-public-main$ cd
samuelcayo@CAYS07019906:~$ cd tp2/
samuelcayo@CAYS07019906:~/tp2$ ls
samuelcayo@CAYS07019906:~/tp2$ ls …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu mv

23
推荐指数
2
解决办法
8504
查看次数

cUrl : 参数列表太长

我收到错误:Argument list too long尝试使用 cUrl 在我的 JSON 正文中以 base64 格式发送文件时。

我正在使用这样的东西:

DATA=$( base64 "$FILE" )

curl -X POST -H "Content-Type: application/json" -d '{
   "data": "'"$DATA"'"
}' $HOST
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以在我的 JSON 正文中获取数据?

考虑到我需要读取文件系统中的文件,将其转换为 base64,然后将其发送到正文中。

curl json

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

重命名一个巨大的文件夹:有风险吗?

使用mv命令重命名 180GB 的文件夹是否有风险?

我们有一个/data包含 180GB的文件夹。

我们想使用命令将/data文件夹重命名为。/BD_FILESmv

这样做安全吗?

linux filesystems mv

21
推荐指数
4
解决办法
9870
查看次数

为什么 mv 比 cp 快这么多?如何从不正确的 mv 命令中恢复?

我在 FileZilla 中错误地将一个文件夹拖放到另一个文件夹中。

~/big_folder
~/some_other_folder
Run Code Online (Sandbox Code Playgroud)

移动的文件夹是一个非常大的文件夹。它包括数十万个文件(node_modules,小图像文件,很多文件夹)

奇怪的是,当我松开鼠标后,移动就完成了。文件夹“big_folder”被移动到“some_other_folder”中。

~/some_other_folder/big_folder
Run Code Online (Sandbox Code Playgroud)

(没有big_folder~/移动之后)

然后我意识到错误并尝试返回,但它在 FileZilla 和终端上都失败了。

然后我必须cp -r将文件复制回来,因为有服务器端代码访问这些文件~/big_folder

而且需要永远等待......

我该怎么办?

顺便说一句,这里是 FileZilla 的输出(这是搬回的失败):

Status:       Renaming '/root/big_folder' to '/root/some_other_folder/big_folder'
Status:       /root/big_folder -> /root/some_other_folder/big_folder

Status:       Renaming '/root/some_other_folder/big_folder' to '/root/big_folder'
Command:  mv "big_folder" "/root/big_folder"
Error:          mv /root/some_other_folder/big_folder /root/big_folder: received failure with description 'Failure'
Run Code Online (Sandbox Code Playgroud)

cp file-copy mv

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