Unix & Linux

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

1
带视网膜显示器的(高分辨率)
我目前在具有grub的macbook pro上使用Ubuntu。我的Macbook具有2560x1600分辨率的视网膜显示屏。grub启动屏幕字体是如此之小,以至于几乎不可读。 如何通过此设置使g虫以对眼睛友好的方式出现?仅仅传递类似gfx的模式GRUB_GFXMODE=640x480没有任何效果吗? 感谢您的解决方案。
9 grub2 

3
为什么此命令不起作用:“ ps aux | grep xscreensaver”
我在Google上没有看到有关此的任何搜索,因此我想问您: 我只是想在ssh会话中运行此命令,本地是Debian Wheezy KDE,远程是Fedora 21 Gnome: ps aux | grep xscreensaver 这是输出: bash: grep: command not found... 我以前从未见过,这是什么原因? 我仅几个小时就更新了系统,但是没有看到任何标记为要删除的软件包。系统上只有两个用户,只有我自己在该系统上安装或删除软件。 编辑#1 这是复制的命令和输出,请注意第二次不存在空格: [root@Hostname ~]# ps aux | grep xscreensaver bash: : command not found... [root@Hostname ~]# ps aux | grep xscreensaver bash: grep: command not found...

4
信号可以忽略(丢失)吗?
我有一个通过信号(特殊SIGUSR1 / SIGUSR2 / SIGSTOP)与工作人员通信的应用程序。 我可以相信,无论发生什么情况,处理程序都会传递和处理每个信号? 如果发送信号的速度比应用程序无法处理的速度更快(例如,由于当前主机负载过大),会发生什么?
9 linux  signals 

2
sed:将整个文件读入模式空间而不会在单行输入中失败
将整个文件读入模式空间对于替换换行符&c很有用。并且有很多实例建议以下几点: sed ':a;N;$!ba; [commands...]' 但是,如果输入仅包含一行,则失败。 例如,在两行输入的情况下,每一行都要执行替换命令: $ echo $'abc\ncat' | sed ':a;N;$!ba; s/a/xxx/g' xxxbc cxxxt 但是,对于单行输入,不执行替换: $ echo 'abc' | sed ':a;N;$!ba; s/a/xxx/g' abc 如何编写sed命令一次读取所有输入而又没有此问题的命令?
9 sed  newlines 

2
在运行用户要运行的命令之前,请运行另一个命令
假设我想通过ls这种方式修改工具的原始行为: $ ls Hello World file1 file2 ... 我怎样才能做到这一点? 运行时,ls我想运行另一个命令echo "Hello World!"。 我看到的快速解决方案是使用别名: alias orig_ls="ls" alias ls='echo "Hello World!"' 但是,这不是一个真正的解决方案,因为在我运行orig_ls时它将输出"Hello World!"。


1
如何将服务设置为在systemd启动autofs之后启动
我必须在具有systemd的RHEL7计算机上设置许可证服务器。许可证服务器应在引导时启动,并从网络上的共享磁盘加载许可证文件。因此,我需要等待网络启动以及等待autofs完成NFS磁盘的安装。我有此服务文件: [Unit] Description=Flexnet license server Wants=network.target network-online.target autofs.service After=network.target network-online.target autofs.service [Service] Type=forking User=licenseuser Group=devusers ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 [Install] WantedBy=multi-user.target 该服务在autofs启动之后但在autofs挂载所有磁盘之前启动,因此无法启动许可证服务器。
9 rhel  systemd 

4
使用文件通过apt-get安装软件包
我发现通过brewfiles,caskfiles,dockerfiles,package.json等软件包文件在新计算机上安装软件包非常方便。 apt-get是否有替代方法,因为我仍然只是 通过命令行使用它 apt-get install pkg1 pkg2 pkg3… ?
9 apt 

1
bashscript检测右箭头键被按下
为什么即使键码不是右箭头键,它也总是检测为true? stty_state=`stty -g` stty raw; stty -echo keycode=`dd bs=1 count=1 2>/dev/null` stty "$stty_state" echo $keycode if [ "$keycode"=39 ]; then echo "Right Arrow Key Pressed!" fi

