小编von*_*and的帖子

什么是 Linux 中的信号队列深度

在一个所有信号都被阻塞的进程上可以排队多少个信号?如果我sigqueue()更频繁地使用那个限制怎么办?那些信号不会排队吗?我会收到错误吗?

signals

4
推荐指数
1
解决办法
1362
查看次数

如何设置Python路径?

我已经卸载了 anaconda2。但现在当我在终端中运行Python命令时,它显示“bash:/home/user/anaconda2/python:没有这样的文件或目录”现在当我在“/usr/lib”中有python 2.7时如何设置为Python。

ubuntu python

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

推荐一本适合初学者学习Linux防火墙配置的读物?

我在家里使用 Linux,希望能够配置防火墙。我想了解我在做什么,而不仅仅是从互联网上复制粘贴一些规则:)。

linux firewall iptables

3
推荐指数
1
解决办法
950
查看次数

Linux 多显示器

我正在用 OpenBox 安装 Arch Linux,目前我只下载了 OpenBox 和 tint2,但我必须安装所有必需的。在做所有事情之前,我想知道如何使用我的两台显示器,显示两个不同的桌面(桌面 1 和桌面 2),以及是否有办法让显示器始终保持相同的桌面,而不是有可能在另一个桌面上使用监控多个桌面。

desktop arch-linux openbox desktop-environment monitors

3
推荐指数
1
解决办法
547
查看次数

在什么情况下文件会在 umount 过程中写入块设备?

我有一个紧凑型闪存卡被检测为块设备/dev/sdb。它有一个 FAT16 分区。现在,如果我挂载 FAT16 文件系统,向文件系统和umount文件系统写入一些内容,然后在以下期间实际写入文件umount

# mount | grep sdb
/dev/sdb1 on /media type vfat (rw)
# time cp image.bin /media/

real    0m0.179s
user    0m0.000s
sys 0m0.104s
# time umount /media 

real    0m18.185s
user    0m0.004s
sys 0m0.032s
# 
Run Code Online (Sandbox Code Playgroud)

我已经看到 USB 闪存的类似行为。什么决定文件是立即写入文件系统还是在文件系统分离期间?

mount

3
推荐指数
1
解决办法
95
查看次数

命令“ls .*”和“ls *.”的不同输出

命令

    ls .*
Run Code Online (Sandbox Code Playgroud)

当运行给出以下输出时:

  • 当前目录中的所有文件以 . (隐藏文件)
  • 当前目录中存在的隐藏目录中的所有文件
  • 当前目录下的所有文件
  • 父目录下的所有文件

为什么命令

    ls *.
Run Code Online (Sandbox Code Playgroud)

不显示:

  • 当前目录下的所有文件
  • 父目录下的所有文件

我这么想的原因是:正则表达式 *. 应该匹配两者。和 .. So ls 应该在两者上运行,因此应该显示我期望的输出

ls shell wildcards

3
推荐指数
2
解决办法
4734
查看次数

在 echo 中抑制 * 的扩展

我正在编写一个脚本,该脚本每天动态执行一些查询。这些查询来自数据库中的一个表。

以下是查询表的示例输出:

+---------------+-------------------------------+---------+
| query_name    | query                         | userid  |
+---------------+-------------------------------+---------+
| All_User      | select * from users LIMIT 10; | jmatthe |
+---------------+-------------------------------+---------+
Run Code Online (Sandbox Code Playgroud)

现在,我必须select * from users LIMIT 10;动态执行查询。我正在读取输出的每一行并存储来自输出的查询。

query_name=$(echo $query | cut -d\| -f1)
query_sql=$(echo $query | cut -d\| -f2)
query_user=$(echo $query | cut -d\| -f3)
Run Code Online (Sandbox Code Playgroud)

现在这里是问题出现的地方。因为我的行中包含一个*字符,所以echo $query扩展*以将其替换为当前目录中的文件。所以基本上,我的query_sql商店是这样的。

select batchemail.sh query_output.txt from tbl_query
Run Code Online (Sandbox Code Playgroud)

我想保留*行中的 ,以便在我的query_sql变量中得到相同的结果。我希望我的query_sql变量存储原始数据。

select * from tbl_query
Run Code Online (Sandbox Code Playgroud)

有人可以指导我吗?

shell bash echo wildcards

2
推荐指数
1
解决办法
209
查看次数

强制 systemd 在 n 秒后检查服务状态

我有一个 systemd 服务(用于 heka),这让我有些头疼。

问题是即使 heka 守护进程在启动后不久死亡,“start”也会成功返回。如果配置文件有误,就会发生这种情况,例如:进程将启动,它将验证配置,如果对所发现的内容不满意,则会终止。在这种情况下,Systemd 成功返回。

有没有办法强制systemd在初始化后检查程序状态?也许在进程开始后睡眠 n 秒?

这是脚本:

    [Unit]
    Description=Heka event/metric/log collection and routing daemon
    After=network.target auditd.service
    ConditionPathExists=!/etc/heka/hekad_not_to_be_run

    [Service]
    EnvironmentFile=-/etc/default/heka
    Type=simple
    PIDFile=/var/run/hekad.pid
    ExecStart=/usr/bin/hekad -config=/etc/heka
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    StandardError=inherit

    [Install]
    WantedBy=multi-user.target
    Alias=heka.service
Run Code Online (Sandbox Code Playgroud)

systemd

2
推荐指数
1
解决办法
7295
查看次数

检查文件每一行的某些属性

我有几个(准确地说是 427 个)文本文件,每行一百万行,每行包含 31 个数字,由空格(可能是双空格)分隔。但是,可能存在一些数据损坏,并且可能存在包含垃圾的行。

我现在想检查每一行是否满足包含 31 个由空格分隔的项目的属性(我假设这些项目是数字。检查它的方法也会更好)。

我现在的方式是

while read line;
do
   if [ $(echo "$line" | sed 's/ /\n/g' | grep -v "^$" | wc -l) -ne 31 ]
   then
      echo "$file bad";
   fi
done < $file
Run Code Online (Sandbox Code Playgroud)

这将用换行符替换一行的所有空格,过滤空行,计算行数并将其与 31 进行比较。

这种方法很慢,可能有更好的方法涉及一些花哨的正则表达式。什么是更快的方法?

bash regular-expression

1
推荐指数
1
解决办法
535
查看次数

哪个性能更高?Nvidia 专有还是 Nouveau 开源?

系统:Manjaro 0.8.5.2 x64

酷睿 2 双核 P8700 @ 2.53Ghz

英伟达 GT 240M

drivers arch-linux graphics nvidia

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