¿Cuáles son algunos consejos útiles para que un usuario principiante de Linux entienda que los ayudará por el resto de su vida?

Aprende a usar la línea de comandos. La mayoría de las distribuciones lo iniciarán con el shell bash, y esa es una muy buena para aprender. Será el valor predeterminado en muchos sistemas * nix que use, y estará disponible en casi todos.

Además, Linux tiene interfaces GUI bastante decentes. Hay varios de esos, sin embargo, sean Gnome, KDE, Unity, lo que sea que tengas. Los diferentes sistemas pueden usar sistemas diferentes, por lo que es posible que su sistema preferido no esté disponible. Pero lo que es más importante, en muchos sentidos, no son tan potentes y flexibles como una interfaz de línea de comandos (CLI). La mayoría de los servidores * nix no ejecutan ninguna interfaz GUI y se ejecutan solo en el acceso remoto a través de un shell.

Imagina, por ejemplo, que tienes un directorio que contiene archivos de audio en formato .wav, .mp3 y .flac. Desea mover solo los archivos mp3 a un directorio secundario separado llamado mp3 para mantener separados el audio con pérdida y sin pérdida.

Con una GUI, probablemente pueda ordenar los archivos por tipo. Luego encuentra el primer archivo mp3 (ya que los FLAC están arriba), desplácese hacia abajo hasta que encuentre el último y arrástrelos al directorio secundario de mp3. Si tiene muchos archivos, este es probablemente un proceso que consume algo de tiempo. Si tienes cientos de directorios para hacerlo, es un dolor enorme en el culo.

Por otro lado, en la CLI, es un comando simple: “mv * .mp3 ./mp3”. Sí, eso es todo. Hecho. Si tiene cien directorios para hacerlo, puede escribir fácilmente un script para hacerlo por separado para cada uno.

Y eso es incluso antes de que llegues a la tubería. Puede usar la salida de un comando (como grep, para buscar archivos que contengan cierto contenido, o buscar, encontrar nombres de archivos que coincidan con un determinado patrón), y usar eso como entrada para otro comando para realizar alguna acción. Puede hacer esas cadenas de tuberías todo el tiempo que desee, de modo que puede encontrar archivos que coincidan con alguna especificación, alterarlos de alguna manera, moverlos a algún lugar, cambiar los permisos sobre ellos después del traslado, lo que sea que necesite hacer. Todo en una serie de comandos. Si necesita más control granular que eso, el shell también puede tener secuencias de comandos, con bucles o cualquier otra cosa que pueda necesitar.

Al aprender eso, hay algunas otras cosas que necesita saber.

Todo en * nix es un archivo (o serie de ellos). Y me refiero a todo . Aprender que la filosofía te llevará a entender cómo funciona el sistema operativo. El kernel es archivos. Los controladores son archivos. Los procesos en ejecución son archivos. Las interfaces a dispositivos como su disco duro o tarjeta de red están representados por archivos de dispositivo. Las interfaces con los dispositivos “pseudo” (es posible que haya oído hablar de / dev / null, un “dispositivo” en el que puede escribir y que le devolverá la confirmación de que la escritura fue exitosa mientras no escribía nada) son archivos. Las configuraciones para los programas se guardan en archivos (en lugar del “registro” al que puede estar acostumbrado si ha usado un sistema Windows). Todo es un archivo.

Las unidades no funcionarán de la forma en que estás acostumbrado. La unidad del sistema está montada en “/”, la raíz del sistema de archivos. Cada otra unidad está montada dentro de ese sistema de archivos . Entonces, en lugar de tener una unidad “C:” y luego una unidad “D:” para un disco duro secundario con su propia raíz, la raíz de la unidad D: puede estar en, por ejemplo, “/ mnt / data” . Ese directorio, y cualquiera de sus hijos, se mantendrá en el disco duro secundario. Puedes tener múltiples puntos de montaje como ese. Por lo tanto, “/ mnt / flash” puede ser una unidad flash que tiene conectada a la máquina, “/ mnt / external” puede ser su disco duro externo, y “/ mnt / cloud” puede ser una ubicación de red montada como un disco duro conducir. Por supuesto, donde exactamente se pueden configurar y personalizar tales unidades de montaje, lo que he puesto aquí son solo ejemplos. Pero en todos los casos, los subdirectorios de un punto de montaje se mantendrán en cualquier unidad que esté montada en ese punto en particular.

