====== よく使う OpenWrt コマンド ====== ===== 設定を集中管理する [uci] ===== UCI (**U**nified **C**onfiguration **I**nterface) は OpenWrt のサービスの設定を集中管理するシステムである。\\ ==== コマンドライン ユーティリティ ==== 公式: [[ow>docs/guide-user/base-system/uci#command-line_utility|[OpenWrt Wiki] The UCI system]] [[gtr>https://openwrt.org/docs/guide-user/base-system/uci#command-line_utility|翻訳]] より🤔\\ 設定を調整するには、通常、UCI 構成ファイルを直接変更します。\\ ただし、スクリプト目的では、''uci'' コマンドラインユーティリティを使用して、すべてのUCI構成を読み取り、変更することもできます。\\ したがって、UCI構成の自動解析を必要とする開発者の場合、''awk'' と ''grep'' を使用するには冗長で、賢明でなく、非効率的です。\\ ''uci'' ユーティリティは、UCI の変更と解析に関してすべての機能を提供します。\\ 以下は使用法と、この強力なユーティリティの使用方法のいくつかの有用な例です。\\ ''uci'' を使用して構成ファイルを書き込む場合、ファイルは常に全体で書き換えられ、認識されていないコマンドは省略されます。\\ これは、コメントなど、ファイル内の無関係な行が削除されることを意味します。自分で編集した UCI 構成ファイルがあり、独自のコメントや空白行を保持したい場合は、コマンドラインユーティリティを使用せず、ファイルを正常に編集する必要があります。\\ uHTTPd 構成ファイルなどの一部のファイルには、アプリケーションが最初にインストールされている場合、すでに多くのコメントが含まれていることに注意してください。\\ また、[[ow>docs/techref/luci|LuCI]] などの一部のアプリケーションは、''uci'' ユーティリティを使用しているため、UCI 構成ファイルを書き換える可能性があることに注意してください。\\ 構成に同じタイプの複数のセクションがある場合、UCIはそれらの配列のような参照をサポートします。\\ ''/etc/config/system'' で定義されている 8 つの NTP サーバーがある場合、UCI ではセクションを ''system.@timeserver[0]'' は最初 ''system.@timeserver[7]'' は最後として参照できます。\\ ''system.@timeserver[-1]'' などのネガティブインデックスを使用することもできます。\\ "-1" とは最後のものを意味し、"-2" は最後から 2 番目のものを意味します。\\ これは、リストの最後に新しいルールを追加するときに非常に便利です。\\ 以下の例を参照してください。\\ === 使用法 ===
# uci
使用法: uci uci [<options>] <command> [<arguments>]

コマンド: 
	batch
	export     [<config>]
	import     [<config>]
	changes    [<config>]
	commit     [<config>]
	add        <config> <section-type>
	add_list   <config>.<section>.<option>=<string>
	del_list   <config>.<section>.<option>=<string>
	show       [<config>[.<section>[.<option>]]]
	get        <config>.<section>[.<option>]
	set        <config>.<section>[.<option>]=<value>
	delete     <config>[.<section>[[.<option>][=<id>]]]
	rename     <config>.<section>[.<option>]=<name>
	revert     <config>[.<section>[.<option>]]
	reorder    <config>.<section>=<position>

オプション: 
	-c <path> 設定ファイルの検索パスを設定します (デフォルト: /etc/config) 
	-d <str> uci show のリスト値の区切り文字を設定します
	-f <file> stdin の代わりに <file> を入力として使用します
	-m インポート時に、データを既存のパッケージにマージします
	-n エクスポート時に名前のないセクションに名前を付けます (デフォルト) 
	-N 名前のないセクションに名前を付けません
	-p <path> 構成変更ファイルの検索パスを追加します
	-P <path> 構成変更ファイルの検索パスを追加し、デフォルトとして使用します
	-q クワイエット モード (エラー メッセージを表示しません) 
	-s 厳密モードを強制します (パーサー エラーで停止、デフォルト) 
	-S 厳密モードを無効にします
	-X 'show' で拡張構文を使用しません
^ ''コマンド'' ^ ターゲット ^ 説明 ^ | ''commit'' | ''[]'' | 指定された設定ファイルの変更、または何も指定されていない場合はすべての設定ファイルをファイルシステムに書き込みます。すべての "uci set", "uci add", "uci rename" "および "uci delete" コマンドは一時的な場所にステージングされ、"uci commit" で一度にフラッシュに書き込まれます。これは、テキスト エディターで設定ファイルを編集した後には必要ありませんが、スクリプト、GUI、および UCI ファイルを直接操作するその他のプログラムで必要です。 | | ''batch'' | - | 通常は//ヒア//ドキュメント構文にラップされる複数行の UCI スクリプトを実行します。 | | ''export'' | ''[]'' | 構成を機械可読形式でエクスポートします。これは、シェル スクリプトとして構成ファイルを評価するために内部的に使用されます。 | | ''import'' | ''[]'' | UCI 構文で構成ファイルをインポートします。 | | ''changes'' | ''[]'' | 指定された構成ファイルへのステージングされた変更を一覧表示します。指定されていない場合は、すべての構成ファイルを表示します。 | | ''add'' | '' '' | 指定された構成に ''section-type'' タイプの匿名セクションを追加します。 | | ''add_list'' | ''.
.