小编nul*_*ull的帖子

如何在脚本中以 root 身份在后台运行 OpenVPN?

我想编写一个脚本,openvpn首先调用,然后调用ssh. 输入命令时

sudo openvpn ~/my_connection.ovpn
Run Code Online (Sandbox Code Playgroud)

在命令提示符下,我得到以下输出:

...
Wed Jan  4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jan  4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500
Wed Jan  4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO
Wed Jan  4 21:04:35 2017 Initialization Sequence Completed
Run Code Online (Sandbox Code Playgroud)

此命令被阻塞,shell 未释放。为了之后启动 ssh 连接,我需要通过键入Ctrl+Z后跟 a将 openvpn 进程推入后台bg

但是,我想通过仅调用我的 bash 文件来自动调用 openvpn 连接步骤和 ssh。我如何设法模拟此文件中的Ctrl+Zbg步骤?

我试图将 …

command-line bash scripts job-control openvpn

34
推荐指数
2
解决办法
8万
查看次数

为什么我需要 x 权限才能 cd 进入目录?

ls -la 打印以下内容:

drwxrwxrw- 2 www-data www-data 4096 Aug 12 11:04 files
Run Code Online (Sandbox Code Playgroud)

我的用户名不属于www-data。当尝试cd进入文件时,我得到了一个“ permission denied”,尽管read设置了其他人的“ ”权限。

为什么我需要“执行”权限?

filesystem permissions

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

如何检查执行了什么命令?

我有一个名为shell脚本foo.sh/usr/local/sbin。此外,我使用另一个同名脚本。它存储在/home/user/scripts.

两条路径都属于PATH. 如何找出foo.sh在命令行上键入时执行的脚本中的哪一个?我可以影响它吗?

command-line paths execute-command

9
推荐指数
1
解决办法
411
查看次数

“python3”和“python”使用不同的路径变量吗?

该命令会python打开 Python 2.7.6 环境。如果我想解释 Python 3 脚本,我需要将命令重写为python3.

我刚刚安装了numpy包。为了测试安装是否成功,我运行了命令import numpy. 使用该python命令时效果很好。但是,python3没有找到包。

这怎么可能?这两个命令使用不同的路径变量吗?我怎样才能改变这种行为?

python python3

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

为什么 /usr/local/ 归 root 所有?

我想知道为什么诸如/usr和 之/usr/local/类的目录由 root 拥有和创建。通常我以普通用户身份登录,我想在这些目录中存储我个人使用的程序。例如,Android Studio 存储在那里。每当我需要进行更新或进行任何类型的更改时,都不会授予权限,因为我不是以 root 身份登录的。

目录名“usr”已经暗示(普通)基于用户的程序应该在那里。

我没有得到这个目录背后的概念吗?

filesystem permissions directory

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

符号链接和 /etc/alternatives 的意义

java我的控制台中输入时,/usr/bin/java会跟随一个符号链接。

which java
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)

此符号链接指向/etc/alternatives/java.

file /usr/bin/java
/usr/bin/java: symbolic link to `/etc/alternatives/java' 
Run Code Online (Sandbox Code Playgroud)

/etc/alternatives/java 本身就是一个符号链接,指向 /usr/lib/jvm/jdk1.8.0_20/bin/java

为什么要走这样的弯路?为什么不java直接指向/usr/lib/jvm/jdk1.8.0_20. 我看不出有什么优势。

java symbolic-link

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