ファイルの chmod を変更するが、ディレクトリは変更しない
2023-10-06 11:26:36
質問
私は、すべてのファイルを 664 に再帰的に変更するために chmod を使用する必要があります。私は、フォルダをスキップしたいと思います。 私はこのようなことをすることを考えていた
ls -lR | grep ^-r | chmod 664
これは動作しません、私は私がchmodにパイプすることができないので、私は推測しています。 誰かこれを行うための簡単な方法を知っていますか?
ありがとうございます。
どのように解決するのですか?
A
find -exec
の答えは良いものですが、ファイルごとに個別のサブプロセスを作成するという、通常は無関係な欠点に悩まされます。しかし、これは完全に機能的であり、ファイルの数が
本当に
が大きくなったときだけです。使用方法
xargs
を使うと、ファイル名を大きなグループにまとめてから、 そのグループの
グループ
のサブプロセスを実行します。
ただ、注意しなければならないのは
xargs
を使用する際に、スペース、改行、その他の特殊文字が埋め込まれたファイル名を適切に処理することに注意してください。
これらの問題の両方を解決する解決策は、(十分にまともな
find
と
xargs
の実装)。
find . -type f -print0 | xargs -0 chmod 644
は
-print0
は
find
は出力ストリームのファイル名をスペースではなく NUL 文字で終了させ、さらに
-0
から
xargs
に変更することで、入力フォーマットとしてそれを期待することを知らせます。
関連
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
-
[解決済み] 指定した文字列パターンを含まないファイルを検索するにはどうすればよいですか?
-
[解決済み] Unixでテキストファイルからあらかじめ決められた範囲の行を抽出するには?
-
[解決済み】特定の拡張子を持つファイルのみを再帰的にgrepするにはどうすればよいですか?
-
[解決済み】2つの異なるディレクトリに存在するDiffファイル
-
[解決済み】再帰的にChmodする
-
[解決済み】ファイルの途中の特定の行を表示するための簡単なunixコマンド?
-
[解決済み] UNIXでファイルの追加はアトミックですか?
-
[解決済み] vimで新しいファイルを新しいウィンドウで開く方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] less' で行番号を表示する方法 (GNU)
-
[解決済み] ファイルディスクリプタとは何か、わかりやすく解説します。
-
[解決済み] ダッシュ/ハイフンで始まる文字列をgrepするにはどうしたらいいですか?
-
[解決済み] ファイルにテキストを前置するUnixコマンド
-
[解決済み] シェルスクリプトにヘルプメソッドを追加するにはどうすればよいですか?
-
[解決済み] findコマンドでファイルサイズをファイル名と一緒に出力するにはどうしたらいいですか?
-
[解決済み] UNIXでファイルの追加はアトミックですか?
-
[解決済み] CSVファイルをsortコマンドで列の優先順位で並べ替える
-
[解決済み] Go言語でUnixのタイムスタンプを取得する(エポックからの秒数で現在の時刻を表す)
-
[解決済み] cat の出力を cURL にパイプし、ファイルのリストをダウンロードする