小编hud*_*dac的帖子

文件是否按顺序保存在磁盘上?

据我了解,“稀疏文件”意味着文件可能有“间隙”,因此实际使用的数据可能小于逻辑文件大小。

Linux 文件系统如何在磁盘上保存文件?我主要对ext4感兴趣。但:

  1. 文件可以按顺序保存在磁盘上吗?我的意思是,文件的一部分位于物理地址 X,下一部分位于物理地址 Y,它不接近 X + 偏移量)。
  2. 我可以以某种方式控制文件顺序吗?
    我想分配一个 10GB 的文件。我希望它在磁盘上是连续的,而不是在不同的偏移量之间划分。
  3. 它在不同类型之间的作用是否不同?

linux filesystems io hard-disk

24
推荐指数
3
解决办法
6504
查看次数

Linux 何时/如何决定在应用程序终止时关闭套接字?

我有一个服务器进程和一个客户端进程运行在同一台 Linux 机器上。

有时,当我kill -9是客户端时,我会看到发送tcpdump了一条FIN, ACK消息。当然,死去的客户不可能做到这一点,因为他已经残酷地与SIGKILL. 所以我猜 Linux 操作系统会处理连接关闭。

有时我看不到任何连接关闭处理并且连接保持“已建立”(由netstat)。

我总是看到一个连接被关闭Linux ubuntu 4.4.0-53-generic
有时我看到一个连接被关闭Linux 3.13.11(纯内核,而不是 Ubuntu)。

我的问题是:

  1. Linux 是否处理关闭连接?
    1.1 在SIGKILL
    1.2. 当应用程序正常关闭,但没有调用close()?
  2. 此功能在内核版本3.13.114.4.0? Ubuntu 有什么用吗?
  3. 如果这两个进程不在同一台 Linux 机器上怎么办:它的行为会一样吗?
  4. 为什么连接有时会保持“已建立”?
  5. 我知道 TCPkeepalive套接字选项。如果 Linux 真的处理关闭连接。它们为什么存在?仅当FIN,?ACK数据包丢失时?

linux networking tcp

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

bash 中的“foo && bar || baz”与“if foo; then bar; else baz”的行为不同

我想

[ 1 -eq $1 ] && echo "yes" || echo "no"
Run Code Online (Sandbox Code Playgroud)

if [ 1 -eq $1 ]; then
    echo "yes"
else
    echo "no"
fi
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个脚本(nocmd是一个不存在的命令)

#!/bin/bash

[ 1 -eq $1 ] && nocmd "yes" || echo "no"
Run Code Online (Sandbox Code Playgroud)

我得到参数“1”的奇怪输出:

me@ubuntu:/tmp$ ./ddd.sh 0
no
me@ubuntu:/tmp$ ./ddd.sh 1
./sh.sh: line 3: nocmd: command not found
no
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

if [ 1 -eq $1 ]; then
    nocmd "yes"
    if [ $? -ne 0 ]; then
        echo "no"
    fi
else
    echo "no" …
Run Code Online (Sandbox Code Playgroud)

bash shell-script

6
推荐指数
2
解决办法
1564
查看次数

服务器不响应 ping - 收到 ICMP,但没有任何反应

我有一台服务器,有 2 个接口连接到dhcp两个不同的子网。这 2 个不同的子网通过 2 个不同的接口连接到同一交换机。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
23: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:a4:e3:38 brd ff:ff:ff:ff:ff:ff
    inet 192.168.201.232/24 brd 192.168.201.255 scope global enp10s0
       valid_lft forever preferred_lft forever
25: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc …
Run Code Online (Sandbox Code Playgroud)

linux networking routing ping icmp

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

标签 统计

linux ×3

networking ×2

bash ×1

filesystems ×1

hard-disk ×1

icmp ×1

io ×1

ping ×1

routing ×1

shell-script ×1

tcp ×1