Используйте -i
опция ls
видеть inode число, которое является уникальным идентификатором (в файловой системе) файла или другого объекта.
Вы будете видеть, что файл был заменен другим объектом: inode число, вероятно, изменится.
Наблюдение того же inode числа не является доказательством ничего: может быть переработано inode число. Если мы удаляем последнюю ссылку на файл и затем создаем новый файл, мы могли бы добраться один с тем же inode числом. Но этого не может произойти, если старый файл удален после того, как новый создается. Например. mv file file.tmp; touch file; rm file.tmp
. Я подозреваю, что энергия на самом деле делает что-то аналогичное этому echo new_content > tmpfile; mv tmpfile file
. mv
операция переведет в a rename
системный вызов, таким образом, присвоение inode чисел зависит от того, как файловая система реализует переименовывание, которое удаляет связь с местом назначения.
Ни одна команда насколько я знаю, но это делает то, в чем Вы нуждаетесь:
echo "$(whoami)@$(hostname):$PWD"
Вы могли превратить это в псевдоним путем добавления этой строки к оболочке rc
файл (~/.bashrc
, или ~/.zshrc
или независимо от того, что Вы используете):
alias foo='echo "$(whoami)@$(hostname):$PWD"'
Это также работает (с использованием переменных окружения):
echo "$USER@$HOSTNAME:$PWD"
PWD
находится в ограничениях, ноhostname
иwhoami
не? Я не уверен, что понимаю различие, и я думаю, что это могло бы быть важно. – Hooked 20.11.2013, 17:55$PWD
. Существует много других переменных среды (как$PS1
, первая часть Вашей командной строки). Другие используют$()
синтаксис для использования вывода команды на месте. Это - основной обзор, по крайней мере, того, каково различие. Когда Вы запуск, добирающийся далее в командную строку, и, начинает делать псевдонимы и функции и колотит сценарии, это - что-то, что Вы будете учиться любить. Мне бы хотелось думать о некоторых сумасшедших вещах, которые я сделал с этим! – Rob 20.11.2013, 17:59$PWD
$(pwd)
, вывод не должен всегда быть тем же? Один лучше, чем другой или является этим просто персональное предпочтение? – Hooked 20.11.2013, 18:01pwd
выполняет еще одну команду, и я (думаю), что это будет более дорого, чем запросы переменной. На практике не будет никакой реальной разницы, хотя, используйте, какой бы ни Вы предпочитаете. – terdon♦ 20.11.2013, 18:07$(whoami)
выполняет команду whoami и использует вывод, и $PWD просто захватывает переменную среды. Разветвление от меньшего количества процессов лучше для скорости и производительности, но в этом случае это действительно не имеет значения. Если Вы делаетеprintenv
это должно перечислить все переменные среды. У меня есть $USER, таким образом, я мог использоватьecho "$USER@$(hostname):$PWD"
– Rob 20.11.2013, 18:16