cp: 「-r」か「-R」か?

2026/10/01 0:44

cp: 「-r」か「-R」か?

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

中心的なメッセージは、GNU システムと BSD システムの間で、再帰フラグ(例:

-R
、
-r
、および
--recursive
)に関する歴史的な分断が存在することである。1992 年(GNU coreutils の最初のコミットにおいて)、
cp -R
と
cp -r
は異なる振る舞いを示していたが、2002 年に GNU ではこれらのオプションを統合し、
-R
、
-r
、および
--recursive
はいずれもディレクトリを再帰的にコピーするようにされた。一方、BSD を派生としたシステムでは区別を維持しており、OpenBSD 7.9 のマニュアルには
-R
のみが記載され、
-r
は強く推奨されていない。そのコードにおいても
Rflag
と
rflag
が区別されており、NetBSD も同様の振る舞いを示す。ユーティリティ
chown
は
-R
を使用するが、
-r
はサポートしていない。POSIX.1-2024 は、
-r
が BSD および BSD 派生システムでの歴史的な慣習であることを認めつつ、標準仕様から
-r
はもはや指定されていない(ただし一部の実装では見られる可能性がある)と述べている。また、一貫性の確保のため他の再帰的ディレクトリ降下オプションとの整合性を取るよう、
-R
を使用するよう推奨している。ハイブリッド環境を管理する管理者は、統合された振る舞いを前提としたスクリプトの使用を避けるべきであり、異なるオペレーティングシステム間での失敗を防ぐため、新規の開発ではデフォルトで POSIX に準拠し
-R
を用い、小文字フラグへの依存度を必要以上に後方互換性が要求されない限り段階的に廃止すべきである。

本文

cp
コマンドで
-R
と
-r
の違い:なぜ使い分けるべきか?

結論:現代では選択肢は一つに統一されています

現在、GNU Coreutils では

-R
および
-r
の両オプション間に実質的な違いはありません。最新のドキュメントによれば、両者は以下のように機能します。

  • -R
    ,
    -r
    ,
    --recursive
    • ディレクトリを再帰的にコピーする

歴史的経緯:34 年前の差別的仕様

かつてはこれらのオプションに明確な違いが存在しました。1992 年(34 年前)の GNU Coreutils の最初のコミットを確認すると、以下の処理が行われていました。

case 'r':
    flag_recursive = 1;
    flag_copy_as_regular = 1; // ファイルを通常扱いとしてコピー
    break;

case 'R':
    flag_recursive = 1;
    flag_copy_as_regular = 0; // 特殊な処理(当時の文脈)
    break;

かつての

-r
はファイル構造を平たく展開する傾向がありましたが、これは34 年前の話。現在でもこの振る舞いを維持しているシステムは存在しません。2002 年に両オプションが統合され、現在の標準環境では旧来の違いは無視されています。

推奨される記法:POSIX 標準への適合性

他のオペレーティングシステムや標準規格を見ると、

-R
を使用すべきである理由が明確になります。

OpenBSD と NetBSD

OpenBSD 7.9 や NetBSD 11 では、公式ドキュメント(man ページ)およびソースコードにおいて

-r
の使用は強く推奨されておらず、
-R
が標準的です。内部実装では
Rflag
と
rflag
が別々の挙動を示す可能性があります。

ユーティリティ間の互換性

-R
を使用する利点は、異なるユーティリティ間での一貫性にあります。

  • 例:
    chown -R
    は標準的に動作しますが、
    chown -r
    はサポートされていません。

POSIX.1-2024 の姿勢

最新の POSIX 標準は明確に

-R
を採用しています。

この標準の以前の実装では、ファイル階層をコピーする

-r
オプションへの対応を含めていました。
-r
オプションは BSD および BSD 由来のシステムにおける歴史的な慣行です。 POSIX.1-2024 ではこのオプションはもはや規定されていませんが、いくつかの実装では存在し続ける可能性があります。 一方、
-R
オプション
は
-r
オプションとのほぼ同義として追加され、本書の POSIX.1-2024 に含まれる他の再帰的ディレクトリ降下を行うすべてのオプションと一貫性を保つために選択されました。

まとめ

項目結論
現代の GNU
-R
と
-r
は機能同等だが、
-R
が推奨
される
BSD システム
-r
は歴史的慣習だが、現在は -R が標準
将来性POSIX 標準では
-r
は廃止予定であり、-R で統一するべき

迷ったら、いつでも -R を使用してください。

同じ日のほかのニュース

一覧に戻る →

2026/10/04 21:51

Qwen3.8Flash Next(125B)を消費者向けハードウェア(RTX4090)上で100T/sで動作させます

