小编slm*_*slm的帖子

作为开发人员,我应该为中间文件写入哪个文件夹?

我开始为我的项目编写一些 bash 脚本,它们需要编写一些中间文件或变量。

我想知道当有人运行我的脚本时我可以确定可以访问哪些文件夹?使用它是一种常见的做法/tmp/吗?还是我应该使用其他东西?

filesystems scripting directory-structure tmp

17
推荐指数
2
解决办法
1102
查看次数

Debian 标准版和 Gnome 有什么区别?

我想知道,Debian Standard 和 GNOME 版本之间有什么区别吗?

Debian 不是默认在 GNOME 下吗?

gnome debian standard

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

使用 glob 模式 cp 隐藏文件

情况 :

$ mkdir foo && touch foo/.test
$ cp foo/* .
zsh: no matches found: foo/*
(or bash : cp: cannot stat ‘foo/*’: No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我有一个充满隐藏文件夹和文件的目录。发生了什么,解决方案是什么?

zsh cp wildcards dot-files

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

如何在干净的环境中启动脚本?

我尝试了以下但它似乎不起作用:

$ cat script.sh
#!/bin/env -i /bin/sh

/bin/env
$ script.sh
/bin/env: invalid option -- ' '
Try `/bin/env --help' for more information.
Run Code Online (Sandbox Code Playgroud)

bash shell-script env

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

二进制文件和 .exe 文件有什么区别?

谁能区分二进制文件和.exe文件之间的区别?

files

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

iptables 将所有流量转发到接口

我有两个接口eth1eth0. 我希望将所有流量eth0转发到eth1. 我创建了一个这样的 iptable 规则:

iptables -A FORWARD -s 0/0 -i eth0 -p tcp -o eth1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但这不起作用。这是这样做的正确方法吗?

iptables

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

在不同接口上使用 dhclient 更新 IP

我的电脑上有两个接口,eth0eth1.

两个子网都有一个 DHCP 服务器。我如何使用dhclient更新两个接口的 IP 地址?

如果我做:

dhclient -r && dhclient eth0
Run Code Online (Sandbox Code Playgroud)

它更新了 上的 IP eth0。然后,如果我只想做:

dhclient eth1
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

dhclient(22421) is already running - exiting.
Run Code Online (Sandbox Code Playgroud)

我可以:

dhclient -r && dhclient eth1
Run Code Online (Sandbox Code Playgroud)

但是这dhclient -r部分释放了租约,我也失去了 IP 地址eth0

目前,我设法做我想做的事情的唯一方法是运行dhclientfor eth0,残酷地杀死它,然后运行它eth1:我最终在两个接口上都获得了更新的 IP。

我还测试了dhclient -x而不是dhclient -r,没有运气。

当然,这不是要走的路!

编辑:

两个答案建议这样做dhclient -r eth0 eth1 && dhclient eth0 eth1 ,实际上,限制了对这些接口的广播调用。但是第一个应答的 DHCP 服务器将是唯一使用的,因此会在单个接口上生成一个新 IP,而不是两个。看到这里,我们可以看到DHCPDISCOVER两个接口上的调用,但DHCPREQUEST只在 …

networking dhcp

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

如何以几秒的时间延迟多次执行相同的命令“X”?

我知道如何同时执行多个命令,但现在我需要的是多次运行相同的命令,并在命令执行之间有一些时间延迟。

要求

  • 我不想为此使用脚本
  • 一个单行命令来完成这个
  • 需要在 Linux 上运行
  • 需要控制命令运行的次数

command-line shell

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

如何使用 linux date 命令解析 ISO8601 日期

I'm trying to use the date command to generate a file timestamp that the date command itself can interpret. However, the date command does not seem to like its own output, and I am not sure how to work around this. Case in point:

sh-4.2$ date
Fri Jan  3 14:22:19 PST 2014
sh-4.2$ date +%Y%m%dT%H%M
20140103T1422
sh-4.2$ date -d "20140103T1422"
Thu Jan  2 23:22:00 PST 2014
Run Code Online (Sandbox Code Playgroud)

date appears to be interpreting the string with an offset of 15 hours. Are …

shell-script date

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

如何使用 Linux 命名空间执行 chroot?

在阅读了 Linux 命名空间之后,我的印象是,在许多其他功能中,它们是 chroot 的替代品。例如,在这篇文章中

[名称空间] 的其他用途包括 [...] chroot() 式将进程隔离到单个目录层次结构的一部分。

但是,当我克隆 mount 命名空间时,例如使用以下命令,我仍然看到整个原始根树。

unshare --mount -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

我知道我现在能够在不与原始命名空间共享的新命名空间中执行额外的挂载,因此这提供了隔离,但它仍然是同一个根,例如/etc两个命名空间仍然相同。我还需要chroot更改根目录还是有其他选择?

我期待这个问题会提供答案,但答案chroot再次仅使用, 。

编辑#1

有一条现已删除的评论提到pivot_root。由于这实际上是 的一部分linux/fs/namespace.c,因此它实际上是名称空间实现的一部分。这表明仅使用unshare和更改根目录mount是不可能的,但命名空间提供了一个自己的——更聪明的—— chroot. chroot即使在阅读源代码之后(例如在安全性或更好的隔离的意义上),我仍然不明白这种方法的主要思想,这使得它与 根本不同。

编辑#2

这不是这个问题的重复。执行完答案中的所有命令后,我有单独的 /tmp/tmp.vyM9IwnKuY(或类似的),但根目录仍然相同!

chroot namespace

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