Я сказал бы, что здание, Ваше собственное стоит своего веса в изучении значения - но для чего-то, что работает бесшумно, Вам, вероятно, придется провести некоторое исследование на играющих/разгоняющих сайтах для нахождения наилучших вариантов в тихих вентиляторах и источниках питания.
pricewatch.com является отличным способом соответствовать затратам, после того как Вы знаете, какие части Вы берете.
Оба - обертка к той же фундаментальной функции, которая является unlink()
системный вызов.
Для уравновешивания различий между пространством пользователя используют.
rm(1)
:
unlink(1)
:
rm(1)
несколько аргументов.Вы могли продемонстрировать различие с:
$ touch $(seq 1 100)
$ unlink $(seq 1 100)
unlink: extra operand `2'
$ touch $(seq 1 100)
$ time rm $(seq 1 100)
real 0m0.048s
user 0m0.004s
sys 0m0.008s
$ touch $(seq 1 100)
$ time for i in $(seq 1 100); do rm $i; done
real 0m0.207s
user 0m0.044s
sys 0m0.112s
$ touch $(seq 1 100)
$ time for i in $(seq 1 100); do unlink $i; done
real 0m0.167s
user 0m0.048s
sys 0m0.120s
Если однако мы говорим о настоящем вызове к системе unlink(2)
функция, которую я теперь понимаю, вероятно, не, что Вы объясняете.
Можно выполнить систему unlink()
на каталогах и файлах одинаково. Но если каталог является родителем к другим каталогам и файлам, то ссылка на того родителя была бы удалена, но детей оставят, свисая. Который является меньше, чем идеал.
Править:
Извините, разъясненный различие между unlink(1)
и unlink(2)
. Семантика все еще собирается отличаться между платформой.
На уровне спецификации POSIX, что делает комната, указан намного более плотно, чем, что удаляет связь, делает.
Мобильность результата кажется вероятной лучше использовать комнату, если Ваш сценарий должен натыкаться на ОС.
Медленная часть удаления является кодом файловой системы и дисковым материалом, не подготовкой к пространству пользователя удаления связь () системный вызов.
Т.е.: если различие в скорости имеет значение, то Вы не должны хранить данные в файловой системе.
удалите связь просто комната "свет". комната имеет больше функций, но они делают то же самое.
mkdir -p 1/2/3; touch 1/one 1/2/two 1/2/3/three; rm -ri 1
. Если Вы удалили связь с родительским каталогом, затем располагают с интервалами использованный детьми, должен быть потерян до такого времени, когда fsck находит несоответствие. – Dan Carley 10 July 2009 в 13:03