Mesma pasta e nome de arquivo no mesmo local

14

No Ubuntu, por que não posso ter uma pasta chamada "MyFile" e um documento chamado "MyFile" no mesmo local? Eu recebo um erro item already used in this location . O Ubuntu / Linux trata pastas e arquivos como os mesmos objetos (ponteiros para o disco)?

    
por pebox11 18.08.2015 / 14:18

3 respostas

27

No Linux, quase tudo é um descritor de arquivos. Um diretório é um tipo especial de arquivo que, da perspectiva do usuário, pode conter outros arquivos.

Assim, você não pode ter os dois com o mesmo nome, no mesmo diretório, ao mesmo tempo.

Se você pudesse, a vida se tornaria miserável para os codificadores. O que você teria o comando "isDir" retornar quando alguém quer criar um diretório e verifique se existe. Deve isDir ("/ home / shrodingers / cat") retornar verdadeiro, falso ou ambos? E o que você esperaria se alguém quisesse abrir um diretório de um arquivo em algum código?

E o que o sistema deve fazer quando você diz para ele abrir algo? Suponha que você quer o arquivo? Isso significa problema ;)

A propósito: isso é verdadeiro para TODOS os sistemas operacionais, não apenas o Linux. Embora, do ponto de vista da área de trabalho, um sistema operacional possa adicionar um identificador exclusivo ao arquivo ou diretório e removê-lo da listagem. Do ponto de vista da linha de comando, seria problemático.

Existe uma coisa que temos sobre o Windows: usamos nomes que diferenciam maiúsculas de minúsculas. Então, "MYFILE" e "myfile" são coisas diferentes.

    
por Rinzwind 18.08.2015 / 14:25
1

você não pode ter duas entidades com o mesmo nome no mesmo local. O que vai acontecer quando você quer cat ou vi o arquivo? entidade bruxa o sistema operacional escolheu? assim, devido à possibilidade de confusão, você não poderá ter o mesmo nome para um arquivo e uma pasta no mesmo local. e a propósito, uma pasta é um arquivo que hospeda outros arquivos.

    
por L. Barzic 18.08.2015 / 14:38
0

link

wow isso é realmente estranho, mas eu apenas fiz o que o autor pediu. É assim, então é uma resposta real: P

charles@charles-MacBook ~ $ cd /usr/share
charles@charles-MacBook /usr/share $ ls -ld pix*
drwxr-xr-x 13 root root  4096 Oct 22 21:04 pixmaps
-rw-r--r--  1 root root 17626 Oct 22 21:07 pixmaps 
charles@charles-MacBook /usr/share $ mv pixmaps pixmaps
mv: cannot move ‘pixmaps’ to a subdirectory of itself, ‘pixmaps/pixmaps’
charles@charles-MacBook /usr/share $ ls -ld pix*
drwxr-xr-x 13 root root  4096 Oct 22 21:04 pixmaps
-rw-r--r--  1 root root 17626 Oct 22 21:07 pixmaps 
charles@charles-MacBook /usr/share $ file pix*
pixmaps:  directory
pixmaps : X pixmap image, ASCII text

isso foi feito por:

charles-MacBook MaSSH # ls
instMaSSH.sh  MaSSHandra  MaSSHandra.desktop  MaSSHandraMesh.xpm
MaSSHandra.xpm  mime-MaSSHandra.xml
charles-MacBook MaSSH # cat instMaSSH.sh 
cp -i MaSSHandra.desktop /usr/share/applications
cp -i MaSSHandra.xpm /usr/share/pixmaps 
cp -i MaSSHandraMesh.xpm /usr/share/pixmaps
xdg-icon-resource install --context mimetypes --size 48 /usr/share/pixmaps/MaSSHandra.xpm application-x-MaSSHandra
xdg-icon-resource install --context mimetypes --size 48 /usr/share/pixmaps/MaSSHandraMesh.xpm application-x-MaSSHandraMesh
setcap cap_net_raw+ep /opt/MaSSHandra/bin/MaSSHandra
charles-MacBook MaSSH # ./instMaSSH.sh 
cp: overwrite ‘/usr/share/applications/MaSSHandra.desktop’? y
xdg-icon-resource: file '/usr/share/pixmaps/MaSSHandra.xpm' does not exist
xdg-icon-resource: file '/usr/share/pixmaps/MaSSHandraMesh.xpm' does not exist

whoah alterna resposta dois arquivos com o mesmo nome, nem mesmo um diretório e um arquivo mais o que está acontecendo ??? _

charles-MacBook share # ls -ld pi*
drwxr-xr-x 13 root root  4096 Oct 22 21:08 pixmaps
-rw-r--r--  1 root root 17626 Oct 22 21:09 pixmaps 
charles-MacBook share # mv pixmaps /tmp
charles-MacBook share # mv pixmaps  /tmp/pixmaps/
charles-MacBook share # ls -ld pix*
-rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps 
charles-MacBook share # ls -li pix*
1849351 -rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
1841386 -rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps 
charles-MacBook share # file pix*
pixmaps:  X pixmap image, ASCII text
pixmaps : X pixmap image, ASCII text
charles-MacBook share # ls -liF pix*
1849351 -rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
1841386 -rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps 

comportamento totalmente estranho

charles-MacBook MaSSH # ls -l /usr/share/pixmaps
pixmaps   pixmaps   
charles-MacBook MaSSH # rm -i /usr/share/pixmaps                                                                 
rm: remove regular file ‘/usr/share/pixmaps’? y
charles-MacBook MaSSH # ls -l /usr/share/pixmaps  
-rw-r--r-- 1 root root 17626 Oct 22 21:26 /usr/share/pixmaps 
charles-MacBook MaSSH # rm -i /usr/share/pixmaps
rm: cannot remove ‘/usr/share/pixmaps’: No such file or directory
charles-MacBook MaSSH # ls -l /usr/share/pixmaps  
-rw-r--r-- 1 root root 17626 Oct 22 21:26 /usr/share/pixmaps 
charles-MacBook MaSSH # cd /usr/share
charles-MacBook share # rm pixmaps  
charles-MacBook share # 
    
por Charles Adrian Posinoff 23.10.2015 / 05:36