diretório inacessível

1

Eu git clonado em um diretório "/ source" antes de eu mkdir ed. Ele não apareceu em seu diretório pai, mas quando eu executo o comando ls , a saída é indentada assim:

    database  static  superlists  virtualenv

em vez de:

database  static  superlists  virtualenv

Quando executo o comando tree , a estrutura se parece com isso:

.
├──  
│   └── source
│       ├── functional_tests
│       │   └── __pycache__
│           └── __pycache__
├── database
├── static
├── superlists
│   ├── functional_tests
│   │   └── __pycache__
│   ├── lists

Veja a lacuna? Deve estar em. junto com banco de dados, estática, superlistas, etc.

Eu também não posso cd na fonte de seu diretório pai.

O que fiz de errado e como corrigi-lo?

Isso está no servidor do Ubuntu 14.04 lts.

Um dos desafios disso é a dificuldade em descrevê-lo, o que dificulta a pesquisa.

edit: a explicação mais simples foi correta, criei um diretório chamado "". Eu removi usando a tecla backslash para escapar.

    
por user3605834 17.07.2016 / 18:56

2 respostas

1

Você conseguiu criar um diretório com um espaço (ou vários) como nome.

Renomeie:

mv " "* I_see_you

No caso de não ser um espaço simples, você poderia tentar substituir qualquer caractere não gráfico por X :

$ # (having moved everything else away to a safe place...)
$ for d in *; do test -d "$d" && echo mv "$d" "$( tr -c '[:graph:]' 'X' <<<"$d" )"; done

Remova echo para realmente executar o mv .

    
por 17.07.2016 / 19:21
1

Você parece ter um diretório cujo nome consiste inteiramente de caracteres não imprimíveis e em branco.

Você pode usar um curinga para corresponder:

mv -i [^A-Za-z0-9_]* renamed

Isso solicita que você mova todos os arquivos cujo nome não comece com uma letra, um dígito ou um sublinhado. Provavelmente só existe esse arquivo.

Como alternativa, se seu shell estiver configurado para iterar através de completações, digite mv Espaço e pressione Tab até que o arquivo correto seja inserido na linha de comando. No bash, esse não é o padrão, você precisa ter set show-all-if-ambiguous on no seu ~/.inputrc ou bind 'set show-all-if-ambiguous on' no seu ~/.bashrc (ou outros métodos, como vincular uma chave a menu-complete ).

    
por 18.07.2016 / 02:49