04 canalizaciones, redireccionamientos y variables de entorno

Si los comandos de Linux no se pueden usar en combinación, la eficiencia del trabajo no se puede mejorar.

Los cinco modos de la tecnología de redirección: redirección de salida de sobrescritura estándar, redirección de salida adicional estándar, redirección de salida de sobrescritura de error, redirección de salida adicional de error y redirección de entrada.

image.png
Redirección de entrada y salida

        Formato: "Comando A archivo de símbolo de redireccionamiento"

        La redirección de entrada se refiere a la importación de un archivo en un comando, mientras que la redirección de salida se refiere a escribir la información de datos que originalmente se enviará a la pantalla en un archivo específico. En comparación con la redirección de entrada, la redirección de salida se usa con más frecuencia, por lo que la redirección de salida se divide en dos tecnologías diferentes, redirección de salida estándar y redirección de salida de error, y dos modos de escritura clara y escritura adjunta. .        

        Redirección de entrada estándar (STDIN, el descriptor de archivo es 0): entrada desde el teclado de forma predeterminada o entrada desde otros archivos o comandos.

        Redirección de salida estándar (STDOUT, el descriptor de archivo es 1): la salida predeterminada es la pantalla.

        Redirección de salida de error (STDERR, descriptor de archivo 2): la salida predeterminada es la pantalla.

image.pngimage.png

            Observaciones: Use ">" cuando ingrese información normal en el archivo, y use "2>" cuando ingrese información de error en el archivo. Si no distingue entre información normal y de error, puede usar "&>".

                        Ejemplo:

                                man bash> readme.txt #Modo de salida estándar en la redirección (escriba la información que el comando man bash originalmente tenía la intención de aparecer en la pantalla en el archivo readme.txt)

                                echo "Bienvenido a Linux"> readme.txt # Sobrescribir escritura en tecnología de redirección

                                echo "Materiales de aprendizaje linux de calidad" >> readme.txt # Escritura adicional en tecnología de redirección

                                ls -l linuxxxxxx 2> /root/stderr.txt #Registre la información del error en el archivo /root/stderr.txt 

                                wc -l <readme.txt #Utilice el contenido del archivo como información de entrada estándar, impórtelo en el comando y cuente el número de líneas del archivo.

                

         tee: La instrucción leerá datos del dispositivo de entrada estándar, enviará su contenido al dispositivo de salida estándar y lo guardará como un archivo, el formato de sintaxis: tee [parámetro] [archivo].

        

Símbolo de comando de tubería (| cualquier puerta)

        Formato: "Comando A | Comando B"

        Función: Considere los datos normales estándar enviados originalmente a la pantalla por el comando anterior como la entrada estándar del comando siguiente.        

image.png

                    Ejemplo:

                grep "/ sbin / nologin" / etc / passwd | wc -l #Descubre todos los usuarios que están restringidos a iniciar sesión en el sistema haciendo coincidir las palabras clave / sbin / nologin y cuenta el número de líneas de texto

                ls -l / etc / | more #Ver la lista de archivos y la información de atributos en el directorio / etc pasando las páginas

                echo "user" | passwd --stdin root #Cuando se modifica la contraseña de un usuario, normalmente es necesario introducir la contraseña dos veces para confirmarla, lo que se convertirá en un defecto muy grave al escribir scripts automatizados. Al combinar el carácter de barra vertical con el parámetro --stdin del comando passwd, se puede usar un comando para completar la operación de restablecimiento de contraseña

                echo "Contenido" | correo -s "Asunto" usuario # Enviar correo a otros usuarios de esta máquina

                mail -s "Readme" [email protected] << over # Se utiliza el delimitador entre el comando de correo y la redirección de entrada. El propósito es mantener al usuario ingresando contenido hasta que ingrese su delimitador personalizado. Fin de entrada.

                                grep / bin / bash / etc / passwd | wc -l # Consultar el número de usuarios que pueden iniciar sesión en el sistema

                                echo 123456 | passwd --stdin user # Un comando para establecer la contraseña del usuario

Comodín en la línea de comando

                *Representa cero o más caracteres coincidentes

                ?Representa la coincidencia de un solo carácter

                [0-9] Representa un carácter que coincide con un solo dígito entre 0-9

                [a, b, c] significa coincidir con cualquiera de los tres caracteres a, b, c, y no se informará ningún error si no hay coincidencia

                {a, b, c} coincide con la letra especificada, habrá un mensaje de error si no hay coincidencia

                [az] representa las 26 letras minúsculas de az

                [AZ] representa las 26 letras mayúsculas de AZ

image.png

                Ejemplo:

                    ls -l / dev / sda *

                    ls -l / dev / sda?

                    ls -l / dev / sda [0-9]

                    ls -l / dev / sda [135]


Caracteres de escape de uso común

                Barra invertida (\): convierte una variable después de la barra invertida en una cadena simple.

                Comillas simples (''): escape todas las variables en él como cadenas simples.

                Comillas dobles (""): mantenga los atributos de la variable en él, sin escapar.

                Cita inversa (``): Devuelve el resultado después de ejecutar el comando.

                    Ejemplo:

                        echo `uname -a` No ejecuta el comando, genera el comando en caracteres


Variable ambiental

                Paso 1: Determine si el usuario ingresa el comando (como / bin / ls) en una ruta absoluta o una ruta relativa, y si es así, ejecútelo directamente.

                Paso 2: El sistema Linux verifica si el comando ingresado por el usuario es un "comando de alias", es decir, reemplaza el nombre del comando original con un nombre de comando personalizado. Puede utilizar el comando alias para crear su propio alias de comando en el formato "alias alias = comando". Para cancelar un alias de comando, use el comando unalias, el formato es "alias unalias".

                Paso 3: El intérprete de Bash determina si el usuario ingresó un comando interno o externo. Los comandos internos son comandos dentro del intérprete y se ejecutarán directamente; y el usuario ingresa comandos externos la mayor parte del tiempo, y estos comandos se transfieren al paso 4 para continuar con el procesamiento. Puede usar "escribir nombre de comando" para determinar si el comando ingresado por el usuario es un comando interno o externo.

                Paso 4: El sistema busca el archivo de comando ingresado por el usuario en múltiples rutas, y la variable que define estas rutas se llama PATH, que puede entenderse simplemente como un "pequeño asistente del intérprete", que le dice al intérprete Bash que espere La ubicación donde se puede almacenar el comando ejecutado, y luego el intérprete de Bash buscará obedientemente en estas ubicaciones una por una. PATH es una variable compuesta por múltiples valores de ruta. Cada valor de ruta está separado por dos puntos. La adición y eliminación de estas rutas afectará la búsqueda de comandos de Linux por parte del intérprete de Bash.

image.png


                        Después de hacerse cargo de un sistema Linux, primero debe verificar si hay un directorio sospechoso en la variable PATH antes de ejecutar el comando.

                        Utilice el comando de exportación para promover variables ordinarias a variables globales.

                        Para que la variable declarada tenga efecto de forma permanente, debe cambiar el archivo / etc / profile o ~ / .bashrc.

                        Mostrar todas las variables de entorno en el sistema: env (entorno)

                        Mostrar todas las variables: establecer                        


otro

        Modificar solicitud   

                    PS1 = Nombre (modificar hacia atrás, salir para salir, reiniciar)

                    Modifique permanentemente vim ~ / .bashrc, agregue PS1 = name en una nueva línea en el archivo, guarde y salga, salga y luego reinicie la terminal

 


Supongo que te gusta

Origin blog.51cto.com/14032821/2593403
Recomendado
Clasificación