Системные часы Linux Mint являются днями вперед после того, как ночной ноутбук приостановит

Это - скорее противоположное: cp ведет себя как любое другое приложение, оно интерпретирует .. как родительский каталог текущего каталога. Поэтому ядро интерпретирует .. как родительский каталог текущего каталога.

Когда Вы работаете cd через символьную ссылку, путь, которому Вы передаете cd не делает родительский каталог целевого каталога очевидным. Когда Вы работаете cd ~/Desktop/subdir, место назначения не /home/konstantin/Desktop/subdir — это - символьная ссылка. Целевой каталог /home/konstantin/Desktop/Public/subdir. (Или, чтобы быть педантичным: целевой каталог является названным подкаталогом subdir из названного подкаталога Public из … названного подкаталога home из корневого каталога.) /home/konstantin/Desktop/subdir/.. не /home/konstantin/Desktop: свойство, что родительский каталог /…stuff…/subdir /…stuff… только содержит в отсутствие подкаталогов.

Поскольку часто удобно думать о символьных ссылках на каталоги, как будто они были каталогами, оболочки выполняют отслеживание символьной ссылки. Когда Вы работаете cd, оболочка помнит, какой путь (возможно использующий символьные ссылки) Вы раньше достигали места назначения. И когда Вы используете .. в аргументе cd (или подобная оболочка builtins такой как pushd), оболочка выполняет текстовую интерпретацию .. вместо того, чтобы интерпретировать его как текущий каталог: cd /some/stuff/../more преобразовывается к cd /some/more. Тот путь, cd ведет себя, как будто символьные ссылки были на самом деле каталогами.

Текстовая интерпретация .. известен как логическое отслеживание каталога и интерпретация файловой системы .. известен как физическое отслеживание каталога. Если Вы хотите использовать физическое отслеживание каталога (т.е. выключить текстовую интерпретацию ..), передайте -P опция к cd. -L опция вызывает логическое отслеживание на, в случае, если это было отключено. Логическое отслеживание прочь по умолчанию; можно выключить его с set -P в ударе или с setopt chase_links в zsh.

Команда pwd отображает текущий каталог, как прослежено оболочкой. Как cd, можно передать опцию -L или -P вызвать логическое или физическое отслеживание.

Все это происходит в оболочке. Внешние приложения такой как cp не имейте никакого способа знать то, что отслеживание оболочки делает внутренне. Таким образом, если Вы хотите использовать логическое отслеживание каталога в аргументе команде, необходимо преобразовать это сначала в путь, который не зависит от логического отслеживания.

Переменная оболочки PWD отслеживает текущий каталог ($PWD содержит ту же строку это pwd печать). Если Вы хотите снять изоляцию с последнего текстового компонента отслеженного пути к текущему каталогу вместо добавления /.. который только работает с логическим отслеживанием, можно использовать текстовый метод.

cp testfile "${PWD##*/}"

или в zsh:

cp testfile $PWD:h

Если Вы хотите ввести .. и не должны думать о выражении каталога по-другому, работать cd к желаемому целевому каталогу, и затем используют путь к месту назначения в аргументе команды.

cp testfile "$(cd .. && pwd)"
4
25.04.2015, 19:10
1 ответ

Источник этой проблемы может быть неясен. Это может быть плохая батарейка (, обычно кнопочная ячейка 2032 )в аппаратных часах. Может быть проблема с демоном systemd -timesyncd для синхронизации часов с часами локального сетевого сервера ntp. Возможно, ваш маршрутизатор обслуживает неправильное время ntp. Это требует дальнейшего расследования.

Быстрым решением может быть установка ntpdate или (лучше )chrony. Пакет ntp уже не так надежен, как раньше.

0
27.01.2020, 21:03

Теги

Похожие вопросы