Red de conocimiento informático - Aprendizaje de programación - ¿Cómo aprender Linux o Unix?

¿Cómo aprender Linux o Unix?

1. ¿Por qué deberías aprender Linux?

¡Por supuesto que lo más importante son los pasatiempos y los intereses! Si necesitas aprender esto, o si no te gusta en absoluto, no pierdas el tiempo. ¡No podrás aprender bien!

2. Primeros pasos

Debes crear un entorno para aprender Linux: instala Linux o Unix en tu computadora

Pregunta 1: Selección de versión

p>

Redhat se usa en Norteamérica, SuSE se usa en Europa, los mandrágoras de escritorio son más comunes y Debian es el Linux tecnológicamente más avanzado.

Debian es el que más se usa entre los desarrolladores, seguido de Redhat. En términos de participación de mercado en el campo de aplicaciones

No hay duda de que redhat tiene la mayor cantidad. Además, hay muchas distribuciones conocidas que no se enumerarán aquí.

Para aquellos que son nuevos en Linux, recomiendo usar redhat por las siguientes razones:

1) Muchos libros ahora usan redhat como ejemplo, para ser consistente con los libros.

2) Todos los que nos rodean usan Redhat, por lo que la comunicación es más conveniente

3) Redhat tiene una amplia gama de aplicaciones y es típico y representativo

4) Es fácil de usar e instalar, no necesitamos perder tiempo en “instalar el sistema”

Debemos centrarnos en aprender las cosas más útiles.

//Nota: Ahora siento que RH es muy rígido. AS, ES, etc. pueden ser buenos para usar en servidores.

El escritorio personal usa mandrake, debian y suse. Todos son buenos. El autor ahora usa Mandrake, porque es hermosa.

Si no planeas aprender Linux en profundidad, pero tienes necesidades como adaptarte a la migración de la oficina del gobierno municipal de Beijing. plataforma a Linux

entonces ChinaSoft, Linux chino como Hongqi es una buena opción

Recomiendo encarecidamente: instale Linux en su disco duro usted mismo

Debe hacerlo. aprenda las habilidades para instalar sistemas Linux de forma independiente. Por ahora, en realidad es tan simple como instalar WinXP.

De ahora en adelante, no piense en el problema en términos de la forma en que funciona Windows.

Deberías intentar descubrir el "genio Unix" en el temperamento de Linux.

3. Avanzado

Domine al menos 50 comandos comunes

Comprenda la canalización de shell "|", la redirección de flujo de archivos "gt;" y agregue "gt; gt". ;" etc.

Estar familiarizado con el funcionamiento de los entornos de escritorio X-Windows como Gnome/KDE

Dominar los métodos de instalación comunes de paquetes de software como .tgz.rpm.biz

Aprenda a agregar periféricos e instalar controladores de dispositivos (como un módem)

Familiarícese con el gestor de arranque Grub/Lilo y las operaciones de reparación simples

Familiarícese con el nombres y nombres públicos de los directorios inherentes del sistema

Aprenda a usar el comando mount para acceder a otros sistemas de archivos

Comprenda editores, compiladores y depuradores comunes como vi, gcc, gdb

Conozca la simplicidad de las redes en el entorno Linux

Sugerencia: compre un libro de texto de Linux que no necesite ser demasiado grueso, que generalmente puede cumplir con los requisitos

//Hay Cada vez hay más libros, y también incluyen muchas imágenes. En ese momento no había tantos libros :)

4.Aplicaciones avanzadas

Aclarar algunos conceptos: <. /p>

Las operaciones ordinarias de Linux no se pueden comparar con la gestión real del sistema. Requiere mucho conocimiento

Personalmente creo que varios lenguajes de Linux son más importantes

. 1. Inglés

Incluso si no aprendes Linux, te recomiendo encarecidamente que aprendas bien inglés [inglés de EE. UU.]

Porque, en esencia, el lenguaje informático es inglés y caracteres. y el llamado multilenguaje es solo un paquete externo

Debe poder leer una gran cantidad de documentos técnicos en inglés sin ningún obstáculo

Buscar con soltura sitios web y páginas web en inglés encontrado por los motores de búsqueda

Lo mejor es tener la capacidad de comunicarse directamente en inglés.

Deshazte de este obstáculo, tu aprendizaje y la velocidad de comprensión serán mucho más rápidos. tendrás la oportunidad de ampliar la brecha con los demás

2. shell[sed/awk]

