小编Яро*_*лин的帖子

多个交换文件的目的是什么

在安装大多数(如果不是全部)Linux 发行版期间,默认情况下硬盘驱动器被分区为包括交换分区。

可以通过以下方式更改此行为 swapon -p priority

根据手册页,优先级是:

PRIORITY
Each swap area has a priority, either high or low. The default priority is 
low. Within the low-priority areas, newer areas are even lower priority 
than older areas.
All priorities set with swapflags are high-priority, higher than default. 
They may have any non-negative value chosen by the caller. Higher numbers 
mean higher priority.

Swap pages are allocated from areas in priority order, highest priority 
first. For areas with different priorities, a higher-priority …
Run Code Online (Sandbox Code Playgroud)

swap

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

为什么 ss(8) 与 netstat(8) 对监听 UDP 端口的理解不同?

如果我执行ss -lu以查看所有侦听的 UDP 套接字,则不会显示任何套接字。如果我执行ss -au,它列出了所有(侦听和非侦听)UDP 套接字,则“侦听”套接字显示为 UNCONN(见下文)。

这背后的逻辑是什么?例如,运行atftpd监听连接,状态应该是 LISTEN 而不是 UNCONN,不是吗?

T60:~ # lsof -n | sed -n '1p;/UDP/p'
  COMMAND    PID TID  USER    FD  TYPE  DEVICE SIZE/OFF  NODE NAME
avahi-dae    963     avahi   11u  IPv4    9088      0t0   UDP *:mdns
avahi-dae    963     avahi   12u  IPv4    9089      0t0   UDP *:44639
    cupsd   1238      root   10u  IPv4    8160      0t0   UDP *:ipp
   dhcpcd   2072      root    7u  IPv4  532052      0t0   UDP *:bootpc
dhclient6  13131      root    5u  IPv6   38031      0t0   UDP *:dhcpv6-client …
Run Code Online (Sandbox Code Playgroud)

udp netstat

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

让多个 UNIX 用户共享一个 UID 有什么副作用?

我的 GNU/Linux 系统上的sys-apps/shadow包附带了一个useradd命令,该命令支持我之前忽略的一个选项:--non-unique. 为了方便从大学shellig回家,我为我的原始用户名(在家中的随意名称)创建了一个别名:

useradd --non-unique -u 1001 \
     --no-create-home --home-dir /home/casualname \
     -g 1001 -G `id casualname -G | tr ' ' ,` universityUsername
Run Code Online (Sandbox Code Playgroud)

这允许我使用登录 universityUsername 从校园登录,而无需创建 ~/.ssh/config 别名或指定 -l 选项ssh。登录后,whoami报告我是casualname。这是因为casualname 看起来更靠近/etc/passwd 文件的顶部。

我想知道这些别名的支持范围有多广,以及使用它们是否有任何缺点。而且,有没有办法在用户无法重新排序 /etc/passwd 中的条目的系统上选择首选用户别名作为代理($USER 设置为什么)?

users login alias

8
推荐指数
2
解决办法
2444
查看次数

/dev/null 是如何实现的?

我不明白当进程写入这个特殊文件时会发生什么。所有字节会发生什么?为什么写入 /dev/null 不占用 CPU 资源?如果你能根据 Linux 源代码的参考来回答,那就太棒了。

Arch论坛上有这样的答案:

缓冲区只是被忽略。

但是,当我执行例如 cat /dev/urandom > /dev/null 时,必须调用 write_null 函数多次,或者可能只调用一次,而且我不明白缓冲区是如何工作的。

linux io io-redirection

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

有安全的猫吗?

我有时会从curl 或本地文件系统中获取二进制文件。在大多数情况下,损坏的终端可以通过重置来修复。在其他情况下,特别是如果二进制文件很大,终端将卡住几分钟打印输出,如下所示:

2c1

又名

c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;
2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;
2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;
2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;
Run Code Online (Sandbox Code Playgroud)

关于这个场景我有三个问题;

  1. 2c1 是什么意思?为什么终端会打印这个?
  2. 您是否见过cat在交互式会话中实际防范这种不良行为的情况?
  3. 您对如何对这样的猫进行编程有什么建议(在 cee 或 golang 中)

我最初的本能是将 cat 包装在一个函数中来检测这一点,但我很快意识到这是相当困难的,而且会有很多边缘情况。

function cat() {
    # warn user if
    #   - argument 1 is a large  executable 
    #   - argument 1 to the previous command in the a pipe-chain looks like a large binary
    # abort if
    #   - session is interactive and we are able to detect 2c1 garbage
}
Run Code Online (Sandbox Code Playgroud)

一个实用的解决方案可能是在查看“不安全”输入时始终使用 less (使用 LESSPIPE),但这个问题与寻呼机无关。我知道管子越来越少了。我每天都积极使用它们。也许 less+lesspipe是这个问题的解决方案,less 的作者在大约 20-30 …

terminal escape-characters cat

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

标签 统计

alias ×1

cat ×1

escape-characters ×1

io ×1

io-redirection ×1

linux ×1

login ×1

netstat ×1

swap ×1

terminal ×1

udp ×1

users ×1