## Japanese Translation: Strata は、ISTA-DASLab、UkisAI、Unsloth によって開発されたオープンソースで MIT ライセンス付与のプラットフォームであり、Windows または Linux PC に NVIDIA または AMD GPU(VRAM 12GB 以上)を搭載している場合、完全にオフラインで強力な Qwen3.8-Flash-Next AI モデルを実行することを可能にします。必要最低限のリソースとしては、RAM 32GB と空きディスク領域約 80GB が求められます。このローカル実行は、情報をデバイス外に出さないことによりデータプライバシーを確保します。RTX 5070 でのベンチマークでは、プロンプト読み取り速度が 2,600 トークン/秒を超え(Q2_0 では書き込み速度最大 94 トークン/秒)、モデルサイズや圧縮レベルにより異なります。この効率は、GPU、RAM、CPU にわたってタスクを知的に分配するユニークな「共有メモリー」アーキテクチャによって達成されており、これにより数千個の専用プロセッサを効果的にシミュレートしています。ユーザーは自動インストーラーを通じて Strata をインストールでき、ハードウェアチェックを行い、モデルを選択(Q2_0、IQ2_XS、Coder および Unsloth/OrcaRouter からの実験的バリエーションなど)、約 70GB のダウンロードを行い、特定の GPU に合わせてエンジンを設定します。「Coder」バリエーションはコード生成に最適化されており(SWE-bench Verified スコアの 91% を達成)、プログラミング文脈外の一般的な CJK テキストタスクでは性能が劣ります。画像処理は NVIDIA カードでサポートされており、AMD カードは Linux ではソフトウェアレンダリングを通じて画像処理が可能ですが、Windows ではまだ対応していません。そのため、セットアップ時に画像サポートを「はい」に選択する必要があります。Strata は Cursor、GitHub Copilot、Claude Code などのコーディングアシスタントと統合でき、`http://127.0.0.1:8080/v1` で OpenAI 互換プロバイダーとして動作します。一般的なインストールに関する注意点には、初期のフリーズは正常であり、低速は空き RAM の不足を示す可能性があること、ポート 8080 の競合は他のインスタンスが実行中の場合に起こり得ることが含まれます。本プロジェクトではマルチ GPU セットアップもサポートしており、設定、アップデート、トラブルシューティングについては `docs/TROUBLESHOOTING.md` などのドキュメントリンクを通じて管理できます。

2026/10/05 4:42

macOS 27 で Apple Intelligence をオフにするとディスク容量を取り戻せる

## Japanese Translation: RemoveMacAI の主たる目的は、マクロシステムファイルを変更せず、かつ深い技術的介入を必要とせずに macOS 27(以降)で Apple Intelligence の機能を安全に無効化することにあります。構成プロファイルを適用し、ダウンロードされたモデルを削除することで、このツールは Siri、Writing Tools、Genmoji、Image Playground、および予測機能など特定の AI 機能を効果的に無効化します。ただし、別々の音声モデルを使用する標準的なディクテーション機能は維持されます。さらに重要なのは、システム設定内でユーザーの承認を義務付けることにより、オペレーティングシステムがこれらのモデルを自動的に再ダウンロードすることを防止することです。このプロセスはシステムインテグリティプロテクションを維持し、ネットワークリクエストを生成しないため、Apple Silicon ハードウェア上のユーザーに堅牢なプライバシーとセキュリティを保証します。MIT ライセンスの下で 4evy が開発した本ユーティリティは、macOS のアップデート後も存続する永続的なソリューションを提供します。ストレージ設定では一時的に AI 機能がリスト表示される場合がありますが、マクロシステムにより後から削除されるため、コア機能は引き続き無効化された状態となります。完全な機能を復元したい場合や特定の機能を管理したい場合は、各種コマンド(例:`removemacai off --keep <features>`)を使用でき、必要に応じて Homebrew を経由してツールをアンインストール (`brew uninstall removemacai`) することで変更を元に戻すことも可能です。インストールは、curl スクリプトを直接実行することと、Homebrew を通じての両方がサポートされています。

2026/10/05 4:37

不適切な編集により、Google データセンターの水道・電力使用量が露見した

## Japanese 訳: ネブラスカ州のデータセンターは、ジム・ピレン知事の 7 月 20 日付実行命令に従い、現在、年間にわたる水、電力、インフラの影響について環境水エネルギー省(DWEE)に報告することを義務付けられています。グーグルなどの事業者は当初、その使用量データが州の営業秘密法(§§81-1527; 84-712.05; NAC TITLE 115, CH. 2)で保護されると主張しましたが、DWEE は透明性の確保のため、報告書を公表しています。9 月 30 日までの時点で、6 つの施設が報告書を送付しており、合計約 7.65 億ガロンの水(およそ 1,160 のオリンピックサイズの水泳プール)を使用していたことが明らかになりました。アゲート LLC(グーグルのリノンキャンサイト)は約 1,330 万ガロンを使用し、ピーク需要時に 52.65 メガワットを消費しました。ファイヤーボールグループ LLC(パピリオン)は 2025 サイクルで年間使用量 547.88 メガガロンの最も高い使用量を報告しました。この開示には財政的インセンティブも含まれています:ネブラスカ・アドバンテージ法の下、施設は期待される利用度に基づいて税免除を受け、アゲートは 2025 年に約 5,580 万ドルの還付を予定しており、ファイヤーボールグループは約 3920 万ドル、ウェストウッドソリューションズ(オマハ)は約 2,260 万ドルです。現在まで、「イマジネー・ネブラスカ法」の下で受給された報奨金はあります。報告書は最大規模のアゲート LLC の 288,530 平方フィート(およそ 5 つの足球场分)に及んでいます。使用量報告書は 9 月 30 日まで提出期限があり、DWEE ウェブサイトの「DEQ Program」欄に「DCR」と入力することでアクセスできます。これらの要件を監督しているのは DWEE データセンタータスクフォースであり、これはデータセンターが地域の水道・電力システムに与える環境的圧力を示すように、情報公開から赤文字の秘密性へのシフトを強調しています。