Arquivo não exibido usando vi, mas visível com o comando ls -l CD *

1

Eu posso fazer um ls -l CD* e ver a seguinte saída.

CDTEST userA RW RW R

Estou logado como userA. Mas se eu fizer um ls -l o arquivo não aparece. Se eu fizer vi CDTEST , ele tentará criar um novo arquivo chamado CDTEST . Se eu fizer um mv ou rm , recebo a mensagem sem arquivo de nome CDTEST encontrado.

    
por user63597 26.03.2014 / 01:31

2 respostas

2

Parece que você tem algum diretório que corresponde a CD* . Quando você executar ls -l CD* , verá o conteúdo desse diretório, que inclui o arquivo CDTEST .

Exemplo

Digamos que eu tenha essa estrutura de diretórios.

$ tree .
.
'-- CD1
    '-- CDTEST

1 directory, 1 file

Se eu executar o seguinte comando no mesmo local:

$ ls -l CD*
total 0
-rw-rw-r--. 1 saml saml 0 Mar 25 21:41 CDTEST

Você pode obter uma lista de diretórios reais se adicionar a opção -d a ls .

$ ls -ld CD*
drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1

Quando você executa seus comandos, eles estão relacionados ao diretório que contém CD1 , que não possui nenhum arquivo com o nome CDTEST . Você também pode verificar o que está em seu diretório atual da seguinte forma:

$ ls -l

Ou você pode filtrá-lo usando grep da seguinte forma:

$ ls -l | grep CD
drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1

OBSERVAÇÃO: Observe que CD1 tem d no começo? Isso diz que é um diretório.

    
por 26.03.2014 / 02:48
0

Pelo que entendi, o arquivo CDTEST parece estar dentro de uma pasta. Quando você emite o comando,

ls -l CD*

O comando acima, na verdade, exibe um arquivo CDTEST dentro de sua pasta, que não está presente no diretório de trabalho atual. Portanto, se você usar ls -l , ele não exibirá o arquivo CDTEST que está dentro da pasta. E essa é a razão pela qual um novo arquivo é criado quando você executa o erro vi CDTEST ou no file found quando você emite o comando mv ou rm .

Você provavelmente está emitindo o comando vi , mv ou rm do pwd .

    
por 26.03.2014 / 01:44

Tags