Ya se ha dicho aquí, pero aprenda a usar los trabajos cron. Es muy bueno tener tareas repetitivas automatizadas. Por supuesto, puede hacer que un trabajo cron ejecute un script de shell, por lo que puede tener cualquier cantidad de lógica que desee. Si desea configurar un trabajo cron que se ejecute una vez al día y elimine los archivos de un directorio determinado que tengan más de una semana de antigüedad, puede hacerlo. ¿Desea comprimir archivos en una ubicación determinada y guardarlos como una instantánea diaria en otro lugar? También puedo hacer eso. ¿Sólo una copia de seguridad si han cambiado? Sí.

Lanzaré esto aquí, ya que he visto este error más de una vez: Linux no es magia. Claro, la mayoría de las máquinas Linux que has visto son probablemente rápidas, magras y bien mantenidas. Eso no se debe a algún tipo de magia negra en el sistema operativo, es porque las personas que los ejecutan tienden a saber lo que están haciendo y Linux les da el poder de hacerlo correctamente. Una máquina con Linux puede volverse inflada, lenta e insegura por una administración deficiente. Así que esa parte está en ti. Si no sabes lo que estás haciendo pero sigues adelante de todos modos, puedes arruinar algo. Linux te dejará joder las cosas. Especialmente si está ejecutando como root (ver más abajo), supondrá que sabe lo que está haciendo y no lo detendrá.

Si no aprende los privilegios de los usuarios muy a fondo (lo que tal vez no necesite), al menos comprenda la diferencia entre la cuenta raíz y las cuentas de usuario estándar. La cuenta raíz es el superusuario. Puede acceder a todo, y así, puede arruinar todo. Solo debe usar privilegios de root cuando esté absolutamente seguro de que realmente lo necesita.

Normalmente, deberías estar ejecutando bajo una cuenta de usuario estándar. Esta cuenta no tiene tanto acceso. Si intentara, bajo mi cuenta de usuario en mi máquina, eliminar el kernel, mis comandos serían rechazados por tener privilegios insuficientes para hacerlo. Pero si la raíz lo hace? Una vez más, el sistema supondrá que sabe qué está haciendo y le permitirá hacerlo en ese caso. Buena suerte alguna vez arrancándolo de nuevo.

La mejor manera de acceder a los privilegios de la cuenta raíz es a través del comando “sudo”, que precede a otro comando. Esto le permite obtener privilegios de root de una cuenta de usuario para ese comando único, en lugar de simplemente iniciar sesión en la cuenta de root (y, en consecuencia, olvidarse de volver a cerrar sesión). Pero no se acostumbre a escribir “sudo” antes de algo si el comando es rechazado con privilegios de usuario. Comprenda por qué lo que está tratando de hacer debería y debería requerir privilegios de raíz.

Puede parecer más conveniente simplemente ejecutarse como root todo el tiempo. No lo hagas Ejecutarse como usuario significa que cualquier programa que ejecute ni siquiera tiene acceso para hacer cosas como modificar el kernel o las configuraciones del sistema. Incluso si algún programa malintencionado intenta, por ejemplo, secuestrar su navegador para hacer eso, si está ejecutando como usuario, no sucederá.

Ahora, mire esto y diga “Esto es algo para principiantes?!?!?!”. Sí lo es. Linux se ha vuelto mucho más fácil de usar en la última década. Una gran cantidad de hardware se conectará y se reproducirá, y cualquiera que no funcione, generalmente se puede hacer funcionar con un esfuerzo mínimo y una simple búsqueda en Google. Y si todo lo que quieres hacer es hacer clic en los widgets y nunca tienes ningún interés en saber cómo funciona el núcleo del sistema operativo, probablemente lo haría por ti. Pero si te estás molestando en instalar Linux, probablemente no sea todo lo que quieres (¿por qué molestarse en cambiar, si es así?).

