O que significa ./ significa?

7

O que significa ./ ?

Por exemplo: o seguinte comando significa mover arquivos da pasta Gapache2 para sites-available :

root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/apache2/sites-available

Se não como isso deve ser modificado?

Eu tentei conseguir algo da Pesquisa do Google. Mas ./ é ignorado pelos mecanismos de pesquisa.

    
por ZenOut 03.02.2013 / 08:42

2 respostas

10

No Unix / linux . significa o diretório atual no seu caso /etc/mds-1.2-beta4/sana/config/etc/Gapache2 . Existem também muitos atalhos como:

  • .. : diretório pai ( /etc/mds-1.2-beta4/sana/config/etc/ )
  • ~ : pasta inicial

Então, para mover todas as pastas e arquivos de /etc/mds-1.2-beta4/sana/config/etc/Gapache2 para /etc/apache2/sites-available , o comando será assim

mv ./* /etc/apache2/sites-available/

ATUALIZAÇÃO: Este link é um bom recurso para comandos básicos do UNIX

    
por aneeshep 03.02.2013 / 08:50
3

Sobre .

No UNIX / Linux, . significa o diretório atual. Você também o verá listado nos comandos ls :

ls -al
total 40348
drwx------  20 root root     4096 Feb  2 23:05 .               <-- there!
drwxr-xr-x  24 root root     4096 Jan 31 20:07 ..
-rw-r--r--   1 root root      322 Dec 16 17:35 20-revert

Barras, ./ e os links simbólicos

Ao anexar o / a ele, isso tem o mesmo significado que acrescentar um / a qualquer outro nome de diretório. Isso apenas fará com que você não esteja operando em um arquivo. Geralmente, isso não será uma diferença nos comandos cp e mv , mas você verá uma diferença quando estiver usando links simbólicos. Suponha esta estrutura:

.                                                                   
├── a                                                               
├── dir1
│   ├── b
│   └── c
├── dir2
│   └── d
└── symlink -> dir2

Em seguida, uma listagem normal mostrará o link em si

ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb  3 12:15 symlink -> dir2

mas anexar o / fará com que a lista entre nele e mostre o conteúdo.

ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb  3 12:15 d

Isso significa que, ao usar operações, é bom acrescentar o / se você se referir ao conteúdo dele ou se você quiser copiá-lo / movê-lo , desreferindo o link, em vez do que substituir o link em si.

Veja também: Trailing slashes em links simbólicos para diretórios

Voltar para o exemplo

No exemplo da sua pergunta, você quer apenas mover o conteúdo do diretório para o outro. Então, como aneeshep apontou , você deve usar mv ./* destdir/ . Isso é o mesmo que mv * destdir/ quando seu shell (Bash) expande o * do diretório atual por padrão.

Então, eu rodaria assim (no diretório fonte):

mv * /etc/apache2/sites-available/
    
por gertvdijk 03.02.2013 / 12:20