Tomando nota del título de su pregunta:
Eliminar y agregar permisos usando notación numérica en la misma línea
Con chmod
de GNU coreutils, que probablemente tenga en un sistema Linux, podría usar
$ chmod -020,+004 test.txt
Para hacer eso. Funciona de la manera obvia:dígito medio para el grupo, 2
es para escribir; y último dígito para "otros", y 4
para leer.
Ser capaz de usar +
o -
con un modo numérico es una extensión GNU, p. el chmod
basado en BSD en mi Mac da un error para +004
:
$ chmod +004 test.txt
chmod: Invalid file mode: +004
Por lo tanto, sería más simple, más corto, más portátil y probablemente más legible usar solo la forma simbólica:
$ chmod g-w,o+r test.txt
EDITAR:Al ver la respuesta de ilkkachu, me hizo probar esto, y la sintaxis que describe funciona, pero la página de manual en mi sistema (que había verificado) dice
puede ser una representación simbólica de los cambios que se van a realizar o un número octal que representa el patrón de bits para los bits del nuevo modo
que fue lo que me hizo escribir la respuesta original (abajo). Supongo que es un nuevo cambio y que se olvidaron de actualizar la página del manual.
Respuesta original a continuación:
El título de sus preguntas menciona "notación numérica", si con eso quiere decir especificar modos como números octales, la respuesta es que no puede especificar cambios con eso, solo el nuevo modo de los archivos.
Como dice la segunda línea de la página man:
chmod g-w,o+r file
$ man chmod
CHMOD(1) User Commands CHMOD(1)
NAME
chmod - change file mode bits
SYNOPSIS
chmod [OPTION]... MODE[,MODE]... FILE...
o la primera línea de chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...