En esta compilación de horrores del administrador del sistema , uno de los autores escribe, como regla general:
Siempre haz un
cd .
antes de hacer cualquier cosa.
¿Por qué querrías hacer eso?
En esta compilación de horrores del administrador del sistema , uno de los autores escribe, como regla general:
Siempre haz un
cd .
antes de hacer cualquier cosa.
¿Por qué querrías hacer eso?
Respuestas:
Usted no
Al menos no solo así. La línea anterior en el documento citado es importante:
- Configure su solicitud para hacer un
pwd
cada vez que cree un CD.- Siempre haz un
cd .
antes de hacer cualquier cosa.
De esta manera, usted como operador verifica su directorio de trabajo actual antes de hacer algo importante, ya que se imprime con cada cambio. cd .
no tiene ningún sentido lo contrario.
Esta "verificación" es algo bueno, y debe adaptar una forma de ella. Una variación más común (en mi humilde opinión) de este tema es imprimir siempre el directorio de trabajo en el indicador.
pwd
antes de hacer algo?
cd .
cambiaría el subyacente real directorio en el que se encuentra.
cd .
pero antes de hacer cualquier otra cosa. Simplemente reduce la probabilidad de estar en el directorio incorrecto, pero no resuelve el problema general. A menos que cambie al directorio real utilizando algo como cd $(readlink -f .)
dado que realmente desea permanecer allí.
Si se elimina el directorio de trabajo actual de su shell, es posible perder datos.
Por ejemplo,
$ pwd
/home/user/test
$ rmdir /home/user/test
$ pwd
/home/user/test
$ some_command | tee command.log
tee: command.log: No such file or directory
<long output>
La salida de some_command
no se escribió en el disco.
Escribir cd .
antes de ejecutar un comando revelaría el problema.
$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.
Si el directorio actual del directorio de trabajo se eliminó y se volvió a crear, la escritura cd .
"actualizaría" la referencia a ese directorio.
$ ls
foo bar ljz
$ pwd
/home/user/test
$ rmdir /home/user/test
$ mkdir /home/user/test
$ pwd
/home/user/test
$ ls
$ cd .
$ ls
foo bar ljz
Creo que es más importante mostrar su directorio actual.
En cada servidor Linux, modifico el mensaje /etc/bashrc
cambiando "W" a "w".
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
a
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "
El efecto de esto es:
[root@xt include]#
versus
[root@xt /usr/src/spl-0.6.1/include]#
PS1
específico de bash?
~/.profile
o ~/.bash_profile
así como la actualización/etc/skel/.profile