[The manpage of core(5)](http://man7.org/linux/man-pages/man5/core.5.html) says one of the reason by which core dump file is not produced is:

> 
> A (writable, regular) file with the same name as would be used for
>  the core dump already exists, but there is more than one hard link
>  to that file.
> 
> 
> 

If an existing file with the same name is writable, doesn't that mean it can be overwritten?

How does its number of hard links matter to producing a core dump file? 

In following example, I create a file `core` without any other hard link, it is not overwritten by coredump:

```
$ ls
$ touch core
$ ls -l
total 0
-rw-rw-r-- 1 t t 0 Dec  3 06:01 core

$ # wait for a minute
$ bash -c "ulimit -c -S; ulimit -S -c 1024; ulimit -c -S; sleep 10"
0
1024
^\bash: line 1:  4071 Quit                    (core dumped) sleep 10
$ ls -l
total 0
-rw-rw-r-- 1 t t 0 Dec  3 06:01 core

```

Generally without core dump involved, having more than one hardlinks doesn't prevent overwriting, so I am not sure what "but there is more than one hard link to that file" means when core dump is involved (I am here for clarification not for confusing others):

```
$ ls
test
$ ln test testhl
$ ls -la
total 28
drwxrwxr-x 4 t t 4096 Dec  2 11:29 .
drwxrwxr-x 6 t t 4096 Dec  2 07:49 ..
-rw-rw-r-- 2 t t    4 Nov 26 10:21 test
-rw-rw-r-- 2 t t    4 Nov 26 10:21 testhl
$ echo hello > testhl
$ ls -la
total 28
drwxrwxr-x 4 t t 4096 Dec  2 11:29 .
drwxrwxr-x 6 t t 4096 Dec  2 07:49 ..
-rw-rw-r-- 2 t t    6 Dec  2 11:30 test
-rw-rw-r-- 2 t t    6 Dec  2 11:30 testhl
$ cat test
hello

```

Thanks.