Shell es un intérprete de comandos, el kernel y el canal de comunicación de la interfaz de usuario, el pequeño. El script escrito por Shell es algo similar a .bat bajo win.

Pero Shell es mucho más poderoso que .bat. Shell no solo interpreta comandos, sino también un lenguaje de programación, a veces cientos de líneas. El shell c puede ser. se utiliza para completar el trabajo en docenas de líneas, porque el método de trabajo del shell se basa en las muchas aplicaciones existentes en el sistema

Este también es un punto importante en CS Thought.

Además, el shell puede realizar la automatización del trabajo, este concepto también es importante

sed, awk se usa para procesar texto y siempre se ha usado comúnmente

3.Perl/PHP

Hermoso script, la primera opción para CGI, mejor que ASP y tiene una amplia gama de aplicaciones

4.C\C

C y C son para Linux/unix. El lenguaje central y el código del sistema están escritos en C

5.ASM

La capa inferior del sistema y el kernel, el hardware, los controladores de dispositivos, y el desarrollo integrado son todos necesarios

//Si tomas la ruta principal, c\c, asm es el más importante

6 Java, Python, Tcl, XML

*Capítulo de administración del sistema

Además de estar familiarizado con Linux, también necesitas dominar al menos un Unix

Recomiendo primero Solaris, seguido de FreeBSD

Por ejemplo, los sistemas a nivel de operador son generalmente Solaris Oracle/DB2 y similares

Aprenda apache, ssh, sendmail/Qmail, proftp/vsftp, Samba, Squid, MySQL/PostgreSQL/Oracle. , Bind

y otras arquitecturas de servidores de aplicaciones y aplicaciones de comercio electrónico

Familiarícese con la familia de protocolos TCP/IP y aprenda varias soluciones de aplicaciones de nivel empresarial, como la implementación de apache php cuota proftp mysql y redes de área local a gran escala, clústeres distribuidos

Gestión multiusuario, gestión de bases de datos, sistema de archivos, gestión de almacenamiento lógico, análisis de registros, copias de seguridad y reparación de datos ante desastres.

Parches del sistema, actualizaciones del kernel y arquitectura de firewall basados ​​en esto para garantizar la seguridad del sistema. Diversas habilidades de administración del sistema.

Creo que si domina el equipo de enrutamiento/conmutación sobre esta base, podrá sea ​​un buen administrador de sistemas

Se pueden consultar varias soluciones basadas en Linux. Consulte libros y documentos relevantes y, si es necesario, utilice Google o motores de búsqueda en los principales sitios de Linux para encontrar los documentos más recientes y evitar errores y lagunas.

Hay varias enciclopedias técnicas e información técnica privilegiada. Creo que todos son buenos libros en esta área

*Aprendiendo Linux en profundidad

Mi comprensión personal de. los conceptos básicos necesarios para leer el kernel de Linux:

Antes de eso, espero primero Será más fácil de entender si aprende algo sobre la capa de aplicación

1.C

Si ha estudiado el libro de texto universitario de Tan Haoqiang (parece que no hace nada más que compilar algunos modelos matemáticos) Del tipo que no se puede aprender),

Se recomienda leer la Biblia "La C Lenguaje de programación" Segunda edición

/*Si desea aprender el desbordamiento del búfer, esta habilidad en C puede no ser suficiente*/

Además, lt; Trampas y defectos de C>, lt; Programación experta en C>, lt; C\C Exploración profunda>

De todos modos, no hay nada de malo en leer demasiados libros clásicos

2.asm (sintaxis ATamp; T, modo protegido) )

El modo protegido es más complicado, básicamente Cada libro sobre el kernel tendrá una introducción

Siempre que tenga los conceptos básicos de la sintaxis Intel 80x86,

Si estás interesado, puedes consultar el **** oficial de Intel

3. Estructura de datos (matemáticas discretas)

No entraré en detalles sobre su importancia como curso básico para estudiantes de informática

4. Principios del sistema operativo

Comprenda esto. Vaya a leer Linux nuevamente

5. Principios de microcomputadoras/principios de composición (circuitos digitales)

p>

La capa inferior está conectada directamente al hardware.

Necesitas lidiar con software, por lo que esto también es necesario

6. Entender Linux/Unix

Creo que al menos debes poder operarlo y comprender la API de Unix

7. Principios de ingeniería de software/compilación

Puedes encontrar muchos libros clásicos en esta área

Creo que libros como APUE no son adecuados para principiantes, así que leamos. Primero, UPE puede aprender el conocimiento del sistema operativo Linux.

Por favor consulte