Unix & Linux

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


6
Unix相当于PowerShell?
当复杂的shell命令涉及使用AWK解析文本输出时,我总是觉得很尴尬。基本上,我们将结构化数据转换为文本,然后再次解析文本以获取结构化数据。 PowerShell是Windows外壳程序,它允许您在外壳程序命令之间而不是文本之间通过管道输入类型的对象,从而避免了该问题。 是否有像PowerShell这样基于对象而不是基于文本的Unix shell?
21 shell 

14
支持从源代码编译的发行版
很久以前,我曾经在FreeBSD的ports系统上使用过,后来用Gentoo进行了移植,以便通过从源代码进行编译来安装应用程序。我这样做是为了直接针对我的系统。 是否有其他支持这种配置的发行版?我似乎记得Slackware有类似的东西。

2
日期命令给12月31日提供了错误的星期数
当我尝试获取12月31日的星期数时,它返回1。当我获取12月30日的星期数时,我得到52 ---这是我期望的。星期一是正确的一天。这是在运行Ubuntu的RPI上。 $ date -d "2018-12-30T1:58:55" +"%V%a" 52Sun $ date -d "2018-12-31T1:58:55" +"%V%a" 01Mon 没有时间字符串的相同问题 $ date -d "2018-12-31" +"%V%a" 01Mon

3
发生错误时,如何在Bash中找到行号?
您如何在Bash中找到发生错误的行号? 例 我用行号创建以下简单脚本,以解释我们需要什么。该脚本将从以下位置复制文件 cp $file1 $file2 cp $file3 $file4 当cp命令之一失败时,该函数将退出并退出1。我们要向该功能添加功能,以便也用行号(例如8或12)打印错误。 这可能吗? 样例脚本 1 #!/bin/bash 2 3 4 function in_case_fail { 5 [[ $1 -ne 0 ]] && echo "fail on $2" && exit 1 6 } 7 8 cp $file1 $file2 9 in_case_fail $? "cp $file1 $file2" 10 11 12 …

3
/ etc / hosts的目的是什么?
据我了解,该hosts文件是协助寻址计算机网络中网络节点的几种系统工具之一。但是里面应该有什么?当我默认安装Ubuntu时 127.0.0.1 localhost 将在那里。为什么? /etc/hosts在像Cassandra这样的JVM系统中如何工作? DNS什么时候可以替代,我想不是在一台计算机上吗?
21 dns  hosts  etc 

3
如果为空,如何将带引号的变量扩展为空?
假设我有一个脚本正在执行: some-command "$var1" "$var2" ... 而且,在var1为空的情况下,我希望将其替换为空字符串而不是空字符串,以便执行的命令为: some-command "$var2" ... 并不是: some-command '' "$var2" ... 有没有比测试变量并有条件地包含它更简单的方法了? if [ -n "$1" ]; then some-command "$var1" "$var2" ... # or some variant using arrays to build the command # args+=("$var1") else some-command "$var2" ... fi 在bash,zsh等中,是否有参数替换无法扩展为空?我可能仍想在其余参数中使用globing,因此禁用该选项并取消引用该变量不是一种选择。

7
Bash中存在编程的“回调”概念吗?
几次阅读编程知识时,我都遇到了“回调”概念。 有趣的是,我从来没有找到一个我可以称呼为“回调函数”或“清晰”的解释(对于我来说,几乎我读过的任何解释似乎与其他解释都足够不同,我感到困惑)。 Bash中存在编程的“回调”概念吗?如果是这样,请用一个简单的Bash小示例进行回答。
21 bash  function 

3
如何修复损坏的包裹?
尝试在Ubuntu 14.04.2上安装libssl-dev $ make fatal error: openssl/sha.h: No such file or directory compilation terminated. $ sudo apt-get install libssl-dev The following packages have unmet dependencies: libssl-dev : Depends: zlib1g-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. $ sudo apt-get …

4
目录中CD的别名并调用命令
我有一个.bash_profile,并且我有一组别名。目前,这些别名仅执行一个命令,这非常容易。但是,我想使用我要创建的新别名来做两件事。 光盘进入目录 从该目录运行命令
21 bash  alias  cd-command 

1
/etc/udev/rules.d/ vs /lib/udev/rules.d/-使用哪个,为什么?
Arch Wiki 建议创建一个文件/etc/udev/rules.d/来修复我的Steam控制器问题。这工作了!但是,我注意到该文件夹​​中除了我刚刚创建的规则以外没有其他规则。此外,我见过的所有其他来源都说要在其中放置udev规则/lib/udev/rules.d/,并且此文件夹中还有很多其他udev规则。为什么有两个文件夹看似相同,应该使用哪个文件夹?
21 udev  etc 

3
如何使用inotifywait监视目录以创建特定扩展名的文件
我已经看到了这个答案。 您应该考虑使用inotifywait作为示例: inotifywait -m /path -e create -e moved_to | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" # do something with the file done 我的问题是,上面的脚本监视目录以创建任何类型的文件,但是如何修改inotifywait命令以仅在创建了某种类型/扩展名的文件(或移动到目录中)时报告?.xml创建任何文件时报告。 我尝试过的是: 我已经运行了inotifywait --help命令,并且已经阅读了命令行选项。它具有--exclude <pattern>和--excludei <pattern>命令可以排除某些类型的文件(通过使用regEx),但是我需要一种方法来仅包括某些类型/扩展名的文件。

3
GNOME:禁用盖子关闭时的睡眠
关闭盖子后是否可以停止笔记本电脑的睡眠? GNOME 3.20,Fedora 24。 我的笔记本电脑无法可靠地从睡眠中唤醒。(这恰好是硬件问题。我想我基本上是在尝试更换wifi卡时将其杀死。但是我想继续使用一段时间。)
21 gnome  suspend  laptop 

4
如何杀死多个进程
找到要杀死的进程的PID的用法: pgrep <process command> 然后,我使用kill命令杀死由...返回的PID pgrep <process command> kill <PID> 可以将这些命令组合为一个命令,这样可以杀死PID或返回的PID pgrep <process command>吗?还是有一种方法可以通过命令名杀死多个进程? 就像是 : kill(pgrep <name of process>)

2
为什么不建议使用netstat?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我已经听到很多次了,现在我大部分时间都在使用ss。但是有时我会对两者之间的差异感到沮丧,并且我希望能提供一些见识。 另外,在使用时,我不是唯一想到希特勒的人ss。不是一个好名字。
21 linux  netstat 

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.