Это не имеет отношения к smbfs, cp
всегда требует -r
(рекурсивный) флаг для копирования каталога. Необходимо получить то же, при попытке cp .vim /tmp/
:
$ cp .vim /tmp/
cp: omitting directory `.vim'
zsh: exit 1 cp .vim /tmp/
$ cp -r .vim /tmp/
$
разве это не было бы безопасно, чтобы сделать некоторое экспериментирование на внешнем pwd?
Это - проигранное пари, что ничто не использует /bin/pwd
. Это - хорошая практика в сценариях оболочки — особенно обычно выполняемых корнем — для предоставления полных путей внешним программам из соображений безопасности.
Однако, Вы могли безопасно создать пользовательское pwd
и помещенный это под в Вашем корневом каталоге где-нибудь. Если пакет использует Autoconf, этого обычно достаточно для конфигурирования пакета, который будет установлен в соответствии с корневым каталогом:
$ ./configure --prefix=$HOME
Вы могли бы сказать что-то как --prefix=$HOME/pwd-test
вместо этого, для предотвращения любой возможности конфликта.
Пока система сборки пакета настраивается правильно при конфигурировании ее как этот, можно безопасно сказать make install
не будучи корнем, потому что все файлы это пишет, должен пойти под префиксом, который Вы дали.
Где источник для pwd?
pwd
часть coreutils
. Вы узнаете такие вещи с поисковой системой пакета Debian.
Вы обычно получаете его с распределением (я нахожусь на Debian),
Вы, вероятно, еще не загрузили источники распределения, но да, это рассмотрело часть распределения Debian. Они выделены в источник с шестью дисками(!) набор DVD, включив приблизительно 25 ГБ, который является, почему большинство людей никогда не загружает их.
Если Вы не пытаетесь сделать что-то, любят, восстанавливают целое распределение Debian или создают производное распределение, тем не менее, Вы, вероятно, не должны загружать их даже сейчас. На заказ загрузки являются, вероятно, лучшей идеей на данном этапе.
Вы так или иначе устанавливаете или загружаете его?
Да, можно также использовать apt-get
устанавливать исходный код для пакетов. Существует целая глава в ПРАКТИЧЕСКОМ РУКОВОДСТВЕ APT на этом.
(Что документ отмечен Устаревший, но я не вижу заменяющий документ.)
Это находится в C?
По всей вероятности, да.
Я компилирую его как какой-либо другой файл с gcc и помещаю результат (с установкой chmod) в папке, охваченной путем?
Вы, вероятно, не выполняете gcc непосредственно, Вы, вероятно, делаете стандарт configure ; make ; make install
танец. При загрузке источника tarball со страницы результатов поиска пакета Debian Вы, вероятно, найдете INSTALL
или README
файл в tarball, который будет содержать инструкции по сборке.
Что относительно обновлений?
Что относительно них? Поисковая система пакета поможет Вам найти любую версию программного обеспечения, которое Вы, вероятно, захотите, и apt-get
поможет Вам отследить изменения в источниках так же, как это будет для двоичных файлов.
Я пропускаю большое изображение здесь.
Вы могли бы хотеть смотреть на Документацию Debian, затем.
заголовочный файл, кажется, не связан: pwd как в пароле, не печатают/представляют рабочий каталог.)
Да. Это - служебный заголовок для программистов C для получения доступа к пользовательской базе данных. Сказать man 3 getpwent
получить некоторое представление о том, что доступно через тот интерфейс.
На Linux, pwd
обычно обеспечивается coreutils
пакет. Можно загрузить источник с того веб-сайта, или с исходного репозитория распределения (здесь для Debian).
Можно скомпилировать pwd
и другие инструменты в том пакете обычный путь: распакуйте источник и:
./configure
make
Можно изменить исходный код для pwd
и перекомпилируйте, как Вы желаете (это - код C, в src/pwd.c
). Но я не рекомендовал бы установить что-либо, от чего Вы изменили себя coreutils
по копии Вашего распределения.
Если Вы хотите "играть" с ним, установите его на местоположении где-нибудь в Вашем корневом каталоге и предварительно ожидайте это к Вашему пути (или к пути проверочного пользователя). Только перезапишите исполняемые файлы, управляемые Вашим распределением/диспетчером пакетов, если Вы знаете точно, что Вы делаете (и знайте, как отменить это).
Это не характерно для coreutils
, можно сделать это со всеми пакетами с открытым исходным кодом, которые обеспечивает распределение (и даже, которые оно не делает). Но предупреждение о не порче файлов, управляемых Вашим распределением, более важно для "системных" пакетов низкого уровня, где Вы, более вероятно, завинтите свою систему полностью.
/bin/pwd
и встроенное/bin/pwd
независимый исполняемый файл, который печатает текущий каталог. Большинство оболочек имеет a pwd
встроенный по двум причинам:
Несколько оболочек отслеживают символьные ссылки в текущем каталоге. Рассмотрите:
$ pwd
/home/gilles
$ ln -s /tmp sym # Create a symlink /home/gilles/sym -> /tmp
$ cd sym
$ pwd
/home/gilles/sym # the directory tracked by the shell
$ /bin/pwd
/tmp # the "real" location of the current directory
$ pwd -P # pwd -P also shows the "real" location
/tmp
$ cd ..
$ pwd
/home/gilles # The shell stripped one level off its current directory
$ set -P # Turn off symlink following (in bash)
$ cd sym
$ pwd
/tmp
$ cd ..
$ pwd
/
Некоторые сценарии явно звонят /bin/pwd
для предотвращения любой символьной ссылки, после которой оболочка могла бы сделать. Переопределение /bin/pwd
сделать что-то еще, вероятно, повредит материал.
На Debian и производных (включая Ubuntu и производные), и любая другая система, которая использует dpkg и APT для управления пакетами, можно найти, в котором упаковывают файл, путем выполнения
dpkg -S /bin/pwd
Вы будете видеть, что этот файл обеспечивается coreutils
пакет.
В целом, для обнаружения исходного пакета, что этот двоичный пакет создается из, выполнение dpkg -s coreutils
или apt-cache show coreutils
или aptitude show coreutils
; здесь, они не показывают a Source:
строка, что означает, что исходный пакет имеет то же имя как двоичный пакет (это не всегда имеет место, главным образом когда исходный пакет разделяется на несколько двоичных пакетов).
Если Вы хотите получить источник, Вы не должны даже узнавать название исходного пакета. Просто выполненный
apt-get source coreutils
Это загрузит и распакует источники coreutils
пакет.
Warren Young и ответы Mat, которые делают некоторые дополнительные точки.