In questa raccolta di orrori del sysadmin , uno degli autori scrive, come regola generale:
Fai sempre un
cd .prima di fare qualsiasi cosa.
Perché vorresti farlo?
In questa raccolta di orrori del sysadmin , uno degli autori scrive, come regola generale:
Fai sempre un
cd .prima di fare qualsiasi cosa.
Perché vorresti farlo?
Risposte:
Non
Almeno non proprio così. La riga precedente nel documento citato è importante:
- Imposta il tuo prompt per fare
pwdogni volta che fai un cd.- Fai sempre un
cd .prima di fare qualsiasi cosa.
In questo modo, come operatore, verifichi la directory di lavoro corrente prima di fare qualcosa di importante, poiché viene stampato con ogni modifica. cd .non ha alcun senso altrimenti.
Questa "verifica" è una buona cosa e dovresti adattarne una forma. Una variante più (IMHO) comune di questo tema è quella di stampare sempre la directory di lavoro al prompt.
pwdprima di fare qualcosa?
cd .farebbe cambiare il sottostante directory in cui ti trovi.
cd . ma prima di fare qualsiasi altra cosa. Riduce solo la probabilità di trovarsi nella directory sbagliata, ma non risolve il problema generale. A meno che non passi alla directory reale usando qualcosa di simile cd $(readlink -f .)dato che in realtà vuoi rimanere lì.
Se l'attuale directory di lavoro della shell viene rimossa, è possibile perdere dati.
Per esempio,
$ 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>
L'output di some_commandnon è stato scritto sul disco.
Digitare cd .prima di eseguire un comando rivelerebbe il problema.
$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.
Se la directory corrente della directory di lavoro fosse rimossa e ricreata, digitando cd .si "aggiorna" il riferimento a quella directory.
$ 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
Penso che sia più importante mostrare la tua directory attuale.
Su ogni server Linux, modifico il prompt /etc/bashrccambiando "W" in "w".
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
a
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "
L'effetto di questo è:
[root@xt include]#
contro
[root@xt /usr/src/spl-0.6.1/include]#
PS1specifico per bash?
~/.profileo ~/.bash_profileoltre all'aggiornamento/etc/skel/.profile