Was ist ein Platzhalter, um alle Verzeichnisse in einem Verzeichnis auszuwählen


13

Ich möchte Sticky-Bit für alle Verzeichnisse in einem Verzeichnis mit Ausnahme von Dateien festlegen. Gibt es dafür einen Joker?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

Antworten:


24

Verwenden Sie */diese Option , um nur Verzeichnisse abzugleichen.

chmod g+s /var/www/*/

Um alle Verzeichnisse und Unterverzeichnisse abzugleichen, verwenden Sie **/*/(sofern Sie globstarin Bash aktiviert haben ):

shopt -s globstar
chmod g+s /var/www/**/*/

2
Funktioniert gut, bricht jedoch ab, sobald die erweiterte Befehlszeilenlänge die maximale Befehlszeilenlänge überschreitet. -> cyberciti.biz/faq/argument-list-too-long-error-solution
Bonsi Scott

1
Ja, das weiß ich. Das OP bat jedoch um eine "Wildcard".
Dogbane

Ja! Ich bat um Platzhalter, thanq.
Necktwi

Ich weiß, dass er nach einer Wildcard-Lösung gefragt hat. Ich habe nur darauf hingewiesen, dass es unter Umständen scheitern würde. Abgesehen davon, keine Kritik hier zu sehen (ich habe kommentiert noch nicht bewertet, weil es eine funktionierende Lösung für die meisten Fälle ist) ^^
Bonsi Scott

13

Sie können find verwenden, siehe Beispiel unten

find /var/www/ -type d -exec chmod g+s {} \;

3
Das ist zwar nett, aber kein Joker - aber es hat den Vorteil, dass es nicht an vielen Verzeichnissen scheitert
Bonsi Scott

Beachten Sie, dass dies standardmäßig rekursiv ist. Wenn Sie möchten, dass Ihr Befehl nur auf die oberste Ebene angewendet wird, können Sie das -maxdepth findArgument verwenden.
Kris Harper

0

Dies ist kein Platzhalter, so dass ich für eine Nicht-Antwort entschuldigen, aber ...
ls -al |grep ^d | awk '{print$NF}'alle Verzeichnisse im aktuellen Verzeichnis auflisten, dann ist es an Ihnen zu entscheiden , ob Sie bearbeiten möchten .und ..oder sie abzustreifen.

echo $(ls -al |grep ^d | awk '{print$NF}') Tut macht es wie ein Platzhalter verhalten


Dies wird unterbrochen, wenn Ihre Dateien führende oder nachfolgende Leerzeichen oder Zeilenumbrüche enthalten.
Chris Down
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.