Por que algumas pastas seriam invisíveis na linha de comando?

1

Eu tenho um servidor que eu faço login em SSH. Recentemente, e eu não sei o que mudou para causar isso, qualquer diretório ou link simbólico chamado "system" se tornou invisível.

Após o SSHing no servidor na linha de comando (terminal do Ubuntu):

$ mkdir test_directory
$ cd test_directory/
$ ll
total 8
drwxr-xr-x   2 root     root         4096 Nov  7 18:02 ./
drwxr-xr-x   4 root     root         4096 Nov  7 18:02 ../
$ ln -s /var/www/repos/radiocms/admin/
$ ln -s /var/www/repos/radiocms/application/
$ ln -s /var/www/repos/radiocms/public/     
$ ln -s /var/www/repos/radiocms/system/
$ ll
total 8
drwxr-xr-x   2 root     root         4096 Nov  7 18:02 ./
drwxr-xr-x   4 root     root         4096 Nov  7 18:02 ../
lrwxrwxrwx   1 root     root           37 Nov  7 18:02 admin -> /var/www/repos/radiocms/admin//
lrwxrwxrwx   1 root     root           43 Nov  7 18:02 application -> /var/www/repos/radiocms/application//
lrwxrwxrwx   1 root     root           38 Nov  7 18:02 public -> /var/www/repos/radiocms/public//
$ cd /var/www/repos/radiocms/
$ ll
total 36
drwxr-sr-x   7 root     apache       4096 Nov  7 16:49 ./
drwxr-sr-x   9 root     apache       4096 Nov  7 16:49 ../
drwxr-sr-x   8 root     apache       4096 Nov  7 16:49 .git/
-rw-r--r--   1 root     apache          9 Nov  7 16:49 .gitignore
-rwxr-xr-x   1 root     apache        336 Nov  7 16:49 .htaccess*
drwxr-sr-x   7 root     apache       4096 Nov  7 16:49 admin/
drwxr-sr-x  10 root     apache       4096 Nov  7 16:49 application/
-rwxr-xr-x   1 root     apache       1363 Nov  7 16:49 index.php*
drwxr-sr-x   5 root     apache       4096 Nov  7 16:49 public/
$ cat /etc/*-release
CentOS release 6.4 (Final)
CentOS release 6.4 (Final)
CentOS release 6.4 (Final)
$ type ll
ll is aliased to 'ls -alF --color=auto'
$ type ls
ls is aliased to 'ls --color=auto'
$ which ls
alias ls='ls --color=auto'
    /bin/ls
$ which ll
alias ll='ls -alF --color=auto'
    /bin/ls
$ /bin/ls -al /var/www/repos/radiocms/
total 36
drwxr-sr-x   7 root     apache       4096 Nov  7 16:49 .
drwxr-sr-x   9 root     apache       4096 Nov  7 16:49 ..
drwxr-sr-x   8 root     apache       4096 Nov  7 16:49 .git
-rw-r--r--   1 root     apache          9 Nov  7 16:49 .gitignore
-rwxr-xr-x   1 root     apache        336 Nov  7 16:49 .htaccess
drwxr-sr-x   7 root     apache       4096 Nov  7 16:49 admin
drwxr-sr-x  10 root     apache       4096 Nov  7 16:49 application
-rwxr-xr-x   1 root     apache       1363 Nov  7 16:49 index.php
drwxr-sr-x   5 root     apache       4096 Nov  7 16:49 public

Eu sei que o link simbólico chamado "sistema" existe no diretório de teste: eu acabei de criar. Eu sei que o diretório "system" existe no diretório "radiocms", porque a linha de comando foi preenchida automaticamente quando eu estava criando o symlink.

Se eu fizer o login usando os favoritos do Nautilus (que usam SFTP), esses diretórios serão exibidos muito bem, mas qualquer coisa chamada “sistema” (pasta, link simbólico para pasta ou arquivo) é invisível na linha de comando. O que na Terra poderia estar causando isso? E como faço para corrigir isso?

Se eu, então, voltar ao test_directory, recebo este:

$ ll
total 8
drwxr-xr-x   2 root     root         4096 Nov  7 18:02 ./
drwxr-xr-x   4 root     root         4096 Nov  7 18:02 ../
lrwxrwxrwx   1 root     root           37 Nov  7 18:02 admin -> /var/www/repos/radiocms/admin//
lrwxrwxrwx   1 root     root           43 Nov  7 18:02 application -> /var/www/repos/radiocms/application//
lrwxrwxrwx   1 root     root           38 Nov  7 18:02 public -> /var/www/repos/radiocms/public//
$ find . -maxdepth 1 -type l
./public
./application
./system
./admin

Portanto, find vê os links simbólicos, mesmo se ls não. Estou confuso.

    
por TRiG 07.11.2013 / 19:16

2 respostas

0

Se você disser que apenas a linha de comando oculta elementos "system", isso deve estar relacionado aos comandos que você usa.

aqui, vejo que você usa apenas ll para exibir a pasta, que na maioria das vezes é um alias. Você pode ver qual é o comando real chamado digitando type ll . Por exemplo, posso ver na minha área de trabalho:

type ll
ll is aliased to 'ls -Al'

Depois do que, você pode tentar também verificar ls

type ls
ls is aliased to 'ls --color=auto'

Para ter certeza de que o "shell" é o que não mostra as pastas, tente usar o caminho completo real dos binários:

/bin/ls -al /var/www/repos/radiocms/

E cole-nos os resultados deste comando

Adrien.

    
por 07.11.2013 / 20:34
0

Se algo inesperado está acontecendo, acho que é mais explícito com meus comandos:

ln -s / var / www / repos / radiocms / sistema / caminho / para / test_directory / system

Além disso, na saída que você postou, parece estranho para mim que seus links simbólicos terminem com '//'. Você pode querer excluir e recriá-los também seguindo o exemplo que dei acima.

    
por 07.11.2013 / 20:37