por que 'não pode sobrescrever arquivo existente'?

5

Eu tento escrever em um arquivo "date & gt; file", mas o Linux diz "não é possível sobrescrever o arquivo existente". Eu tentei chmod 755, mas ainda não consigo escrever no arquivo. O que devo fazer? Obrigado.

Martin
fonte

Respostas:

15

Se você está correndo bash, o noclobber opção foi definida. Usar >| se você quiser substituir temporariamente isso.

Ignacio Vazquez-Abrams
fonte
Como redirecionar stderr e stdout e substituir temporariamente o noclobber ao mesmo tempo? eu tentei &>| sem sorte.
Tu Bui
2

É possível que o arquivo tenha sido definido como imutável chattr. É raramente usado, mas é uma possibilidade realista. Nesse caso:

chattr -i [filename]

... deve poder remover esse atributo.

0xC0000022L
fonte
1
Escrever em um arquivo "imutável" resultaria em "Operação não permitida".
grawity
0
  1. Vá para sua pasta pessoal
  2. pressione Ctrl + H para mostrar arquivos ocultos
  3. Verifique se alguma das pastas está bloqueada
  4. Clique com o botão direito do mouse na pasta e clique em "propriedades". Nesse clique em "permissões".
  5. Sob o proprietário, altere o acesso à pasta para "criar e excluir arquivos".
  6. Clique em "Aplicar permissões aos arquivos incluídos"

Se você não puder ver nenhuma pasta bloqueada, selecione todas as pastas e faça as

AnushaSameer
fonte
2
De alguma forma, eu não espero que isso funcione em todos os casos ;-) Dica: algumas pessoas não usam o mesmo DE como você faz, ou até mesmo qualquer GUI.
Psirus