Я, оказывается, думаю, что "энергия является модальным" комментарием выше, является неправильным. Vim имеет команды. Можно сделать "11aNow, время для всех хороших мужчин.." и закончите с 11 идентичными новыми строками текста в Вашем файле. Это - команда, не режим. Но существует на самом деле очень простое различие в командах Vim по сравнению с командами Emacs. Я не совсем уверен, что могу описать это, но Eric Fischer включил редактирование строки Emacs-стиля в драйвер 10 TTY + несколько лет назад и опубликовал статью об этом:
http://www.usenix.org/event/usenix99/full_papers/fischer/fischer.pdf
Он нашел, что редактирование строки стиля Emacs существенно отличалось, чем vi-стиль.
Таким образом, Emacs имеет преимущество, что много других вещей (удар, gnuplot, zsh, ksh некоторые другие я не могу думать первое, что пришло на ум) все заканчивают тем, что реализовали редактирование строки Emacs-стиля.
Я должен отметить, что лично использую Vim все время. Я - только очень случайный пользователь Emacs.
В то время как -R
posix четко определенный, -r
не является портативным!
На Linux, в GNU и реализациях BusyBox cp
, -r
и -R
эквивалентны.
С другой стороны, поскольку можно читать в странице руководства POSIX cp
, -r
поведение определяется реализацией.
* If neither the -R nor -r options were specified, cp shall take actions based on the type and contents of the file referenced by the symbolic link, and not by the symbolic link itself. * If the -R option was specified: * If none of the options -H, -L, nor -P were specified, it is unspecified which of -H, -L, or -P will be used as a default. * If the -H option was specified, cp shall take actions based on the type and contents of the file referenced by any symbolic link specified as a source_file operand. * If the -L option was specified, cp shall take actions based on the type and contents of the file referenced by any symbolic link specified as a source_file operand or any symbolic links encoun- tered during traversal of a file hierarchy. * If the -P option was specified, cp shall copy any symbolic link specified as a source_file operand and any symbolic links encoun- tered during traversal of a file hierarchy, and shall not follow any symbolic links. * If the -r option was specified, the behavior is implementation- defined.
Различие - то, что каждый использует нижний регистр "R", и другой использует капитал "R". Кроме того, никакое различие. То же самое, если Вы используете --recursive
долгая опция.
cp
на самом деле существует различие. См. ответ Random832. @Ignacio необходимо включать спецификатор в этот ответ, в котором говорится "если Ваш cp
современная реализация GNU" или что-то как этот.
– Caleb
15.08.2011, 15:30
-R
только, и на самом деле некоторые страницы справочника в системах, просто упомянутых также, рекомендуют это.
– dubiousjim
15.11.2012, 16:17
Нижний регистр -r
была более старая опция, представленная в 4.1BSD, который просто скопирует все некаталоги как файлы. Таким образом, если бы это встретилось с устройством или FIFO, то это открыло бы его, считать содержание и создать файл в месте назначения с содержанием.
Верхний регистр -R
была стандартизированная опция (представленный BSD в 4.4BSD, хотя более ранние версии имели его как синоним к -r
) который был бы, при обнаружении с устройством, FIFO, или другим специальным файлом, сделать эквивалентный специальный файл в месте назначения.
Много реализаций действительно все еще поддерживают это различие, но некоторые (включая версию GNU, типичную к Linux) только, обеспечивают -R
семантика, с -r
как синоним.
В новых версиях FreeBSD [1187587]-r[1187588] эквивалентно [1187589]-RL[1187590]:
http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html[1187592]:-копируйте содержимоеЕсли копировать рекурсивно, скопируйте содержимое любых специальных файлов (например, FIFO и файлов устройств), как если бы они были обычными файлами. Это означает попытку прочитать данные в каждом исходном файле и записать их по назначению. Обычно использование этой опции является ошибкой, так как она обычно оказывает нежелательное воздействие на специальные файлы, такие как FIFO, и те, которые обычно находятся в каталоге [1187897]/dev[1187898]. В большинстве случаев, [1187899]cp -R -копирование содержимого[1187900] будет зависать бесконечно, пытаясь читать из FIFO и специальных файлов, таких как [1187901]/dev/console[1187902], и он заполнит целевой диск, если вы используете его для копирования [1187903]/dev/zero [1187904]. Этот параметр не действует, если не копировать рекурсивно, и не влияет на копирование символических ссылок.
одно из различий, которое я обнаружил, что -r не копирует скрытые каталоги, в то время как -R копирует скрытые каталоги.
Я протестировал его каталог .git в целевой директории и пришёл к вышеприведённому выводу. В настоящее время я использую CentOS.
Может, я и ошибаюсь, но это открыто для обсуждения.
-r
скопирует реальные файлы, на которые указывают символьные ссылки в то время как-R
скопирует символьную ссылку, которая является тем, что она предназначается большинство времен. – nacho4d 15.04.2013, 07:35