O que significa?

9

O que ./significa isso ?

Por exemplo: O comando a seguir significa mover arquivos da Gapache2pasta para sites-available:

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

Caso contrário, como isso deve ser modificado?

Tentei obter algo da Pesquisa do Google. Mas ./é ignorado pelos motores de busca.

madhu131313
fonte

Respostas:

13

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 pessoal

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

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

UPDATE: Este link é um bom recurso para comandos UNIX básicos

aneeshep
fonte
Para mover arquivos ocultos também, na verdade você precisa de uma expressão glob mais sofisticada (ou de diferentes configurações de shell). Veja stackoverflow.com/questions/1586477/…
Andrea Corbellini
(fingindo ser um novo usuário neste comentário) " ./significa o diretório atual" Qual é a diferença entre .e ./então? Eu pensei que isso .significa apenas o diretório atual.
precisa saber é o seguinte
@gertvdijk: atualizada a resposta. :)
aneeshep
3

Sobre .

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

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 a /ele, isso tem o mesmo significado que anexar a /a qualquer outro nome de diretório. Isso garantirá que você não esteja operando em um arquivo. Geralmente, isso não será uma diferença cpe mvcomandos, 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 lista regular mostrará o próprio link

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

mas anexar a /lista fará com que ela desça 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, é recomendável anexar o item /se você se referir ao conteúdo ou se deseja copiar / mover para ele desreferenciando o link, em vez de substituí-lo.

Consulte também: Rastreando barras nos links simbólicos para diretórios

Voltar ao exemplo

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

Então, eu executaria assim (no diretório de origem):

mv * /etc/apache2/sites-available/
gertvdijk
fonte