Quando o comando touch precisa que o arquivo exista? [duplicado]

0

Tenho notado algumas vezes que toco em um arquivo que não existe e depois do comando, os arquivos são criados. No entanto, dependendo do diretório que estou tocando, recebo o erro "Nenhum arquivo ou diretório".

Por exemplo, se eu executar touch foo.txt , o arquivo foo.txt será criado no meu diretório pessoal. Em vez disso, se eu executar touch /bar/foo.txt , obtenho touch: cannot touch '/bar/foo.txt': No such file or directory .

Qual é a lógica por trás disso? Obrigado.

    
por jgam 19.10.2017 / 00:46

2 respostas

0

O comando touch não precisa que o arquivo de destino exista, mas precisa que o diretório pai do arquivo de destino exista. Portanto, se você quiser executar touch /bar/foo.txt , precisará verificar se o diretório /bar/ já existe.

O comando touch (como a maioria dos programas de linha de comando) também assume que o argumento de caminho que você fornece é um caminho relativo. Portanto, touch foo.txt criará um arquivo no seu diretório de trabalho atual. Se o seu diretório atual for o seu diretório pessoal, então foo.txt será criado em seu diretório pessoal.

    
por 19.10.2017 / 01:03
0

Você está recebendo o erro "No such file or directory" porque /bar/foo.txt está procurando em root / bar / foo.txt. A partir do seu diretório home, tente "bar / foo.txt" (não /bar/foo.txt). Supondo que o diretório de barras exista em seu diretório home

    
por 19.10.2017 / 01:04

Tags