Если Ваш каталог верхнего уровня называют images
, затем выполненный rm -r images/*
. Это использует оператор шарика оболочки *
работать rm -r
на каждом файле или каталоге в images
.
Posix требует, чтобы операционная система поняла понятие жестких ссылок, но не, что жесткие ссылки могут на самом деле использоваться при каком-то конкретном обстоятельстве. Можно узнать, сколько жестких ссылок разрешено в конкретном местоположении (это может варьироваться типом файловой системы) путем вызова pathconf(filename, _PC_LINK_MAX)
. Минимальный предел (_POSIX_LINK_MAX
) 8, но это довольно бессмысленно как link()
могут сообщить много других ошибок так или иначе (отклоненное разрешение, полный диск, …).
stat
структура хранит число каналов в поле типа nlink_t
, таким образом, тип этого поля дает верхний предел Вашей системы. Но существует хороший шанс, Вы никогда не будете мочь достигнуть этого далеко: распространено иметь 32-разрядное nlink_t
но только 16 битов во многих файловых системах (быстрый grep в источнике Linux показывает, что расширение [234], NTFS, UFS и XFS использует 16-разрядные числа каналов в структурах данных ядра).
Это - зависимый файловой системы.
предел ext2/3/4 является ссылками 65k
исходная строка ext4 643, struct ext4_inode
-> __le16 i_links_count
Рассмотрение формата диска ext3 inode структуры в источниках ядра Linux (*include/linux/ext3_fs.h*), который перечисляет количество ссылок, как являющееся числом на 16 битов
struct ext3_inode {
... snip ...
__le16 i_links_count; /* Links count */
}
Я предполагаю, что означает, что ext3 файловая система может иметь до 65 535 ссылок.
Я не проверил значения на другие файловые системы.