Se você os estiver passando para chmod
(o programa de linha de comando), não haverá diferença. Mas em um programa em C ou similar, 0777
é octal (três conjuntos de três 1 bits, que é o que você pretende), enquanto 777
é decimal e é um padrão de bit bem diferente. ( chmod
interpretará qualquer argumento numérico como octal, portanto, nenhum zero inicial é necessário).
0777 (octal) == binário 0b 111 111 111
== permissões rwxrwxrwx
(== decimal 511
)
777 (decimal) == binário 0b 1 100 001 001
== permissões sr----x--x
(== octal 1411
)