小编cha*_*aos的帖子

Linux 不会丢弃 FS 缓存。相反,内存开始交换

我对 linux 内存缓存的这种行为感到很困惑。

             total       used       free     shared    buffers     cached
Mem:         15953      14188       1765         64         37      11504
-/+ buffers/cache:       2645      13308
Swap:         2047       1332        715
Run Code Online (Sandbox Code Playgroud)

不应该有非缓存内存优先于缓存吗?换句话说:为什么机器交换到磁盘,而不是丢弃缓存。

我可以改变这种行为吗?如果是,如何?

linux memory cache swap linux-kernel

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

是否可以为不同的用户设置不同的 DNS 服务器?

是否可以为不同的用户设置不同的 DNS 服务器?

比方说用户test1使用谷歌的DNS(8.8.8.88.8.8.8),test2会使用0.0.0.0,都test3test4会使用127.0.0.1

这可能吗?

networking dns resolv.conf

5
推荐指数
2
解决办法
2539
查看次数

文件列表的文件大小总和

我有一个包含文件名列表的文本文件(每行一个文件名)。

现在我想计算所有这些文件的大小。我想我必须对ls -la文件的每一行都做一个,然后累积文件大小。

我认为这awk将是解决方案的一部分,但这只是猜测。

bash awk files

5
推荐指数
3
解决办法
3905
查看次数

将文件移回 2 个目录

$ cat file
/tmp/foldera/folderb/folderc/file1
/tmp/folderc/folderd/foldere/file2
/tmp/folderf/folderg/folderh/file3
Run Code Online (Sandbox Code Playgroud)

需要将此文件移动到

/tmp/foldera/
/tmp/folderc/
/tmp/folderf/
Run Code Online (Sandbox Code Playgroud)

分别使用循环或任何简单方便的方法来做到这一点。

linux bash shell-script mv

5
推荐指数
2
解决办法
430
查看次数

文件中的字符串作为变量

我有一个如下所示的 conf 文件内容。

文件.conf:

key="name"
value="pswd"
Run Code Online (Sandbox Code Playgroud)

现在我想写一个脚本来拥有两个像上面一样的变量

脚本文件

key="name"      #key as variable
value="pswd"    #value as variable
Run Code Online (Sandbox Code Playgroud)

shell-script files

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

如何通过命令行在 XML 文件的标签中添加属性?

我正在尝试使用 sed 脚本在标签末尾添加字段。假设我在 XML 文件中有一个标签:

<book name="Sed tutorial" price="250"/>
Run Code Online (Sandbox Code Playgroud)

现在我想Book_Width="A"<book/>标签结束后添加字段,以便我的标签变为:

<book name="Sed tutorial" price="250" Book_Width="A"/>
Run Code Online (Sandbox Code Playgroud)

我试过sed

sed '/<book "[^>]*>/ a Book_Width="A"'
Run Code Online (Sandbox Code Playgroud)

但它给出了:

<book name="Sed tutorial" price="250"/>
Book_Width="A"
Run Code Online (Sandbox Code Playgroud)

command-line xml sed text-processing files

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

什么是 ndisc_cache?

假设我想使用:

$ ip ntable show dev eth0 
inet arp_cache 
    dev eth0 
    refcnt 4 reachable 20744 base_reachable 30000 retrans 1000 
    gc_stale 60000 delay_probe 5000 queue 31 
    app_probes 0 ucast_probes 3 mcast_probes 3 
    anycast_delay 1000 proxy_delay 800 proxy_queue 64 locktime 1000 

inet6 ndisc_cache 
    dev eth0 
    refcnt 1 reachable 40768 base_reachable 30000 retrans 1000 
    gc_stale 60000 delay_probe 5000 queue 31 
    app_probes 0 ucast_probes 3 mcast_probes 3 
    anycast_delay 1000 proxy_delay 800 proxy_queue 64 locktime 0 
Run Code Online (Sandbox Code Playgroud)

什么ndisc_cache

linux networking ipv6 ipv4 iproute

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

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

如果为空条件行为

有什么区别:

if echo " T " | grep -q " F "; then echo FOUND; else echo NOT; fi
Run Code Online (Sandbox Code Playgroud)

和:

if ""; then echo FOUND; else echo NOT; fi
Run Code Online (Sandbox Code Playgroud)

第一个命令的输出是:

NOT
Run Code Online (Sandbox Code Playgroud)

第二个命令的输出是:

: command not found 
NOT
Run Code Online (Sandbox Code Playgroud)

我认为两者都应该以相同的方式行事。

shell grep bash

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

在 Linux 中创建堆区域/段

据我了解,在 Linux 上,进程加载器不会像堆栈那样自动为进程创建“堆”区域,这是正确的吗?

我使用过/proc/$$/maps,在调用之前malloc()没有“堆”区域。

memory linux-kernel memory-management

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