Зачем мне нужно переиздавать файл, когда я его обновляю?

Я кодирую программу и в то же время хочу поделиться ею с моими членами группы, используя ubuntu. У них нет учетной записи Ubuntu One, и я должен опубликовать файл, а мои друзья просто получают ссылку и файл.

Но, странно или нет, каждый раз, когда я загружаю новую версию этот файл (я добавляю больше кода и сохраняю его), используемая ссылка кажется «устаревшей», и мне нужно снова опубликовать тот же файл и получить новую ссылку при каждом изменении одного и того же файла.

Не удалось ли сохранить новую версию вашего файла, и одна и та же ссылка просто «указывает» на более новую версию?

3
задан 24 June 2011 в 08:45

8 ответов

От Chipaca's (Ubuntu One dev) отвечает на аналогичный вопрос:

Однако, если вы отредактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), и syncdaemon работает, он увидит переименование и удаление, а ваш общедоступный URL будет сначала ссылаться на переименованный файл, а затем исчезнет. Это неудачный побочный эффект того, как мы делаем публичные файлы, и что-то, что нам нужно изменить, но сейчас это то, что есть.

В принципе, когда вы сохраняете файл с большинством редакторов, вы фактически заменяете исходный файл модифицированной версией. Вы можете убедиться в этом с помощью команды Chipaca :

hello@world:~$ stat -c %i hello.txt 4971

Команда stat -c %i возвращает номер inode файла. Выполнение этой же команды снова после того, как я отредактировал hello.txt в gedit, возвращает другой номер inode:

hello@world:~$ stat -c %i hello.txt 3794

Если я просто добавлю строку текста в конец файла, используя >>, файл просто изменен на месте, а не перезаписан:

hello@world:~$ echo "The End." >> hello.txt hello@world:~$ stat -c %i hello.txt 3794

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

Создать копию опубликованного файла: cp hello.txt hello-copy.txt Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt > hello.txt
4
ответ дан 25 July 2018 в 21:52

От Chipaca's (Ubuntu One dev) отвечает на аналогичный вопрос:

Однако, если вы отредактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), и syncdaemon работает, он увидит переименование и удаление, а ваш общедоступный URL будет сначала ссылаться на переименованный файл, а затем исчезнет. Это неудачный побочный эффект того, как мы делаем публичные файлы, и что-то, что нам нужно изменить, но сейчас это то, что есть.

В принципе, когда вы сохраняете файл с большинством редакторов, вы фактически заменяете исходный файл модифицированной версией. Вы можете убедиться в этом с помощью команды Chipaca :

hello@world:~$ stat -c %i hello.txt 4971

Команда stat -c %i возвращает номер inode файла. Выполнение этой же команды снова после того, как я отредактировал hello.txt в gedit, возвращает другой номер inode:

hello@world:~$ stat -c %i hello.txt 3794

Если я просто добавлю строку текста в конец файла, используя >>, файл просто изменен на месте, а не перезаписан:

hello@world:~$ echo "The End." >> hello.txt hello@world:~$ stat -c %i hello.txt 3794

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

Создать копию опубликованного файла: cp hello.txt hello-copy.txt Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt > hello.txt
4
ответ дан 31 July 2018 в 13:26

От Chipaca's (Ubuntu One dev) отвечает на аналогичный вопрос:

Однако, если вы отредактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), и syncdaemon работает, он увидит переименование и удаление, а ваш общедоступный URL будет сначала ссылаться на переименованный файл, а затем исчезнет. Это неудачный побочный эффект того, как мы делаем публичные файлы, и что-то, что нам нужно изменить, но сейчас это то, что есть.

В принципе, когда вы сохраняете файл с большинством редакторов, вы фактически заменяете исходный файл модифицированной версией. Вы можете убедиться в этом с помощью команды Chipaca :

hello@world:~$ stat -c %i hello.txt 4971

Команда stat -c %i возвращает номер inode файла. Выполнение этой же команды снова после того, как я отредактировал hello.txt в gedit, возвращает другой номер inode:

hello@world:~$ stat -c %i hello.txt 3794

Если я просто добавлю строку текста в конец файла, используя >>, файл просто изменен на месте, а не перезаписан:

hello@world:~$ echo "The End." >> hello.txt hello@world:~$ stat -c %i hello.txt 3794

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

Создать копию опубликованного файла: cp hello.txt hello-copy.txt Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt > hello.txt
4
ответ дан 2 August 2018 в 03:28

От Chipaca's (Ubuntu One dev) отвечает на аналогичный вопрос:

Однако, если вы отредактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), и syncdaemon работает, он увидит переименование и удаление, а ваш общедоступный URL будет сначала ссылаться на переименованный файл, а затем исчезнет. Это неудачный побочный эффект того, как мы делаем публичные файлы, и что-то, что нам нужно изменить, но сейчас это то, что есть.

В принципе, когда вы сохраняете файл с большинством редакторов, вы фактически заменяете исходный файл модифицированной версией. Вы можете убедиться в этом с помощью команды Chipaca :

hello@world:~$ stat -c %i hello.txt 4971

Команда stat -c %i возвращает номер inode файла. Выполнение этой же команды снова после того, как я отредактировал hello.txt в gedit, возвращает другой номер inode:

hello@world:~$ stat -c %i hello.txt 3794

Если я просто добавлю строку текста в конец файла, используя >>, файл просто изменен на месте, а не перезаписан:

