Articles of file descriptors

Cómo leer la input del usuario al usar script en la tubería

Problema general Quiero escribir una secuencia de commands que interactúa con el usuario a pesar de que está en el medio de una cadena de tuberías. Ejemplo concreto Concretamente, toma un file o stdin , muestra líneas (con numbers de línea), le pide al usuario que ingrese una selección o numbers de línea, y luego […]

stderr sobre ssh -t

Esto envía salida a STDERR, pero no propaga Ctrl + C (es decir, Ctrl + C matará a ssh pero no a la sleep remota): $ ssh localhost 'sleep 100;echo foo ">&2"' Esto propaga Ctrl + C (es decir, Ctrl + C matará a ssh y al modo de sleep remota), pero envía STDERR a […]

¿Por qué el process de sustitución <() no funciona con ssh -F

Tengo algunas máquinas virtuales vagabundas. Para iniciar session en ellos, vagrant ssh command vagrant ssh . Quiero iniciar session con el command regular ssh . El vagrant ssh-config genera el file de configuration adecuado $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /home/cbliard/.vagrant.d/insecure_private_key IdentitiesOnly yes […]

Orden de salida con sustitución de process

Esto es lo que suelo hacer para ejecutar grep y wc en un file sin tener que escanearlo dos veces <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null Sin embargo, esto rinde EXEC LITERAL 32 a veces y 32 EXEC LITERAL en otros times. (La salida de grep precede a la salida de wc en la […]

¿Cuál es la diferencia entre & 6 y / dev / fd / 6?

Para leer el descriptor de file 6, puedo usar <&6 o </dev/fd/6 (también conocido como /proc/self/fd/6 ). Usualmente ambos funcionan igual de bien. Sin embargo, si ese descriptor de file resulta ser un socket, suceden cosas extrañas. Por ejemplo: $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6' 6</dev/tcp/localhost/12345 lrwx—— 1 michas michas 64 Jan 10 19:50 […]

Redirección de salida del progtwig

Al intentar networkingirigir la salida del progtwig con la syntax "algunos numbers mayores que" (por ejemplo, foo 2> myfile ), ¿cuáles son los posibles numbers aquí y qué representan? Creo que 1 es /dev/stdout , 2 es /dev/stderr . ¿Qué hay de 5 y 6? ¿Hay 3, 4 o algún número mayor que 6?

En el código "{exec> / dev / null; }> / dev / null "¿Qué está pasando debajo del capó?

Cuando se networkingirige una list de commands que contiene una networkingirección de ejecución, el exec> / dev / null parece que aún no se aplica después, como con: { exec >/dev/null; } >/dev/null; echo "Hi" "Hola" está impreso. Tenía la printing de que {} list de commands no se considera una subcadena a less que […]

Límites en el número de descriptores de files

389-ds instalar 389-ds , y me da esta advertencia: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. Entiendo acerca de los descriptores de files, pero no entiendo los límites suaves y duros. Cuando lo hago cat /proc/sys/fs/file-max Me sale: 590432 Eso significa que puedo abrir hasta […]

¿Cómo terminar una connection TCP establecida por bash mismo?

He utilizado el exec 3<>/dev/tcp/192.168.0.101/6435 para establecer una connection TCP con 192.168.0.101:6435. Y he recibido y enviado algunos posts con el command pipe . Ahora, quiero terminar la connection TCP. Pero, con ss -anpet , puedo ver que bash tiene esta connection, sin bifurcar un process secundario. Intenté enviar las señales 9 y 15 al […]

¿Cuál es el propósito del primer argumento para seleccionar la llamada al sistema?

Del man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds es el descriptor de file con el número más alto en cualquiera de los tres sets, más 1. ¿Cuál es el propósito de nfds , cuando ya tenemos readfds , writefds y exceptfds , a partir de los cuales […]