小编Cir*_*郝海东的帖子

Bash 运算符 [[ vs [ vs ( vs ((?

我对这些运算符在 bash 中使用时有何不同(括号、双括号、括号和双括号)感到有些困惑。

[[ , [ , ( , ((
Run Code Online (Sandbox Code Playgroud)

我见过人们在这样的 if 语句中使用它们:

if [[condition]]

if [condition]

if ((condition))

if (condition)
Run Code Online (Sandbox Code Playgroud)

shell bash test

436
推荐指数
6
解决办法
19万
查看次数

如何在 tmux 的当前目录上创建一个新窗口?

是否可以打开一个new-window其工作目录设置为我当前所在的目录。如果重要的话,我正在使用zsh

terminal-multiplexer tmux

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

如何找出运行时加载的动态库可执行文件?

我想找出运行时二进制加载的动态库列表(及其完整路径)。我正在使用 CentOS 6.0。这该怎么做?

libraries executable dynamic-linking

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

为什么我们在 Linux/UNIX 中使用“./”(点斜线)来执行文件?

为什么我们./filename在linux中使用执行文件?

为什么不像其他命令一样输入它gccls等等...

command-line executable

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

如何检查 Linux 中哪个 GPU 处于活动状态?

我的上网本中有 2 个 GPU。我怎么知道我在任何给定时刻实际使用的是哪一个?

linux hardware graphics

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

如何运行涉及使用 sudo 重定向或管道的命令?

我正在尝试遵循我认为使用 sudo 而不是 root 帐户的最佳实践。

我正在运行一个简单的 concat 文件操作,例如:

sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock
Run Code Online (Sandbox Code Playgroud)

这在以普通用户身份运行的“>>”右侧失败。添加额外的 sudo 也会失败(由于管道到 sudo 命令而不是文件的预期行为)。

示例仅此而已,但已在 root 帐户下进行了验证和测试。

shell sudo io-redirection quoting

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

如何显示为当前引导给出的 Linux 内核命令行参数?

grub.conf配置文件中,我可以指定内核将使用的命令行参数,即:

kernel /boot/kernel-3-2-1-gentoo root=/dev/sda1 vga=791
Run Code Online (Sandbox Code Playgroud)

启动给定内核后,有没有办法显示首先传递给内核的命令行参数?我找到了 sysctl,

sysctl --all
Run Code Online (Sandbox Code Playgroud)

但是 sysctl 显示了所有可能的内核参数。

linux linux-kernel

86
推荐指数
2
解决办法
11万
查看次数

如何在 Linux 中将进程限制为一个 CPU 内核?

如何将进程限制为一个 CPU 内核?

类似于ulimitcpulimit会很好的东西。(只是为了确保:我不想限制使用百分比或执行时间。我想强制应用程序(包括所有子进程、进程(线程))使用一个 cpu 核心(或“n”个 cpu 核心))。

linux cpu process limit

80
推荐指数
2
解决办法
10万
查看次数

如何检查管道是否为空并对数据运行命令(如果不是)?

我在 bash 脚本中输入了一行,并想在将它提供给程序之前检查管道是否有数据。

搜索我找到了,test -t 0但在这里不起作用。总是返回假。那么如何确定管道有数据呢?

例子:

echo "string" | [ -t 0 ] && echo "empty" || echo "fill"
Run Code Online (Sandbox Code Playgroud)

输出: fill

echo "string" | tail -n+2 | [ -t 0 ] && echo "empty" || echo "fill"
Run Code Online (Sandbox Code Playgroud)

输出: fill

测试上述管道是否产生输出的标准/规范方式不同需要保留输入以将其传递给程序。这概括了如何将输出从一个进程传送到另一个进程,但仅在第一个进程有输出时才执行?专注于发送电子邮件。

shell bash pipe

73
推荐指数
7
解决办法
8万
查看次数

/dev/stdin、/dev/stdout 和 /dev/stderr 的可移植性如何?

有时,我需要指定标准 IO 流 ( stdin, stdout, stderr)之一的“等效路径” 。因为我 99% 的时间都在使用 Linux,所以我只是/dev/在准备 get/dev/stdin等,而这“似乎做对了”。但是,一方面,我一直对这样的理由感到不安(因为,当然,“它似乎有效”,直到它没有为止)。此外,我对这种操作的便携性没有很好的了解。

所以我有几个问题:

  1. 在Linux中的情况下,它是安全(是/否)划上等号stdinstdout以及stderr/dev/stdin/dev/stdout/dev/stderr

  2. 更一般地说,这个等价物是否“足够便携”?

我找不到任何 POSIX 参考。

io file-descriptors posix portability

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