Historia wyjaśnia, dlaczego istnieją tryby ósemkowe , ale myślę, że funkcjonalność jest przyczyną istnienia formy mnemonicznej. Wszystkie punkty dotyczące innych narzędzi wykorzystujących wyłącznie tryby ósemkowe są całkowicie poprawne i myślę, że musisz się ich nauczyć i poznać. Niemniej jednak uważam, że konserwatywni administratorzy nie widzą prawdziwej użyteczności, która pochodzi z postaci mnemonicznej.
Forma ósemkowa, szczególnie używana rekurencyjnie, zmusza administratorów do robienia głupich rzeczy. A raczej dodane zaniedbanie powoduje, że okazuje się głupie. Ilekroć natkniesz się na jakiś folder z dużą ilością plików tekstowych i x
ustawionym bitem, masz dowód.
Dlaczego ktoś miałby tak ustawić x
? Ponieważ trudno jest tego nie zrobić, chyba że użyjesz formy mnemonicznej dla trybów. Zastanów się, czy chcesz zresetować uprawnienia /var/www
i nie uruchamiasz CGI w starym stylu, więc x
bit powinien zostać usunięty. Jednak x
bit służy do innego celu w katalogach. W rezultacie robisz coś root
takiego jak:
chmod -R 666 /var/www
find /var/www -type d -exec chmod 777 {} \;
Jeśli jednak używasz formy mnemonicznej, możesz nadać jej „przepis”:
chmod -R a=rwX /var/www
która jest krótką formą chmod -R ugo=rwX /var/www
(osiągnięcie tej samej, ale innej ścieżki:) chmod -R a-x,a+rwX /var/www
.
Ale jest jeszcze jedna rzecz, która jest bardziej trywialna, której nie można osiągnąć za pomocą trybów ósemkowych. Nie można wyregulować user
lub group
lub other
maska indywidualnie z postaci ósemkowej.
W skrócie: to jak porównywanie skalpela (mnemonika) i ostrego noża kuchennego (ósemki) ... ale wciąż musisz znać bity trybu ósemkowego z innych powodów :)
Myślę, że powodem, dla którego nadal preferowane są tryby ósemkowe , jest nie pisanie w trybie mnemonicznym, ale zbyt konserwatywni administratorzy. I tak, dzwoniąc w 2013 roku, ci nadmiernie konserwatywni administratorzy nadal istnieją i są tu na jakiś czas.
chmod
w Perlu lub C wymaga użycia reprezentacji ósemkowej, nie jest tak naprawdę zaletą, ponieważ reprezentacja już istniała.