L’utilisation des codes octaux a deux avantages auxquels je peux penser, et aucun d’eux n’est aussi énorme:
- Ils sont plus courts, plus faciles à taper.
- Certaines choses ne les comprennent que bien, et si vous les utilisez régulièrement, vous ne vous gratterez pas la tête (ou ne courrez pas vers la documentation) lorsque vous en rencontrez une. Par exemple, vous devez utiliser octal pour
chmod
Perl ou C.
Parfois, des utilitaires très simples ne gèrent pas les versions "conviviales"; en particulier dans les utilisateurs non-GNU.
De plus, certains utilitaires crachent octal. Par exemple, si vous essayez umask
de voir ce que votre umask actuel est, il le crachera en octal (bien que bash soit umask -S
symbolique).
Donc, en bref, je dirais que la seule raison de les préférer est de taper moins de caractères, mais que même si vous choisissez de ne pas les utiliser, vous devez savoir comment ils mappent afin que vous puissiez trouver un code octal si vous exécutez dans l'une des choses qui ne fait que l'octal. Mais vous n'avez pas besoin de savoir immédiatement que 5 cartes à rx
, vous devez seulement être capable de comprendre cela.
chmod
Perl ou en C, il faut utiliser la représentation octale n'est pas vraiment un avantage, vu que la représentation existait déjà.Je suppose que j'utilise octal depuis trop longtemps.
7 est rwx (faites n'importe quoi avec), 5 est rx (vous devez le lire pour l'exécuter), 6 est wr (tout fichier de données que vous devez modifier), 4 est r (nous vous laisserons regarder), et 0 est - (désolé, rien ici à voir). Et l'ordre, c'est moi, nous, tout le monde. Ce sont les combinaisons de base.
755 Je peux changer et l'exécuter, tout le monde peut l'exécuter.
644 Je peux le changer, tout le monde peut le lire.
444 Lecture seulement pour tout le monde, nous sommes à travers ici.
500 Je peux l'exécuter, je ne veux pas que ça change, tout le monde passe la main.
Pour moi, c'est court, au point. 9 caractères et une spécification de fichier et aller de l'avant.
la source
Je n'ai jamais vraiment apprécié la représentation octale, je suis toujours allé droit au but
rwxr-xr-x
notation , car cela me semble plus simple. Cependant, d'après ce que je comprends, la représentation octale existe pour nous permettre de nous souvenir plus facilement (je ne vois pas comment cela fonctionne).Le seul autre avantage possible que je vois avec octal est le manque d'ambiguïté. Les 8 configurations de bits de permission différentes sont représentées par un seul numéro distinct, ce qui, j'en suis sûr, aide certaines personnes à placer accidentellement une
w
emplacement qu'elles n'auraient pas dû.Malheureusement, j'ai mémorisé ce tableau:
la source
/tmp
, y compris le bit sticky) prend 12 bits, une taille pratique sur PDPs, en particulier le PDP-8. S'ils avaient opté pour l'hex, une application naturelle d'un jeu d'autorisations par chiffre hexadécimal aurait nécessité une machine à mot de 16 bits et plus, contrairement à tous les PDP. Cela aurait également gaspillé 3 bits ou exigé qu'ils inventent une utilisation de ces bits, ce qui aurait probablement compliqué les permanences Unix sans aucun avantage réel.Je pense que la raison est encore - histoire. Au début, les valeurs octales étaient les seules. Les symboliques sont venus plus tard.
Je préfère les symboliques. Surtout si vous souhaitez modifier les valeurs existantes sans toucher aux autres portions.
Comme
chmod -R u=rwx,g-w+X,o=-
faire ça en octal ...la source
Notez que les modes octaux peuvent supprimer les bits setuid et setgid sur certains systèmes.
Fedora 16:
(le
2
est préservé)FreeBSD 9:
(le
2
est devenu un0
)Si vous souhaitez modifier les autorisations d'un fichier ou d'un répertoire, il peut être préférable de spécifier uniquement les bits que vous souhaitez modifier (par exemple
chmod o= dir
ouchmod o-rwx dir
dans l'exemple ci-dessus).la source
L’histoire explique pourquoi les modes octaux existent , mais je pense que la fonctionnalité est la raison pour laquelle la forme mnémonique existe. Et tous les points concernant d’autres outils utilisant exclusivement des modes octaux sont parfaitement valables et je pense que vous devez les apprendre et les connaître. Néanmoins, je trouve que les administrateurs conservateurs ne voient pas le véritable utilité de la forme mnémonique.
La forme octale, surtout lorsqu'elle est utilisée de manière récursive, a tendance à forcer les administrateurs à faire des choses stupides. Ou plutôt, une négligence supplémentaire a pour résultat qu'il s'avère stupide. Chaque fois que vous rencontrez un dossier avec beaucoup de fichiers texte et le
x
bit défini, vous avez la preuve.Pourquoi quelqu'un définirait-il le
x
bit comme ça? Parce qu'il est difficile de ne pas utiliser la forme mnémonique pour les modes. Considérez que vous souhaitez réinitialiser les autorisations sur/var/www
et que vous n'exécutez aucun fichier CGI de style ancien; lex
bit doit donc être supprimé. Cependant, lex
bit sert un autre but sur les annuaires. Donc, vous finissez par faire quelque choseroot
comme:Si, toutefois, vous utilisiez la forme mnémonique, vous pouvez lui donner une "recette":
qui est la forme courte de
chmod -R ugo=rwX /var/www
(obtenir le même chemin, mais un chemin différent:chmod -R a-x,a+rwX /var/www
.Mais il y a une autre chose plus triviale qui ne peut pas être réalisée avec les modes octaux. Vous ne pouvez pas ajuster le
user
ougroup
ouother
masque individuellement avec la forme octale.En bref: c'est comme comparer un scalpel (mnémonique) et un couteau tranchant (octal) ... mais vous devez tout de même connaître les bits en mode octal pour d'autres raisons :)
Je pense que la raison pour laquelle les modes octaux sont toujours préférés n’est pas davantage liée à la dactylographie mais plutôt aux administrateurs trop conservateurs. Et oui, en 2013, ces administrateurs trop conservateurs existent toujours et sont là pour rester pendant un certain temps.
la source
Lorsque vous devez modifier les autorisations des fichiers à tout moment , vous appréciez les 3 caractères. J'utilise souvent le
+
ou-
versions pour modifier les autorisations.Par exemple, je crée un nouveau script PHP, Python ou autre dans mon dossier apache.
chmod a+x
C’est tout ce que je fais pour pouvoir le lancer. Je l'ai lu comme "tout plus exécuter". Maintenant, je sais que ça va marcher, et je n'avais besoin que de 3 caractères.D'autres fois, j'utilise 644 et 755 automatiquement. Je pense simplement que cela
644
signifie un fichier,755
un script.la source
Cela correspond parfaitement aux paramètres umask, qui sont généralement donnés en écriture octale (en
pam
oufstab
).la source
Je suggère que l'une des raisons importantes est que la représentation octale correspond étroitement à ce que vous voyez
ls -l
(ou plutôt, elle le fait lorsque vous convertissez mentalement entre octal et binaire).la source