2
如果任何产生的子进程失败,请全部杀死并退出
在我的脚本中,我将数据集划分为input_aa,input_ab等。然后,我通过相同的Python脚本运行每个数据集,如下所示: # Execute program on each split file for part in input_*; do python3 $part & done wait 我的问题有两个:如何检测到Python进程已失败,如何检测到该错误,如何杀死所有产生的子代并失败退出脚本?
9 bash  shell  python 

1
git reset file和git reset HEAD file有什么区别?
我发现这两个都可以取消暂存文件。 我曾经用来git reset file取消文件暂存。 但是今天,当我阅读http://git-scm.com/book时。 我发现它教我使用git reset HEAD fileHEAD在这里做什么?在什么情况下是必须的? PS:还有一个问题,我可以使用它git checkout file来修改文件。同时这本书建议我使用git checkout -- file。这有什么区别?
9 git 

2
btrfs是否适合作为备份文件系统?
现在,我在ext4之上有一个非常传统的备份文件系统结构。每次进行备份时,backup-DATE都会创建一个新文件夹,将文件rsync到该文件夹​​(使用rsync的--link-dest选项进行硬链接)。 由于我已经阅读了有关bitrot的文章,因此我希望透明地为所有文件提供一个校验和。显然ext4无法做到这一点,但是btrfs确实提供了对数据校验和的支持(甚至内置RAID1模式)。首先,我想btrfs用作支持数据校验和的“哑”文件系统,而不使用RAID,子卷快照,发送/接收等高级功能。 但是,他们的Wiki并没有真正激发人们对文件系统进行备份的信心: “尽管许多人可靠地使用它,但是仍然发现问题。您应该保留并测试数据备份,并准备好使用它们。” - 入门 “ btrfs是否稳定?长答案:[..]无论您做什么,我们都建议保留良好的,经过测试的系统外(和异地)备份。” - 常见问题解答。 我的用例是进行脱机备份。因此,该磁盘将很少使用(以小时为单位),并且会频繁插入/拔出(eSATA或USB 3.0)。必须拥有可靠的文件系统。它一定不能比ext4 wrt更糟。停电,不正常关机等 实际上是否建议将btrfs用作文件系统以进行备份?btrfs是否还有其他属性可能使它不太适合(或更多)?

1
ksh93这么快吗?
因此,总的来说,我倾向于寻找sed文本处理工具,尤其是大文件,并且通常避免在shell本身中做这些事情。 我认为,这可能会改变。我在四处闲逛,man ksh我注意到了这一点: <#pattern Seeks forward to the beginning of the next line containing pattern. <##pattern The same as <# except that the por‐ tion of the file that is skipped is copied to standard output. 对现实世界的有用性表示怀疑,我决定尝试一下。我做了: seq -s'foo bar ' 1000000 >file ...对于一百万行数据如下所示: 1foo bar ... 999999foo bar 1000000 …


1
使用apt.VersionCompare时出现“ ValueError:_system未初始化”
我编写了一个bash脚本,该脚本必须比较两个版本字符串来决定是否下载新版本。该测试依赖于Python脚本dos apt.VersionCompare(),该脚本以这种方式进行版本比较apt。 #!/usr/bin/env python import sys, apt res = apt.VersionCompare(sys.argv[1], sys.argv[2]) if res < 0: sys.exit(-1) if res > 0: sys.exit(1) sys.exit(0) 随着升级到Ubuntu 14.4,此功能停止工作。 我尝试按照/programming/4957514/更改脚本,如下所示: #!/usr/bin/env python import sys, apt_pkg res = apt_pkg.version_compare(sys.argv[1], sys.argv[2]) if res < 0: sys.exit(-1) if res > 0: sys.exit(1) sys.exit(0) 但这给了我 ValueError: _system not initialized。如何解决?还是有更好的方法来比较版本apt?
9 apt  python 

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.