hello@world:~$ echo "The End." >> hello.txt hello@world:~$ stat -c %i hello.txt 3794

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

Создать копию опубликованного файла: cp hello.txt hello-copy.txt Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt > hello.txt
4
ответ дан 4 August 2018 в 19:25

От Chipaca's (Ubuntu One dev) отвечает на аналогичный вопрос:

Однако, если вы отредактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), и syncdaemon работает, он увидит переименование и удаление, а ваш общедоступный URL будет сначала ссылаться на переименованный файл, а затем исчезнет. Это неудачный побочный эффект того, как мы делаем публичные файлы, и что-то, что нам нужно изменить, но сейчас это то, что есть.

В принципе, когда вы сохраняете файл с большинством редакторов, вы фактически заменяете исходный файл модифицированной версией. Вы можете убедиться в этом с помощью команды Chipaca :

hello@world:~$ stat -c %i hello.txt 4971

Команда stat -c %i возвращает номер inode файла. Выполнение этой же команды снова после того, как я отредактировал hello.txt в gedit, возвращает другой номер inode:

hello@world:~$ stat -c %i hello.txt 3794

Если я просто добавлю строку текста в конец файла, используя >>, файл просто изменен на месте, а не перезаписан:

hello@world:~$ echo "The End." >> hello.txt hello@world:~$ stat -c %i hello.txt 3794

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

Создать копию опубликованного файла: cp hello.txt hello-copy.txt Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt > hello.txt
4
ответ дан 6 August 2018 в 03:36

Из Chipaca (Ubuntu One dev) ответит на аналогичный вопрос :

Однако, если вы редактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), а syncdaemon работает, он будет видеть переименование и удаление, а ваш общедоступный URL-адрес будет сначала обратитесь к переименованному файлу, а затем исчезнет.

Это неудачный побочный эффект того, как мы делаем общедоступные файлы, и что-то, что нам нужно изменить, но сейчас это то, что он .

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

  hello @ world: ~ $ stat -c% i hello.txt 4971  

Команда stat -c% i возвращает номер inode файла. Выполнение этой же команды снова после редактирования hello.txt в gedit возвращает другой номер inode:

  hello @ world: ~ $ stat -c% i hello.  txt 3794  

Если я просто добавлю строку текста в конец файла, используя & gt; & gt; , файл просто модифицируется на месте, а не перезаписывается:

  hello @ world: ~ $ echo «Конец».  & GT; & GT;  hello.txt hello @ world: ~ $ stat -c% i hello.txt 3794  

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

  1. Создайте копию опубликованного файла: cp hello.txt hello-copy.txt
  2. Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt
  3. Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt & gt; hello.txt
4
ответ дан 7 August 2018 в 21:26

Из Chipaca (Ubuntu One dev) ответит на аналогичный вопрос :

Однако, если вы редактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), а syncdaemon работает, он будет видеть переименование и удаление, а ваш общедоступный URL-адрес будет сначала обратитесь к переименованному файлу, а затем исчезнет.

Это неудачный побочный эффект того, как мы делаем общедоступные файлы, и что-то, что нам нужно изменить, но сейчас это то, что он .

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

  hello @ world: ~ $ stat -c% i hello.txt 4971  

Команда stat -c% i возвращает номер inode файла. Выполнение этой же команды снова после редактирования hello.txt в gedit возвращает другой номер inode:

  hello @ world: ~ $ stat -c% i hello.  txt 3794  

Если я просто добавлю строку текста в конец файла, используя & gt; & gt; , файл просто модифицируется на месте, а не перезаписывается:

  hello @ world: ~ $ echo «Конец».  & GT; & GT;  hello.txt hello @ world: ~ $ stat -c% i hello.txt 3794  

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

  1. Создайте копию опубликованного файла: cp hello.txt hello-copy.txt
  2. Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt
  3. Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt & gt; hello.txt
4
ответ дан 10 August 2018 в 09:43

Из Chipaca (Ubuntu One dev) ответит на аналогичный вопрос :

Однако, если вы редактируете его с помощью редактора, который переименовывает файл, создает новый, копирует содержимое, а затем удаляет оригинал (как это делают большинство редакторов), а syncdaemon работает, он будет видеть переименование и удаление, а ваш общедоступный URL-адрес будет сначала обратитесь к переименованному файлу, а затем исчезнет.

Это неудачный побочный эффект того, как мы делаем общедоступные файлы, и что-то, что нам нужно изменить, но сейчас это то, что он .

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

  hello @ world: ~ $ stat -c% i hello.txt 4971  

Команда stat -c% i возвращает номер inode файла. Выполнение этой же команды снова после редактирования hello.txt в gedit возвращает другой номер inode:

  hello @ world: ~ $ stat -c% i hello.  txt 3794  

Если я просто добавлю строку текста в конец файла, используя & gt; & gt; , файл просто модифицируется на месте, а не перезаписывается:

  hello @ world: ~ $ echo «Конец».  & GT; & GT;  hello.txt hello @ world: ~ $ stat -c% i hello.txt 3794  

Я нашел немного неудобный способ обойти это ограничение в Ubuntu One:

  1. Создайте копию опубликованного файла: cp hello.txt hello-copy.txt
  2. Выполняйте всю свою работу над копией вместо опубликованного файла: gedit hello-copy.txt
  3. Если вы хотите обновить опубликованный файл, выполните следующую команду: cat hello-copy.txt & gt; hello.txt
4
ответ дан 13 August 2018 в 15:56

Другие вопросы по тегам:

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