Przenoszę witrynę z jednego serwera na drugi, a Git nie przechowuje metadanych, takich jak uprawnienia do plików. Muszę znaleźć katalogi i pliki, które nie są odpowiednio 775/664.
W tej chwili używam tego brukowanego urządzenia:
$ find . -type d -exec ls -la {} \; | grep ^d | grep -v ^drwxrwxr-x
$ find . -type f -exec ls -la {} \; | grep -v ^d | grep -v ^-rw-rw-r-- | grep -v '.git'
Chociaż to działa, wydaje mi się, że jest raczej zuchwały. Czy jest na to lepszy sposób, może kanoniczny, czy powinienem być po prostu hackerski?
Działa to na najnowszej wersji Ubuntu z narzędziami GNU pod Bash.
permissions
find
dotancohen
źródło
źródło
-not
to nie jest standard POSIX;!
zamiast tego używają .Nie mam pojęcia, co twój kod próbował osiągnąć. Zwykle powodem znajdowania plików i katalogów z niepoprawnymi uprawnieniami jest ich zmiana.
Właśnie tego z powodzeniem używam w Ubuntu 16.04
To pokazuje! symbol ucieka
źródło