¿Que significa?

9

Que ./significa

Por ejemplo: ¿El siguiente comando significa mover archivos de la Gapache2carpeta a sites-available:

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

Si no, ¿cómo debería modificarse esto?

Intenté obtener algo de la Búsqueda de Google. Pero ./es ignorado por los motores de búsqueda.

madhu131313
fuente

Respuestas:

13

En Unix / linux .significa el directorio actual en su caso /etc/mds-1.2-beta4/sana/config/etc/Gapache2. También hay muchos atajos como:

  • ..: directorio padre ( /etc/mds-1.2-beta4/sana/config/etc/)
  • ~: carpeta de inicio

Entonces, para mover todas las carpetas y archivos de /etc/mds-1.2-beta4/sana/config/etc/Gapache2a /etc/apache2/sites-available, el comando será así

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

ACTUALIZACIÓN: este enlace es un buen recurso para los comandos básicos de UNIX

aneeshep
fuente
Para mover archivos ocultos también, en realidad necesita una expresión glob más sofisticada (o diferentes configuraciones de shell). Ver stackoverflow.com/questions/1586477/…
Andrea Corbellini
(pretendiendo ser un nuevo usuario en este comentario) " ./significa el directorio actual" ¿Cuál es la diferencia entre .y ./luego? Pensé que eso solo .significa el directorio actual.
gertvdijk
@gertvdijk: se actualizó la respuesta. :)
aneeshep
3

Acerca de .

En UNIX / Linux, .significa el directorio actual. También lo verá en la lista de 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 ./y los enlaces simbólicos

Al agregarle /, tiene el mismo significado que agregarle /a cualquier otro nombre de directorio. Solo se asegurará de que no esté operando en un archivo. En general, esto no será una diferencia en cpy mvcomandos, pero usted verá una diferencia cuando se está usando enlaces simbólicos. Supongamos esta estructura:

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

Luego, una lista regular mostrará el enlace en sí

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

pero al agregarlo, la /lista descenderá y mostrará el contenido.

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

Esto significa que cuando se utilizan operaciones, es bueno agregar el /si se refiere al contenido del mismo o si desea copiarlo / moverlo al desreferenciar el enlace, en lugar de reemplazar el enlace en sí.

Consulte también: Barras finales en enlaces simbólicos a directorios

Regresando al ejemplo

En el ejemplo de su pregunta, realmente solo desea mover los contenidos del directorio al otro. Entonces, como señaló aneeshep , debes usarlo mv ./* destdir/. Esto es lo mismo que mv * destdir/su shell (Bash) expande el *directorio actual por defecto.

Entonces, lo ejecutaría así (en el directorio de origen):

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