Hoy me hicieron otra pregunta en uno de mis propios grupos de tecnología, así que lo expliqué de manera común e hice un registro. ¡Vamos a ver si la explicación es clara!
El shell puede ver a menudo: > /dev /null 2 > &1
El resultado del comando se puede definir en forma de% >
Descomponga esta combinación: " > /dev /null 2 > &1 " para cinco partes.
1: > Representa dónde redirigir, por ejemplo: echo " 123 " > /home/123.txt2:/dev/null para archivos de dispositivo vacíos 3: 2 > para el error estándar 4 de stderr: &significa equivalente, 2 > &1, lo que indica que la redirección de salida de 2 es equivalente a 15: 1 para la salida estándar estándar, el valor predeterminado del sistema es 1, por lo que " > /dev /null " es equivalente a " 1 > /dev /null "
Por lo tanto, > /dev /null 2 > &1 también se puede escribir como " 1 > /dev /null 2 > &1 "
Así La ejecución de la declaración en el título de este artículo es: 1> /dev /null: primero, la salida estándar se redirige al archivo de dispositivo vacío, es decir, no se envía información al terminal. En pocas palabras, no se muestra información. 2 > &1: A continuación, la salida de error estándar se redirige a la salida estándar porque la salida estándar se ha redirigido a un archivo de dispositivo vacío, por lo que la salida de error estándar también se redirige al archivo de dispositivo vacío.
¿Está claro, todo el mundo lo entiende?
Por cierto, ¡compare los beneficios de este uso!
Las formas más comunes son:
comando > archivo 2 > archivo y comando > archivo 2 > &1
¿Hay alguna diferencia?
El primer comando > archivo 2 > archivo significa enviar la información de salida estándar generada por el comando, y la información de salida incorrecta a file.command > file 2 > file De esta manera, stdout y stderr Se envían directamente al archivo, y el archivo se abrirá dos veces, de modo que stdout y stderr se sobrescriban entre sí. De esta manera, el FD1 y el FD2 se utilizan para capturar el archivo. El comando > file 2 > &1 enviará stdout directamente al archivo. Después de que stderr hereda la canalización FD1, se envía al archivo. En este momento, el archivo solo se abre una vez y solo se utiliza una canalización. FD1, que incluye los contenidos de stdout y stderr. Desde la eficiencia de IO, la eficiencia del comando anterior es menor que la del último. Por lo tanto, al escribir un script de shell, escribiremos el comando > archivo 2 > &1 más a menudo.
Con respecto a la estructura del circuito, ya sea una fuente de alimentación lineal, una fuente
Nginx versión 0.7.48 desde el principio, el soporte de almacenamiento en caché de Squid una función
Con el rápido desarrollo de Internet, cada vez más personas obtienen información a través del ordena
Primero, lo que es haproxyHAProxy proporciona alta disponibilidad, equilibrio de carga y agentes ba
Consejos para usar la cámara en el sistema operativo Linux
Modo común Ruido Modo diferencial Diferenciación y generación de ruido
Ejecutar comandos DOS en un entorno Linux El sistema Linux
Use SVN (comando svn) bajo Linux
El comando de captura de paquetes de Linux
Instalar RedHat Linux con Oracle VM VirtualBox
Cómo construir un servidor vpn l2tpd con centOS5.5
Métodos detallados de enrutamiento de software Linux añadido
Resumen de la práctica de configuración de NIC dual bajo el sistema Linux
Varios métodos de zona horaria cambia Linux
Utilice openssl para completar la conversión mutua entre el certificado X509 y el certificado PFX.
Cómo configurar el control de banda ancha IP del enrutador para la computadora Win7
Cómo mostrar el cuadro de diálogo de confirmación de eliminación en Win8
Las particiones ocultas en el disco duro hacen que los datos de la computadora sean más seguros
Modifique la dirección MAC de Linux en la máquina virtual VMware
Hablando del choque causado por la resonancia entre la placa base y el ventilador de enfriamiento