Notez le titre de votre question :
Supprimer et ajouter une autorisation en utilisant la notation numérique sur la même ligne
Avec chmod
de GNU coreutils, que vous avez probablement sur un système Linux, vous pouvez utiliser
$ chmod -020,+004 test.txt
pour faire ça. Cela fonctionne de manière évidente :chiffre du milieu pour le groupe, 2
est pour écrire; et dernier chiffre pour "autres", et 4
pour lecture.
Pouvoir utiliser +
ou -
avec un mode numérique est une extension GNU, par ex. le chmod
basé sur BSD sur mon Mac donne une erreur pour +004
:
$ chmod +004 test.txt
chmod: Invalid file mode: +004
Il serait donc plus simple, plus court, plus portable et probablement plus lisible d'utiliser uniquement la forme symbolique :
$ chmod g-w,o+r test.txt
EDIT :En voyant la réponse d'ilkkachu, je l'ai testé et la syntaxe qu'il décrit fonctionne, mais la page de manuel de mon système (que j'avais vérifiée) indique
peut être soit une représentation symbolique des modifications à effectuer, soit un nombre octal représentant le modèle de bits pour les nouveaux bits de mode
ce qui m'a amené à écrire la réponse originale (ci-dessous). Je suppose que c'est un nouveau changement et qu'ils ont oublié de mettre à jour la page de manuel.
Réponse originale ci-dessous :
Le titre de vos questions mentionne "notation numérique", si vous entendez par là spécifier des modes sous forme de nombres octaux, la réponse est que vous ne pouvez pas spécifier de changements avec cela, uniquement le nouveau mode du ou des fichiers.
Comme le dit la 2ème ligne de la page de manuel :
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...
ou la 1ère ligne de chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...