[Я поймал некоторые неправильные представления здесь, которые я думаю, будет это сообщение убирать в конечном счете]
Не должно быть никакого различия, так как оба обращаются к /var/run/utmp
файл, который имеет его собственный формат для хранения записей. Если вообще существует какое-либо различие, то Ваш utmp файл арестован. время работы показывает количество времени, которое передало, так как система была загружена или сколько времени система работала. Это не говорит Вам системные часы или время начальной загрузки системы. Информация времени начальной загрузки системы хранится /var/run/wtmp
файл.
[centos@centos temp]$ date; uptime; who -b
Fri Dec 9 20:41:40 IST 2011
20:41:40 up 1:32, 2 users, load average: 0.50, 0.37, 0.29
system boot 2011-12-09 19:11
время работы относится также/proc/uptime, который по существу сохраняет счетчики в ядре.
[centos@centos temp]$ sleep 1; cat /proc/uptime; uptime; sleep 5; cat /proc/uptime ; uptime
5914.79 5271.83
20:47:39 up 1:38, 2 users, load average: 0.29, 0.31, 0.27
5920.07 5276.80
20:47:44 up 1:38, 2 users, load average: 0.56, 0.36, 0.29
/var/run/wtmp
отнесен командами last/lastb. who
& w
относится /var/run/utmp
файл. last reboot
покажет журнал всех перезагрузок, так как файл журнала был создан.
Кроме того, если у Вас есть/proc файловая система, затем инструмент такой как procinfo
может дать Вам время начальной загрузки также.
Пример:
bash$ procinfo | grep Bootup
Bootup: Wed Mar 21 15:15:50 2001 Load average: 0.04 0.21 0.34 3/47 6829
При копировании файла он копирует содержание. Таким образом, если Вы изменяете содержание единственного файла, который не имеет никакого эффекта на другой.
Если Вы делаете hardlink, который создаст файл, указывающий на то же содержание. Таким образом, при изменении содержания любого из файлов изменение будет замечено на обоих.
Жесткая ссылка является basicly второе имя файла для того же файла. Таким образом, если Вы hardlink файл, это только будет однажды в файловой системе и поэтому только займет место однажды. Таким образом, Вы хотите использовать это, если Вы хотите сохранить дисковое пространство
В файловых системах Unix каждое имя файла является на самом деле жесткой ссылкой на местоположение данных по диску, названному inode. При создании новой жесткой ссылки на существующий файл это не займет дополнительного места на диске, поскольку это - просто другой указатель на те же данные. Если Вы отредактируете данные одним или другой ссылкой (или отредактируете inode непосредственно) будут изменены, то оба файла.
Система проводит подсчет того, сколько жестких ссылок каждый inode имеет. Когда число каналов 0, файл больше не может достигаться, и данные отмечены как безопасные быть перезаписанными. Так, учитывая файл с 2 жесткими ссылками при удалении любой ссылки данные не будут удалены. Только если Вы удаляете оба, будет данные закончиться.
Вы видите inode числа файлов с помощью -i
переключитесь на ls
команда.
Гибкая ссылка, с другой стороны, указывает на другой файл своим именем файла. Если Вы переместите или удалите исходный файл, то связь будет разорвана.
Со ссылкой на часть вопроса, который спросил, "почему я захочу использовать жесткие ссылки вообще?":
Трудно связанные файлы (или в этом отношении мягкий (символьный) - связанные предлагают полезный способ наличия единственного исполняемого файла, который может быть сделан подменить в различных целях.
Таким образом, имя, которым вызывается код, может быть исследовано для определения, какие опции доступны для выполнения. Это позволяет разработку и упаковку одной большой части кода со всей общей функциональностью, необходимой в немного отличающихся целях. С точки зрения пользователя спецификация того, "что" работать (по имени), ограничивает выбор и презентацию к более управляемому подмножеству опций.
Классическим примером является LVM. Когда-то HP-UX использовал трудно связанные файлы для различных исполняемых файлов (например. vgdisplay
, vgcreate
, vgextend
, и т.д. Сегодня, как Linux, эти команды являются на самом деле символьными (мягкими) ссылками на lvm
исполняемый файл.