Um arquivo que não é um diretório nem um arquivo

-1

Isso pode parecer uma pergunta estranha, mas acabei de obter essa saída para um arquivo (diretório?) No meu sistema. Pode ser um erro trivial ou bem conhecido, mas, para mim, esse arquivo (diretório?) Chamado ksmserver.notifyrcé um mistério.

[orly at kde-workspace on master]$ rm -fv /home/orly/ksmserver.notifyrc                                   2:06
rm: cannot remove `/home/orly/ksmserver.notifyrc': Is a directory

[orly at kde-workspace on master]$ rm -rfv /home/orly/ksmserver.notifyrc                                  2:09
rm: cannot remove `/home/orly/ksmserver.notifyrc/kscreenlocker.notifyrc': Permission denied

[orly at kde-workspace on master]$ ls -al /home/orly/ksmserver.notifyrc                                   2:09
ls: cannot access /home/orly/ksmserver.notifyrc/..: Permission denied
ls: cannot access /home/orly/ksmserver.notifyrc/kscreenlocker.notifyrc: Permission denied
ls: cannot access /home/orly/ksmserver.notifyrc/.: Permission denied
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? kscreenlocker.notifyrc

[orly at kde-workspace on master]$ sudo rm -rfv  /home/orly/ksmserver.notifyrc                            2:09
[sudo] password for orly: 
removed `/home/orly/ksmserver.notifyrc/kscreenlocker.notifyrc'
removed directory: `/home/orly/ksmserver.notifyrc'

O que eu gostaria de entender é,

  1. O que é ksmserver.notifyrc- um arquivo ou um diretório?
  2. Por que ls exibe pontos de interrogação em vez de atributos?
  3. Por que ls lista o conteúdo desse arquivo (diretório?), Mas não mais?

Esta é a primeira vez que encontro esse tipo de saída de ls. Qualquer conselho é muito apreciado!

Fedora Linux 64bit, versão estável mais recente.

Esse talvez seja um fs corrompido que precisa de um fsck?

iksemyonov
fonte
Agora, por que essa pergunta é rejeitada? Isso é inválido? Por que o aviso do fsck foi removido? Veja, se estou fazendo uma pergunta, isso significa que sei pouco sobre a resposta possível! Estou adicionando a pergunta fsck novamente.
precisa saber é o seguinte

Respostas:

2

É um diretório em que você tem permissões de leitura (é possível acessar a entrada de diretório no sistema de arquivos), mas não possui permissões de execução, portanto não pode listar seu conteúdo. Então você tem acesso de leitura ao kscreenlocker.notifyrcarquivo, mas para listar qualquer informação sobre ele, você precisa executar permissões no diretório que o contém.

Para recriar a situação, faça o seguinte:

$ mkdir testdir
$ touch testdir/testfile
$ chmod -x testdir
$ ls -al testdir

ls: cannot access testdir/testfile: Permission denied
ls: cannot access testdir/..: Permission denied
ls: cannot access testdir/.: Permission denied
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? testfile
BubuIIC
fonte
É isso! Obrigado :) Vou consultar a Stevens & Rago para mais informações.
precisa saber é o seguinte
0

1) o que é "ksmserver.notifyrc" - um arquivo ou um diretório?

É um arquivo, portanto, o -da primeira coluna.

2) por que ls exibe pontos de interrogação em vez de atributos? 3) por que ls lista o conteúdo desse arquivo (dir?), Mas não mais?

Você não tem permissões de execução no diretório que o contém, portanto, pode obter apenas informações mínimas sobre o conteúdo.

Ignacio Vazquez-Abrams
fonte
-2
  1. É um diretório.
  2. Eu acredito que ele nem tinha acesso de leitura ao diretório (algo assim).
  3. Veja o item 2. Suponho que seja uma dessas interações de permissão estranhas.

Teria sido interessante conhecer as ksmserver.notifyrcpróprias permissões .

Aluísio ASG
fonte