Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

2
我如何有条件地将子壳传递给“时间”?
我有一个Vagrant框的设置脚本,该脚本过去曾用来测量单个步骤time。现在,我想有条件地启用或禁用时间测量。 例如,以前的一行如下所示: time (apt-get update > /tmp/last.log 2>&1) 现在我以为我可以做这样的事情: MEASURE_TIME=true [[ $MEASURE_TIME = true ]] && TIME="time --format=%e" || TIME="" $TIME (apt-get update > /tmp/last.log 2>&1) 但这不起作用: syntax error near unexpected token `apt-get' `$TIME (apt-get update > /tmp/last.log 2>&1)' 这是什么问题
9 bash  shell  quoting  time 

5
搜索字符串并打印范围内前后的所有内容
我有这个文件: sometext1{ string1 } sometext2{ string2 string3 } sometext3{ string4 string5 string6 } 我想在该文件中搜索特定的字符串,并在此字符串之前将所有内容打印到开头,{并在此字符串之后将所有内容打印到结尾}。我尝试使用sed实现此目的,但是如果尝试打印/{/,/string2/sed 范围内的所有内容,例如sed会打印以下内容: sometext1{ string1 } sometext2{ string2 sometext3{ string4 string5 string6 } 如果我搜索字符串“ string2”,则需要输出为: sometext2{ string2 string3 } 谢谢。

1
无法重新启动网络守护程序
输入sudo service networking restart时,出现如下错误: edward@computer:~$ sudo service networking restart stop: Job failed while stopping start: Job is already running: networking 当我想networking在更改Mac地址后以及在/etc/network/interfaces文件中设置静态IP之后重新启动时,遇到此错误。 即使还原了这些更改并且计算机运行正常,我仍然遇到相同的错误。 翻阅时/var/log/syslog发现: kernel: [ 6448.036144] init: networking post-stop process (28701) terminated with status 100 与失败的停止/启动有关吗? 我在Ubuntu 14.04上

1
从`pass`密码管理器中导出密码
我已经使用pass 密码管理器大约一年了,这很棒,但是有时我想测试其他密码管理器,然后需要我的密码。 到目前为止,我只是在需要时手动添加了它们,但是如果我想迁移到另一个密码管理器,则需要一个脚本,因为考虑到我已经接近了,我没有耐心一个接一个地进行操作。一百(如果不是更多)。 可能吗?已经有解决方案了吗? 在过去的几个月中,我一直在寻找一种解决方案,但一直找不到“仅运行此脚本并导出繁荣”的解决方案。 有这样的剧本吗?如果没有,我应该在哪里寻找什么?

1
insmod:错误:无法插入模块8188eu.ko:无效的模块格式
我正在尝试将TL-WN725N用作Fedora 20的USB WiFi适配器。 我遵循了这些指示,并且适配器在最近几周内运行良好,甚至在两次更新中都幸免于难。 然后我做了一个yum update今天,它仍然可以正常工作,直到我重新启动计算机。我试图重新加载模块并得到insmod: ERROR: could not insert module 8188eu.ko: Invalid module format。 我发现,内核和模块中的内核头不再相同,并且我不得不更新内核,所以我做到了 sudo yum install kernel-headers Loaded plugins: langpacks, refresh-packagekit Package kernel-headers-3.17.3-200.fc20.x86_64 already installed and latest version Nothing to do 现在我对如何正确加载模块有些困惑。有人知道吗?

8
按内容查找重复的PDF文件
有些期刊为每次下载生成不同的PDF。例如,APS 将时间和IP地址存储在PDF中。 或者有纸质版本带有超级链接,而文本版本带有文本引用。 如何通过使用开源软件在Linux系统上找到内容相等于90%的论文的重复下载? 我一直在考虑使用来将PDF文件转换为临时目录中的纯文本pdf2txt。然后,我可以过滤所有文件名,diff a b结果超过x行。但这一点都不优雅,并且在扫描出版物时会失败。期刊通常不提供旧出版物的OCR文本。 我也在compareImageMagick套件中进行了尝试,但是使用此工具无法处理多页PDF文件。 diffpdf 2.1.1在两个文件的GUI中做得很好,但我不知道如何将其应用于许多文件,并且在任何开放源代码许可下都无法使用最新版本。

3
我可以从Clonezilla磁盘映像还原单个分区吗?
我当时正在考虑执行Clonezilla备份,并且想知道要选择哪种备份模式。一般来说,Clonezilla提供以下备份选项: savedisk:保存完整的磁盘映像 saveparts:保存特定分区的映像 相应地,有两种还原模式: restoredisk:恢复完整的磁盘映像 restoreparts:恢复分区映像 我正在寻找的是这两种选择的混合。我希望能够全部还原特定分区并还原完整的硬盘。Clonezilla是否开箱即用地支持此还原途径? 到目前为止,我还没有找到任何与此相关的官方文档。我找到的唯一参考资料是2010 年的邮件列表讨论,该讨论指向imgconvert,这是一个自定义脚本,可以将磁盘映像转换为分区映像。不幸的是,我不知道该脚本是否仍然有效。毕竟已经有5年了。 这就是为什么我想在这里问,是否有人对Clonezilla用例有任何经验,是否可以担保这种解决方案(或其他解决方案)。

5
我可以插入cd命令吗?
我试图在我运行的服务器上进行设置,每当我cd有public_html95%的时间进入文件夹时,总会运行一些命令来检查某些内容。 无论如何,我都可以挂入,cd所以如果目录是a public_html,它将为我自动运行命令? 如果我无法使用cd命令,是否还有其他事情可以实现,以达到所需的结果? 我正在运行CentOS 5.8。

8
如何将行追加到上一行?
我有一个日志文件,需要对其进行分析和分析。文件包含类似以下内容: 文件: 20141101 server contain dump 20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdl sddsfd jfkdfk 20141101 server contain dump 基于上述情况,我必须检查起始行是否不包含日期或我必须附加到前一行的数字。 输出文件: 20141101 server contain dump 20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdl sddsfd jfkdfk 20141101 server contain dump

2
如何删除多行文本文件中嵌套大括号之间的所有文本?
这个问题来自于 如何删除多行文本文件中大括号之间的所有文本?(完全一样,但没有嵌套要求)。 例: This is { {the multiline text} file } that wants { to {be changed} } anyway. 应成为: This is that wants anyway. 是否可以通过某种单行bash命令(awk,sed,perl,grep,cut,tr ...等)来执行此操作?

3
带有选定文件和目录以供下载的SCP命令询问每个新文件或目录的密码
在我的Fedora 20系统上,我经常使用scp,这是我第二次在运行此命令时遇到此问题: scp -r -P PORT user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/ 它要求我为它传输的每个文件/目录输入密码。 user@host's password: "password here" 题: 这是怎么回事 这是正常现象,我认为这是非常特殊的行为吗?

8
行的开头或中间的模式的Grep
我首先要说的是,我认为这个问题比听起来听起来要简单得多。 我需要做的是:检查PATH环境变量中的文件夹。可能在开始时或之后。我只需要验证该文件夹在那里。 我的问题的例子-让我们使用/opt/gnome。 场景1:文件夹不在PATH的开头 # echo "$PATH" /sbin:/usr/sbin:/opt/gnome:/var/opt/gnome # echo "$PATH" | grep ":/opt/gnome" /sbin:/usr/sbin:/opt/gnome:/var/opt/gnome 请注意,grep必须足够具体,以使其不会被捕获/var/opt/gnome。因此冒号。 场景2:文件夹位于PATH的开头。 # echo "$PATH" /opt/gnome:/sbin:/usr/sbin:/var/opt/gnome # echo "$PATH" | grep "^/opt/gnome" /opt/gnome:/sbin:/usr/sbin:/var/opt/gnome 这是我的问题-我需要使用此文件夹搜索冒号或行首。我想做的是以下两个括号表达式之一: # echo $PATH | grep "[^:]/opt/gnome" # echo $PATH | grep "[:^]/opt/gnome" 但是[^并[:有自己的含义。因此,以上两个命令不起作用。 有没有一种方法可以在一个命令中针对这两种情况进行grep?

3
Nix:安装Haskell软件包时跳过单元测试
我正在使用Nix在资源有限的共享主机上的家中安装软件包(因此没有二进制软件包)。我正在尝试安装git-annex。在构建其依赖关系之一“ haskell-lens”时,单元测试会消耗大量内存,以至于它们被杀死并且安装失败。 有没有一种方法可以跳过单元测试来安装软件包?我看着Cabal生成器,haskell-packages.nix在我看来,可以通过将其设置enableCheckPhase为false 来禁用测试。我在中尝试了以下操作~/.nixpkgs/config.nix,但测试仍在运行: { packageOverrides = pkgs: with pkgs; { # ...other customizations... haskellPackages = haskellPackages.override { extension = self : super : { self.lens = self.disableTest self.lens; }; }; }; }

1
CentOS 7的启动速度太快,并且在执行cron脚本时网络还没有准备好
我刚刚从CentOS 6.5升级到7.0,但我不太高兴,因为新版本systemd可能给我带来了问题。似乎仅仅是因为启动速度太快,异步启动进程以及搞乱服务依赖关系。 例如,我有一些脚本设置,crond这些脚本在重启后触发: @reboot /root/scripts/check_gmail.sh @reboot /root/scripts/start_gps_listener.sh 这会导致各种奇怪的错误(仅显示其中之一): Warning: stream_socket_client(): unable to connect to tcp://192.168.20.4:4001 (Network is unreachable) in /root/scripts/check_gmail.php on line 137 ERROR: Network is unreachable (101) 在上面,我正在写一个TCP套接字。对我来说很清楚,crond是在将网络正确初始化为之前启动的network is unreachable。 Apache和MySQL(MariaDB)也是如此。MySQL的启动速度很慢(很多数据),这意味着Apache和我的许多crond启动脚本都失败了,因为调用脚本时MySQL数据库未运行。 我试图建立依赖关系,但是没有任何运气。我已将network和mysql服务附加到[Unit](如所见systemctl list-dependencies)。理想情况下,所有服务都要等到MySQL启动并运行为止: vi /lib/systemd/system/httpd.service [Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target network.service mysql.service vi /lib/systemd/system/crond.service [Unit] Description=Command …
9 centos  systemd 

3
ZFS镜像池的有效异地备份策略是什么?
我使用由两个镜像磁盘组成的ZFS池。为了进行异地备份,我又购买了两个磁盘。 我最初的计划是通过将第三个磁盘连接到镜像,等待ZFS重新镀银,然后分离驱动器并将其移到异地来创建异地备份。这样做足够好,但是让我感到惊讶的是,每次附加磁盘时,它似乎都执行了完全重新同步(我读过,并且可能会误解为每次附加都会导致增量重新同步或增量重新同步)。这导致备份花费的时间比可接受的时间长。 我的需求是拥有我的zpool及其所有快照的异地副本,我可以每天对其进行轮换。这意味着重新同步最多需要花费24小时-目前已经很接近了,但是我们增加池的计划将使它超出该时间范围。 如何保留不需要完全重新同步操作的异地备份?我是否应该在备份驱动器上使用其他文件系统(例如,导出映像,而不是使其成为ZFS池的一部分)?我是否应该将备份放在单独的池中,并在创建新快照时向其发送新快照?
9 backup  zfs 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.