Así que soy bastante nuevo en Linux y recientemente instalé Fedora 19 en mi netbook. Quiero tener una comprensión más profunda de Linux y la CLI, así que ahora estoy leyendo Learn Linux: The Hard Way .
En el ejercicio 3, el autor da los siguientes comandos:
- ls -al
- perfil de gato
Intento seguir estas instrucciones pero fue en vano. No hay ningún archivo .profile en mi directorio de nombre de usuario como puedo ver desde ls -al. Por lo que he aprendido, el archivo .bash_profile y el archivo .profile son prácticamente iguales. La única diferencia que concluí de mi investigación es que .bash_profile se comprueba primero.
Lo que no entiendo es por qué hay varios archivos para la misma función en Linux, por qué el autor usa .profile y no .bash_profile (si entiendo correctamente .profile no se leerá cuando el sistema encuentre primero .bash_profile) ¿Y cómo es que no tengo el archivo .profile en mi sistema?

Respuestas:
La
.profilefecha se remonta al shell Bourne original conocido comosh. Dado que el shell GNUbashes (dependiendo de sus opciones) un superconjunto del shell Bourne, ambos shells pueden usar el mismo archivo de inicio. Es decir, siempre que soloshse coloquen comandos.profilePor ejemplo,
aliases un comando integrado válido debashpero desconocido parash. Por lo tanto, si solo tuviera un.profileen su directorio personal y pusiera unaaliasdeclaración en él,shse quejaría. Entonces, hay un archivo específico de bash que tiene comandos de inicialización de shell que bash leerá si y solo si no hay un.profilearchivo presente.En realidad, eso es una simplificación excesiva en algunas instalaciones, y no estoy familiarizado con Fedora. Bajo bash,
/etc/profilees leído por el shell antes de cualquier archivo en su directorio de inicio. Si hay un script de inicialización de todo el sistema, a menudo dice algo como¿Por qué es así? Un intento de compatibilidad a través de décadas de dialectos de concha. ¿Por qué el tutorial está escrito de esa manera? El shell Bourne ya no se usa mucho y algunas personas ni siquiera saben que hay otro shell similar a Bourne que bash. Incluso cuando la sintaxis Bourne (limitada) se utiliza para una mayor compatibilidad multiplataforma, a menudo se ejecuta
dasho bash en modo de compatibilidad POSIX. De hecho, la fuente real de Bourne es probablemente un componente de derechos de autor de Unix System V que parece ser propiedad de Novell ahora, pero no tengo idea de qué están haciendo, si es que están haciendo algo.Para el usuario principiante, use uno
$HOME/.profileo dos$HOME/.bash_profilepero no, y estará bien. Dado que ya tiene un.bash_profiletrabajo con eso porque puede tener cosas específicas del sistema que su instalación necesita.fuente
aliasPOSIX lo requiere, por lo que no hay muchosshalrededor que no lo sepan.