ディレクトリ内のすべてのディレクトリを選択するワイルドカードとは


13

ファイルを除くディレクトリ内のすべてのディレクトリにスティッキービットを設定したい。これを行うためのワイルドカードはありますか?

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

回答:


24

*/ディレクトリのみを照合するために使用します。

chmod g+s /var/www/*/

すべてのディレクトリとサブディレクトリを使用するには**/*/globstarbashで有効にしている場合):

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

2
うまく機能しますが、展開されたコマンドラインの長さがコマンドラインの長さの制限を超えるとすぐに壊れます。-> cyberciti.biz/faq/argument-list-too-long-error-solution
Scott

1
はい、私はそれをよく知っています。ただし、OPは「ワイルドカード」を要求しました。
dogbane

うん!私はワイルドカードを求めました、thanq。
ネックウィ

私は彼がワイルドカードの解決策を求めたことを知っています。状況によっては失敗することを指摘しただけです。それ以外は、ここで確認する必要はありません(ほとんどの場合に有効なソリューションであるため、コメントしていますが、まだ賛成しています)^^
ボンシスコット

13

findを使用できます。以下の例を参照してください

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

3
このものの素敵な、まだありませんワイルドカードである-それはかなりのディレクトリに起因する障害が発生していないの利点を持っている
Bonsiスコット

これはデフォルトで再帰的であることに注意してください。コマンドをトップレベルにのみ適用する場合は、-maxdepth find引数を使用できます。
クリスハーパー

0

これはワイルドカードではありません、私は非答えを謝罪ので、しかし...
ls -al |grep ^d | awk '{print$NF}'処理したい場合は、現在のディレクトリ内のすべてのディレクトリの一覧が表示されます、それは決定するのはあなた次第です.し、..またはそれらを取り除きます。

echo $(ls -al |grep ^d | awk '{print$NF}') ワイルドカードのように振る舞います


ファイルの先頭または末尾に空白、または改行がある場合、これは壊れます。
クリスダウン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.