Una vez que entienda las partes centrales del sistema operativo, desde allí podrá comenzar fácilmente a entender cómo hacer lo que necesita hacer. Si no lo hace, le resultará difícil comprender por qué todo lo que está haciendo realmente funciona, incluso si puede encontrar la respuesta en Google y el guión que alguien escribió también funciona en su caso. * nix, ya sea Linux o cualquier otra cosa, se puede hacer que se parezca a Windows, pero bajo el capó, Windows no lo es. Agarre las diferencias y podrá averiguar lo que necesite a partir de ahí.

Aprende a usar la pestaña cron . Los trabajos de Cron se ejecutan automáticamente en varias ocasiones y el sistema los utiliza principalmente para realizar ciertas tareas. Sin embargo, puede usar los trabajos cron para realizar acciones automáticamente para que no tenga que preocuparse por ellos. Por ejemplo, puede configurar un trabajo para descargar / cargar archivos automáticamente, hacer copias de seguridad de archivos en una ubicación diferente, descargar e instalar actualizaciones, etc.

Aprende a escribir. Principalmente Bash scripts, pero puedes hacer prácticamente lo mismo en cualquier idioma. Perl y Python son populares. Con los scripts, al igual que los trabajos cron, puede automatizar una serie de cosas o simplemente reducir la cantidad de trabajo que tiene que hacer manualmente. Si combina scripts con trabajos cron, tiene mucho poder disponible para usted.

Siéntase cómodo con la concha de su elección. Bash es el valor predeterminado para la mayoría de las distribuciones de Linux, pero hay una serie de otras que puede encontrar. Todo lo que haces con una interfaz gráfica es hacer llamadas al sistema a través del shell; Es solo una bonita visualización de las acciones de la línea de comandos. Por lo tanto, puede hacer mucho en la línea de comandos para la que tendría que instalar una utilidad y, muchas veces, es más rápido escribir algo en el indicador de comandos de shell que desordenar con una ventana GUI.

Sepa como actualizar su sistema. Por ejemplo, en los sistemas basados ​​en Debian, puede usar una variedad de herramientas gráficas para instalar y actualizar software, o simplemente puede usar apt-get en la línea de comandos. Los sistemas basados ​​en Red Hat usan yum .

Aprende a usar las páginas de manual. Estos son archivos de documentación electrónica sobre casi comando en Linux, y muchos programas no básicos proporcionan sus propias páginas de manual. Se puede acceder a ellos desde la línea de comandos escribiendo “man “; por ejemplo, “man ls” mostrará toda la información necesaria para usar el comando ls , que se usa para mostrar información sobre el sistema de archivos.

Aprende a usar nano , vim o emacs . Estos son editores de texto de línea de comando que son muy útiles cuando se realizan cambios en el sistema, se editan archivos de configuración, etc. Habrá ocasiones en las que no podrá ingresar a una sesión gráfica y tendrá que trabajar con archivos a través de un editor de texto. Esto podría deberse a un problema con el sistema o simplemente no hay una sesión gráfica disponible, como en un servidor. vi (una versión anterior de vim) está disponible en casi todos los sistemas, por lo que debe tomarse el tiempo para aprender cómo navegar por él. vim tiene un tutorial útil que solo toma media hora y te enseña lo básico.

Todavía me considero un principiante, pero me he acostumbrado a ello hasta el punto en que ahora lo uso como mi sistema operativo principal.

1.Aprender sobre Linux en general

No quiero volver atrás y aprender sobre Linux, son los primeros días y todo sobre el kernel (aunque no es una mala idea). Solo aprenda sobre las palabras extrañas que encuentra al explorar su sistema Linux, como “administrador de paquetes”, “ventana administrador ”y siga los canales de YouTube que se centran en Linux.

2. Ponte cómodo con el terminal

No puedes moverte por Linux sin usar el terminal, por lo que es mejor saberlo para que no te encuentres con ganas cuando te presentan nuevas distribuciones.

Ah, y una última cosa, el último recurso, la mayor parte del tiempo es la documentación, sea lo que sea, lea la documentación.

RTFM.

Búsquelo

(sí, es una mordaza recursiva)

Pero, con toda seriedad, en realidad hay manuales útiles y útiles, y con frecuencia puede obtener ayuda de otros usuarios, incluso de los autores de un paquete. Eso es algo que requiere algo de acostumbrarse.