小编Bra*_*iam的帖子

如何替换文件中的字符串?

根据某些搜索条件替换文件中的字符串是一项非常常见的任务。我怎样才能

  • 替换字符串foobar在当前目录下的所有文件?
  • 对子目录递归执行相同的操作吗?
  • 仅当文件名匹配另一个字符串时才替换?
  • 仅当在特定上下文中找到字符串时才替换?
  • 替换字符串是否在某个行号上?
  • 用相同的替换替换多个字符串
  • 用不同的替换替换多个字符串

sed awk perl text-processing

879
推荐指数
8
解决办法
171万
查看次数

如何复制文件夹以保持所有者和权限不变?

所以我打算通过将它复制到外部驱动器来备份我的主文件夹,如下所示:

sudo cp -r /home/my_home /media/backup/my_home
Run Code Online (Sandbox Code Playgroud)

结果,外部驱动器上的所有文件夹现在都归root:root. 我怎样才能cp保留原始的所有权和权限?

permissions cp

478
推荐指数
7
解决办法
85万
查看次数

如何通过 SSH 转发 X 以远程运行图形应用程序?

我有一台运行 Ubuntu 的机器,我从 Fedora 14 机器通过 SSH 连接到它。我想将 X 从 Ubuntu 机器转发回 Fedora,以便我可以远程运行图形程序。两台机器都在局域网上。

我知道该-X选项在 SSH 中启用 X11 转发,但我觉得我错过了一些步骤。

通过 SSH 将 X 从 Ubuntu 机器转发到 Fedora 需要哪些步骤?

ssh xorg xforwarding

461
推荐指数
6
解决办法
118万
查看次数

递归 mkdir

是否有我忽略的 linux 命令可以执行以下操作:(伪)

$ mkdir -R foo/bar/zoo/andsoforth
Run Code Online (Sandbox Code Playgroud)

或者除了一次创建一个目录之外别无选择?

mkdir

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

删除除一个文件外的所有文件/目录

我有一个包含大量文件的目录。我想删除除 file.txt 之外的所有文件。我该怎么做呢?

有太多文件无法单独删除不需要的文件,而且它们的名称过于多样化,无法使用 * 将它们全部删除,除了这个文件。

有人建议使用

rm !(file.txt)
Run Code Online (Sandbox Code Playgroud)

但它不起作用。它返回:

Badly placed ()'s 
Run Code Online (Sandbox Code Playgroud)

我的操作系统是 Scientific Linux 6。

有任何想法吗?

file-management

344
推荐指数
8
解决办法
54万
查看次数

我使用的是什么 DNS 服务器?

如何检查我使用的是哪个 DNS 服务器(在 Linux 中)?我正在使用网络管理器和到我大学 LAN 的有线连接。(我试图找出为什么我的域没有得到解析)

networking dns

340
推荐指数
10
解决办法
92万
查看次数

分段错误如何在后台工作?

除了“CPU 的 MMU 发送信号”和“内核将其定向到违规程序并终止它”之外,我似乎找不到任何关于此的信息。

我认为它可能将信号发送到外壳,外壳通过终止违规进程和打印来处理它"Segmentation fault"。所以我通过编写一个我称之为crsh(废话 shell)的极简 shell 来测试这个假设。除了获取用户输入并将其提供给system()方法之外,此外壳不执行任何操作。

#include <stdio.h>
#include <stdlib.h>

int main(){
    char cmdbuf[1000];
    while (1){
        printf("Crap Shell> ");
        fgets(cmdbuf, 1000, stdin);
        system(cmdbuf);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我在一个裸终端中bash运行了这个 shell(没有在下面运行)。然后我继续运行一个产生段错误的程序。如果我的假设是正确的,这将 a) 崩溃crsh,关闭 xterm,b) 不打印"Segmentation fault",或 c) 两者兼而有之。

braden@system ~/code/crsh/ $ xterm -e ./crsh
Crap Shell> ./segfault
Segmentation fault
Crap Shell> [still running]
Run Code Online (Sandbox Code Playgroud)

回到第一个,我猜。我刚刚证明了不是外壳执行此操作,而是下面的系统。“分段错误”是如何打印出来的?“谁”在做?内核?还有什么?信号及其所有副作用如何从硬件传播到程序的最终终止?

shell kernel signals segmentation-fault

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

列出可用更新但不安装它们

如果我的包有更新,我希望我的 cron-run 报告脚本通知我。有没有办法让apt-get我提供可用更新的列表,但不要再做任何事情?

apt

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

说服 apt-get *not* 使用 IPv6 方法

我工作的 ISP 正在建立一个内部 IPv6 网络,为最终连接到 IPv6 互联网做准备。因此,该网络中的一些服务器在运行时默认尝试通过其 IPv6 地址连接到 security.debian.org apt-get update,这导致每当我下载任何类型的更新时都必须等待很长时间.

有没有办法告诉 apt 是更喜欢 IPv4 还是完全忽略 IPv6?

apt ipv6

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

如何让我的电脑扬声器发出哔哔声

使用 bash,如何使电脑扬声器发出哔哔声?

echo 'beepsound' > /dev/pcspkr这样的东西会很好。

command-line

221
推荐指数
8
解决办法
37万
查看次数