小编dev*_*fun的帖子

sed 中的斜线和反斜线

我想用来将sed斜杠更改为反斜杠和斜杠,即/-> \/。但它不起作用。这里有一个小例子:

#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s/\//\\\//g"
Run Code Online (Sandbox Code Playgroud)

前三行的输出是假设的。但是最后一个不起作用。为什么?如何修正最后一部分?

bash sed quoting

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

netstat 输出中的语言

我这里有一个程序,这取决于netstat. 更具体的:netstat -apn

下面是一个正常输出的例子。

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
Run Code Online (Sandbox Code Playgroud)

我的一个客户有一些其他输出(例如):

Proto Recv-Q Send-Q Endereço Local          Endereço Remoto         Estado      PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               OUÇA       -
Run Code Online (Sandbox Code Playgroud)

我想使用更改后的输出来测试我的软件netstat,例如客户端的输出。

所以问题是:我应该怎么做才能改变 的输出语言netstat,这样我才能重现错误,客户端得到?

我已经尝试用 更改语言export LANG=pt_PT,但输出没有改变。

locale netstat

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

无需重新启动即可删除 nouveau 驱动程序 (nvidia)

我这里有一个 Ubuntu 版本,它是从 USB 启动的 Live 版本。我不想将它安装在硬盘上,因为仅在 Ubuntu 上测试一个小东西就太多了。

所以我启动了 Ubuntu 并使用以下命令为 GPU(Tesla C2050)安装了 nvidia 驱动程序(来自 nvidia):

sudo apt-add-repository ppa:xorg-edgers/ppa -y
sudo apg-get update
sudo apt-get install nvidia-346
Run Code Online (Sandbox Code Playgroud)

由于 Ubuntu 是作为 Live-version 启动的,一开始,nouveau驱动程序被激活。我想停用它(也许通过rmmod或类似的东西),所以只有nvidia驱动程序被激活,GPU 正在使用nvidia驱动程序。

怎么可能?我可以在不重新启动整个系统的情况下做什么(因为所有安装/删除/更改的软件包都将消失)?

我可以通过 SSH 访问 Ubuntu。

我读到我可能有助于输入命令,sudo update-initramfs -u但该命令生成了输出update-initramfs is disabled since running on read-only media

ubuntu nvidia modprobe gpu nouveau

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

如何解决这个“模糊重定向”

我有一个带有函数的脚本:

function install_log() {
    echo "$1" >> $INSTALL_LOG_OUTPUT 2>&1
}
Run Code Online (Sandbox Code Playgroud)

此功能正常工作。它是一种将某些内容写入日志文件的功能。

我在脚本中添加了一些其他命令,用于读取脚本的给定参数:

AUTOMATIC_INSTALL=

for argument in "$@"
do
    install_log "-> parameter $argument"
    if [ "$argument" == "--automatic" ] || ["$argument" == "-automatic" ]; then
        AUTOMATIC_INSTALL=True
    fi
done
install_log "# AUTOMATIC_INSTALL: $AUTOMATIC_INSTALL"
Run Code Online (Sandbox Code Playgroud)

但是使用新行,我收到了一些不需要的消息:

$INSTALL_LOG_OUTPUT: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)

我发现,这来自两行

install_log "-> parameter $argument"
# ...
install_log "# AUTOMATIC_INSTALL: $AUTOMATIC_INSTALL"
Run Code Online (Sandbox Code Playgroud)

有谁知道,为什么会出现这些消息。

shell bash io-redirection

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

64 位 linux 系统上的 32 位 apache

我只是好奇:是否有任何 64 位 Linux 系统支持 32 位版本的 Apache?据我所知,64位Linux系统只支持Apache 64位,32位Linux系统只支持Apache 32位。

编辑

我的动机只是想知道,是否以及哪个 Linux 发行版也为应用程序和/或库提供 32 位包。

64bit 32bit apache-httpd

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

如何删除那个目录?

我有一个目录,我不能用rmdir. 我总是得到一个permission denied错误。但是当列出目录(带有ls -l)时,我得到了这个:

drwxrwxrwx  2 user user 4096 Aug 28 09:34 directory
Run Code Online (Sandbox Code Playgroud)

stat 给我:

  File: `directory/'
  Size: 4096            Blocks: 16         IO Block: 32768  directory
Device: 12h/18d Inode: 102368771   Links: 2
Access: (0777/drwxrwxrwx)  Uid: ( 1000/  user)   Gid: ( 1000/  user)
Access: 2015-08-31 03:00:20.630000002 +0200
Modify: 2015-08-28 09:34:16.772930001 +0200
Change: 2015-08-31 12:25:04.920000000 +0200
Run Code Online (Sandbox Code Playgroud)

那么如何删除那个目录。

permissions directory rm

4
推荐指数
1
解决办法
1175
查看次数

从 USB 实时运行 CentOS 7

我从http://mirror.yourwebhoster.eu/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso下载了 CentOS 7并将其放在 USB 上。

但是当用 USB 启动计算机时,我只能选择安装 CentOS 7。来自 USB 的 CentOS 7

但是我想在没有任何安装的情况下从 USB 启动 CentOS 7。那可能吗?如何?

usb iso centos live-usb

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