英語フランス語スペイン語

Ad


OnWorksファビコン

funcnts - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで関数を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド機能です。

プログラム:

NAME


funcnts - bkgd 減算を使用して、指定された領域の光子をカウントします

SYNOPSIS


関数 【スイッチ】 [source_region] [bkgd_file] [bkgd_region⎪bkgd_value]

OPTIONS


-e "source_exposure[;bkgd_exposure]"
# ソース (bkgd) マッチング ファイルを使用した FITS 露出画像
-w "source_exposure[;bkgd_exposure]"
# ソース (bkgd) WCS 変換を使用した FITS 露出画像
-t "source_timecorr[;bkgd_timecorr]"
# ソース (bkgd) 時刻補正値 or ヘッダパラメータ名
-g # nice g フォーマットを使用した出力
-G # %.14g 形式を使用した出力 (最大精度)
-i "[column;]int1;int2..." # 列ベースの間隔
-m # 個々のソースと bkgd リージョンに一致
-p # wcs が存在する場合でもピクセル単位で出力
-r # 年輪 (およびパンダ) の内側/外側の半径 (および角度) を出力します。
-s # 合計値を出力
-v "scol[;bcol]" # テーブルの src および bkgd 値列
-T # starbase/rdb 形式で出力
-z # 面積がゼロの出力領域

DESCRIPTION


関数 指定されたソース領域のフォトンをカウントし、それぞれの結果を報告します
領域。 領域は、空間領域フィルタリング メカニズムを使用して指定されます。 光子は
同じデータ ファイルまたは別のデータ ファイルに適用される指定された bkgd 領域でもカウントされます。
データファイル。 (または、カウント/ピクセル**2 の一定の背景値を使用することもできます。
bkgd リージョンは、ソース リージョンと XNUMX 対 XNUMX でペア化されるか、プールされます。
面積で正規化され、各地域のソース数から差し引かれます。
表示される結果には、各領域で bkgd を差し引いたカウントとエラーが含まれます。
カウント、各領域の面積、および表面の明るさ (cnts/area**2)
地域ごとに計算されます。

プログラムの最初の引数は、FITS 入力画像、配列、または生のイベント ファイルを指定します。
プロセスへ。 「stdin」を指定した場合は、標準入力からデータを読み込みます。 ファンツールを使用する
FITS 拡張、画像セクション、およびフィルターを指定するためのブラケット表記。

オプションの XNUMX 番目の引数は、ソース領域記述子です。 地域指定がない場合は、
フィールド全体が使用されます。

バックグラウンド引数は、別の引数かどうかに応じて、XNUMX つの形式のいずれかを取ることができます。
背景ファイルを指定します。 ソース ファイルを背景にも使用する場合は、
XNUMX 番目の引数は、背景領域、または
背景の cnts/ピクセル。 または、XNUMX 番目の引数をバックグラウンド データ ファイルにすることもできます。
この場合、XNUMX 番目の引数は背景領域です。 XNUMX 番目の引数がない場合
指定すると、定数値 0 が使用されます (つまり、背景なし)。

要約すると、次のコマンド引数が有効です。

[sh] funcnts sfile # ソースファイルのカウント
[sh] funcnts sfile sregion # ソース領域のカウント
[sh] funcnts sfile sregion bregion # bkgd reg. ソースファイルからのものです
[sh] funcnts sfile sregion bvalue # bkgd reg. 定数です
[sh] funcnts sfile sregion bfile bregion # bkgd reg. 別のファイルからです

注意: 他の Funtools プログラムとは異なり、ソースと背景領域は次のように指定されます。
一部としてブラケット内に配置するのではなく、コマンドラインで引数を分離する
ソースとバックグラウンドのファイル名。 これは、関数内の領域が単純ではないためです。
データフィルターとして使用されますが、面積や露出などの計算にも使用されます。
指定するのではなく、ブラケット内のソース領域 (つまり、単にフィルターとして使用)
引数 XNUMX として指定しても、プログラムは領域フィルターを通過したフォトンのみをカウントします。
ただし、面積計算はフィールド全体で実行されます。 分野()
デフォルトのソース リージョン。 これが望ましい動作になることはめったにありません。 一方、FITSでは
バイナリ テーブルの場合、ファイル名の括弧内に列フィルターを配置すると便利なことがよくあります。
列フィルターに一致するイベントのみがリージョン内でカウントされます。

たとえば、中心から半径 22 ピクセル以内のカウントを抽出するには、
FITS バイナリ テーブル snr.ev 内の同じ画像から決定された背景を減算します。
半径 50 ~ 100 ピクセルの環:

[sh] funcnts snr.ev "circle(502,512,22)" "annulus(502,512,50,100)"
# ソース
# データファイル: snr.ev
# 度/ピクセル: 0.00222222
# 背景
# データファイル: snr.ev
# 列単位
# エリア: arcsec**2
#surf_bri: cnts/arcsec**2
#surf_err: cnts/arcsec**2

# 背景を差し引いた結果
reg net_counts エラー バックグラウンド エラー エリア Surf_bri Surf_err
---- ------------ --------- ------------ --------- ---- ----- --------- ---------
1 3826.403 66.465 555.597 5.972 96831.98 0.040 0.001

# 次のソースおよび背景コンポーネントが使用されました。
ソース リージョン
----------------
円(502,512,22)

reg はピクセルをカウントします
---- ---- ----------
1 4382.000 1513

背景領域
--------------------
年輪(502,512,50,100)

reg はピクセルをカウントします
---- ---- ----------
すべて 8656.000 23572

「area」、「surf_bri」(表面の明るさ)、および
「surf_err」はアーク秒単位で指定されます (適切な WCS 情報が
データ ファイル ヘッダー) またはピクセル単位で。 データ ファイルに WCS 情報が含まれているが、arc-
秒単位は、 -p 出力をピクセル単位で強制するように切り替えます。 また、面積がゼロの領域
通常、プライマリ (バックグラウンドを差し引いた) テーブルには含まれませんが、含まれています。
セカンダリ ソースと bkgd テーブル内。 これらの地域を
プライマリ テーブル、使用 -z スイッチ。

単純な sed コマンドは、バックグラウンドを差し引いた結果をさらに抽出することに注意してください。
分析:

[sh] 猫 funcnts.sed
1,/---- .*/日
/^$/,$d

[sh] sed -f funcnts.sed funcnts.out
1 3826.403 66.465 555.597 5.972 96831.98 0.040 0.001

ソースファイルとバックグラウンドファイルを別々に指定すると、 関数 正常化しようとします
背景ピクセルサイズがソースピクセルと同じになるように背景領域
サイズ。 この正規化は、適切な WCS 情報が存在する場合にのみ実行できます。
両方のファイルに含まれています (例: CDELT の度数/ピクセル値)。 いずれかのファイルが存在しない場合
必要なサイズ情報が含まれている場合、正規化は実行されません。 この場合、
XNUMX つのピクセル サイズが同じであることを確認するのは、ユーザーの責任です。
ファイル。

通常、複数の背景領域が指定されている場合、 関数 それらをすべて組み合わせます
単一の領域に分割し、この背景領域を使用して背景を差し引いた
各ソース領域の結果。 の -m (複数の背景に一致) スイッチが伝える 関数
代わりに、背景領域とソース領域を XNUMX 対 XNUMX で対応させます。
単一の結合された背景領域を使用します。 たとえば、デフォルトのケースは 2 を結合することです。
背景領域を単一の領域に分割し、その領域を各ソースに適用します
地域:

[sh] funcnts snr.ev "annulus(502,512,0,22,n=2)" "annulus(502,512,50,100,n=2)"
# ソース
# データファイル: snr.ev
# 度/ピクセル: 0.00222222
# 背景
# データファイル: snr.ev
# 列単位
# エリア: arcsec**2
#surf_bri: cnts/arcsec**2
#surf_err: cnts/arcsec**2

# 背景を差し引いた結果
reg net_counts エラー バックグラウンド エラー エリア Surf_bri Surf_err
---- ------------ --------- ------------ --------- ---- ----- --------- ---------
1 3101.029 56.922 136.971 1.472 23872.00 0.130 0.002
2 725.375 34.121 418.625 4.500 72959.99 0.010 0.000

# 次のソースおよび背景コンポーネントが使用されました。
ソース リージョン
----------------
年輪(502,512,0,22,n=2)

reg はピクセルをカウントします
---- ---- ----------
1 3238.000 373
2 1144.000 1140

背景領域
--------------------
年輪(502,512,50,100,n=2)

reg はピクセルをカウントします
---- ---- ----------
すべて 8656.000 23572

基本的な領域フィルター ルール「各フォトンは XNUMX 回カウントされ、どのフォトンもカウントされない」ことに注意してください。
複数回カウント」は、使用時に適用されます -m 背景領域に一致します。 それか
つまり、XNUMX つの背景領域が重なっている場合、重なっているピクセルは XNUMX つのみでカウントされます。
そのうちの。 最悪のシナリオでは、XNUMX つの背景領域が同じ領域である場合、
最初はすべてのカウントと面積を取得し、XNUMX 番目は何も取得しません。

使い方 -m スイッチの原因 関数 XNUMX つの背景領域のそれぞれを個別に使用するには
XNUMX つのソース領域のそれぞれについて:

[sh] funcnts -m snr.ev "annulus(502,512,0,22,n=2)" "ann(502,512,50,100,n=2)"
# ソース
# データファイル: snr.ev
# 度/ピクセル: 0.00222222
# 背景
# データファイル: snr.ev
# 列単位
# エリア: arcsec**2
#surf_bri: cnts/arcsec**2
#surf_err: cnts/arcsec**2

# 背景を差し引いた結果
reg net_counts エラー バックグラウンド エラー エリア Surf_bri Surf_err
---- ------------ --------- ------------ --------- ---- ----- --------- ---------
1 3087.015 56.954 150.985 2.395 23872.00 0.129 0.002
2 755.959 34.295 388.041 5.672 72959.99 0.010 0.000

# 次のソースおよび背景コンポーネントが使用されました。
ソース リージョン
----------------
年輪(502,512,0,22,n=2)

reg はピクセルをカウントします
---- ---- ----------
1 3238.000 373
2 1144.000 1140

背景領域
--------------------
アン(502,512,50,100,n=2)

reg はピクセルをカウントします
---- ---- ----------
1 3975.000 9820
2 4681.000 13752

ほとんどの浮動小数点数は "f" 形式を使用して表示されることに注意してください。 あなたになら変えられる
これを「g」形式に -g スイッチ。 これは、各ピクセルのカウントが
非常に小さい、または非常に大きい。 最大の精度が必要で、
列がきれいに並んでいるので、使用してください -Gすべての浮動小数点値を %.14g として出力します。

円環とパンダ (パイと円環) の形状を使用してフォトンをカウントする場合、多くの場合、
個別の領域ごとに半径 (およびパンダの角度) にアクセスできると便利です。 の -r
switch は、半径と角度の列を出力テーブルに追加します。

[sh] funcnts -r snr.ev "annulus(502,512,0,22,n=2)" "ann(502,512,50,100,n=2)"
# ソース
# データファイル: snr.ev
# 度/ピクセル: 0.00222222
# 背景
# データファイル: snr.ev
# 列単位
# エリア: arcsec**2
#surf_bri: cnts/arcsec**2
#surf_err: cnts/arcsec**2
# 半径: 秒角
# 角度: 度

# 背景を差し引いた結果
reg net_counts エラー バックグラウンド エラー領域 surf_bri surf_err radius1 radius2 angle1 angle2
---- ------------ --------- ------------ --------- ---- ----- --------- --------- --------- --------- --------- ----------
1 3101.029 56.922 136.971 1.472 23872.00 0.130 0.002 0.00 88.00 NA NA
2 725.375 34.121 418.625 4.500 72959.99 0.010 0.000 88.00 176.00 NA NA

# 次のソースおよび背景コンポーネントが使用されました。
ソース リージョン
----------------
年輪(502,512,0,22,n=2)

reg はピクセルをカウントします
---- ---- ----------
1 3238.000 373
2 1144.000 1140

背景領域
--------------------
アン(502,512,50,100,n=2)

reg はピクセルをカウントします
---- ---- ----------
すべて 8656.000 23572

半径は、ピクセル単位またはアーク秒単位で指定されます (WCS 情報の存在に応じて)。
角度の値 (存在する場合) は度単位です。 これらの列は、プロットに使用できます
放射状のプロファイル。 たとえば、スクリプト funcnts.plot funtools ディストリビューションで)
gnuplot (バージョン 3.7 以降) を使用して放射状プロファイルをプロットします。 これの簡易版
スクリプトを以下に示します。

#!/bin/sh

if [ x"$1" = xgnuplot ]; それから
if [ x`which gnuplot 2>/dev/null` = x ]; それから
echo "エラー: gnuplot が利用できません"
1番出口
fi
awk '
BEGIN{HEADER=1; データ=0; ファイル=""; XLABEL="不明"; YLABEL="不明"}
ヘッダ==1{
if( $1 == "#" && $2 == "データ" && $3 == "ファイル:" ){
if( ファイル != "" ) ファイル = ファイル ","
ファイル = ファイル $4
}
else if( $1 == "#" && $2 == "半径:" ){
XLABEL = $3
}
else if( $1 == "#" && $2 == "surf_bri:" ){
YLABEL = $3
}
それ以外の場合 ( $1 == "----" ){
printf "set nokey; set title \"funcnts(%s)\"\n", FILES
printf "set xlabel \" radius(%s)\"\n", XLABEL
printf "set ylabel \"surf_bri(%s)\"\n", YLABEL
print "plot \"-\" using 3:4:6:7:8 with boxerrorbars"
ヘッダー = 0
データ = 1
次の
}
}
データ==1{
もし(NF == 12){
印刷 $9、$10、($9+$10)/2、$7、$8、$7-$8、$7+$8、$10-$9
}
他{
終了する
}
}
' ⎪ gnuplot -persist - 1>/dev/null 2>&1

elif [ x"$1" = xds9 ]; それから
awk '
BEGIN{HEADER=1; データ=0; XLABEL="不明"; YLABEL="不明"}
ヘッダ==1{
if( $1 == "#" && $2 == "データ" && $3 == "ファイル:" ){
if( ファイル != "" ) ファイル = ファイル ","
ファイル = ファイル $4
}
else if( $1 == "#" && $2 == "半径:" ){
XLABEL = $3
}
else if( $1 == "#" && $2 == "surf_bri:" ){
YLABEL = $3
}
それ以外の場合 ( $1 == "----" ){
printf "funcnts(%s) radius(%s) surf_bri(%s) 3\n", ファイル, XLABEL, YLABEL
ヘッダー = 0
データ = 1
次の
}
}
データ==1{
もし(NF == 12){
印刷 $9、$7、$8
}
他{
終了する
}
}
'
ほかに
echo "funcnts -r ... ⎪ funcnts.plot [ds9⎪gnuplot]"
1番出口
fi

したがって、実行するには 関数 gnuplot (バージョン 3.7 以降) を使用して結果をプロットするには、次を使用します。

funcnts -r snr.ev "annulus(502,512,0,50,n=5)" ... ⎪ funcnts.plot gnuplot

  -s (合計) スイッチの原因 関数 合計された(統合された)追加のテーブルを作成します。
バックグラウンド減算値と、個々の値のデフォルト テーブル:

[sh] funcnts -s snr.ev "annulus(502,512,0,50,n=5)" "annulus(502,512,50,100)"
# ソース
# データファイル: snr.ev
# 度/ピクセル: 0.00222222
# 背景
# データファイル: snr.ev
# 列単位
# エリア: arcsec**2
#surf_bri: cnts/arcsec**2
#surf_err: cnts/arcsec**2

# 合計されたバックグラウンドを差し引いた結果
net_counts までのエラー バックグラウンド エラー エリアsurf_bri surface_err
---- ------------ --------- ------------ --------- ---- ----- --------- ---------
1 2880.999 54.722 112.001 1.204 19520.00 0.148 0.003
2 3776.817 65.254 457.183 4.914 79679.98 0.047 0.001
3 4025.492 71.972 1031.508 11.087 179775.96 0.022 0.000
4 4185.149 80.109 1840.851 19.786 320831.94 0.013 0.000
5 4415.540 90.790 2873.460 30.885 500799.90 0.009 0.000

# 背景を差し引いた結果
reg カウント エラー バックグラウンド エラー エリア surface_bri surface_err
---- ------------ --------- ------------ --------- ---- ----- --------- ---------
1 2880.999 54.722 112.001 1.204 19520.00 0.148 0.003
2 895.818 35.423 345.182 3.710 60159.99 0.015 0.001
3 248.675 29.345 574.325 6.173 100095.98 0.002 0.000
4 159.657 32.321 809.343 8.699 141055.97 0.001 0.000
5 230.390 37.231 1032.610 11.099 179967.96 0.001 0.000

# 次のソースおよび背景コンポーネントが使用されました。
ソース リージョン
----------------
年輪(502,512,0,50,n=5)

reg カウント ピクセル sumcnts sumpix
---- ------------ --------- ------------ ---------
1 2993.000 305 2993.000 305
2 1241.000 940 4234.000 1245
3 823.000 1564 5057.000 2809
4 969.000 2204 6026.000 5013
5 1263.000 2812 7289.000 7825

背景領域
--------------------
年輪(502,512,50,100)

reg はピクセルをカウントします
---- ---- ----------
すべて 8656.000 23572

  -t & -e スイッチを使用して、タイミングと露出の補正をそれぞれ適用できます。
データに。 これらの修正は定性的に使用されることを意図していることに注意してください。
より正確な補正係数の適用は、複雑でミッションに依存する作業です。
これらの単純な修正を適用するためのアルゴリズムは次のとおりです。

C = ソース領域の raw カウント
Ac = ソース領域の面積
Tc = ソース データの露出時間
Ec = 露出マップからのソース領域での平均露出

B= バックグラウンド領域の raw カウント
Ab= 背景領域の面積
Tb= バックグラウンド データの (露出) 時間
Eb = 露出マップからの背景領域の平均露出

次に、ソース領域のネットカウントは

ネット= C - B * (Ac*Tc*Ec)/(Ab*Tb*Eb)

Error on Net のエラーの標準伝播を使用します。 正味レートは次のようになります。

ネットレート = ネット/(Ac*Tc*Ec)

各領域の平均露出は、
特定の領域の露出マップを、その領域のピクセル数で除算します。
領域。 多くの場合、露出マップはブロック係数 > 1 で生成されます (たとえば、ブロック 4 は、
各露光ピクセルにはフル解像度で 4x4 ピクセルが含まれます) および 関数 に対処します
自動的にブロックします。 を使用して -e スイッチ、ソースとバックグラウンドの両方を提供できます
別々のソース データ ファイルとバックグラウンド データ ファイルがある場合は、露出ファイル (「;」で区切られます)。
別の背景データと一緒に使用する背景露出ファイルを提供しない場合
ファイル、 関数 バックグラウンド データ ファイルに露出が既に適用されていることを前提としています。
さらに、背景データ ファイル内のピクセルの誤差はゼロであると想定しています。

NB: -e スイッチは、露出マップが画像ファイルをオーバーレイすることを前提としています 正確に除きます
ブロック係数の場合。 画像内の各ピクセルは、ブロック係数によってスケーリングされ、
露出マップの対応するピクセル。 露出マップが正確に一致しない場合
イメージとともに、 do つかいます   -e 露出補正。 この場合、まだ可能です
露出補正をする if 画像と露出マップの両方に有効な WCS がある
情報: を使用してください -w 画像ピクセルから露出への変換
ピクセルは WCS 情報を使用します。 つまり、画像領域の各ピクセルは
最初に画像座標から空座標に変換され、次に空座標から
露出コーディネート。 使用することに注意してください -w 処理に必要な時間を増やすことができます
露出補正を大幅に。

時間補正は、ソース データとバックグラウンド データの両方に適用できます。 -t スイッチ。
修正の値は、数値定数またはヘッダーの名前のいずれかです。
ソース (またはバックグラウンド) ファイル内のパラメータ:

[sh] funcnts -t 23.4 ... # ソースの番号
[sh] funcnts -t "LIVETIME;23.4" ... # ソースは param、bkgd は数値

時間補正を指定すると、正味カウントにも適用されます (
上記のアルゴリズム)、表面の明るさの単位は cnts/area**2/sec になります。

  -i (インターバル) スイッチを使用して実行します。 関数 複数の列ベースの間隔で
データを XNUMX 回だけ通過します。 実行することと同等です 関数 数回
ソース データとバックグラウンド データに毎回異なる列フィルターが追加されます。 それぞれについて
間隔、完全 関数 改行文字 (^L) が挿入された出力が生成されます
各実行の間に。 さらに、各間隔の出力には間隔が含まれます。
ヘッダーの仕様。 間隔は X 線硬度を生成するのに非常に役立ちます
比率を効率的に。 もちろん、入力データが含まれている場合にのみサポートされます
テーブルに。

間隔の指定には XNUMX つの形式がサポートされています。 最も一般的な形式はセミ
間隔として使用されるフィルターのコロン区切りのリスト:

funcnts -i "pha=1:5;pha=6:10;pha=11:15" snr.ev "circle(502,512,22)" ...

概念的には、これは次の実行と同等です。 関数 XNUMX回:

funcnts snr.ev'[pha=1:5]' "circle(502,512,22)"
funcnts snr.ev'[pha=6:10]' "circle(502,512,22)"
funcnts snr.ev'[pha=11:15]' "circle(502,512,22)"

ただし、 -i スイッチは、データを XNUMX 回だけ通過する必要があります。

複雑なフィルターを使用して間隔を指定できることに注意してください。

funcnts -i "pha=1:5&&pi=4;pha=6:10&&pi=5;pha=11:15&&pi=6" snr.ev ...

プログラムは、データを各フィルターに順番に通すだけで、XNUMX つのフィルターを生成します。 関数
改行文字で区切られた出力。

実際には、硬度比の間隔をサポートすることを意図していますが、指定された
フィルターは間隔である必要はまったくありません。 また、XNUMX つの「間隔」フィルターである必要はありません。
別のものに関連しています。 例えば:

funcnts -i "pha=1:5;pi=6:10;energy=11:15" snr.ev "circle(502,512,22)" ...

実行するのと同じです 関数 無関係なフィルター仕様で XNUMX 回。

単一の列が使用される単純なケースでは、XNUMX 番目の間隔形式がサポートされています。
その列に複数の等質間隔を指定します。 この形式では、列名
が最初に指定され、その後に間隔が続きます。

funcnts -i "pha;1:5;6:10;11:15" snr.ev "circle(502,512,22)" ...

これは最初の例と同じですが、必要な入力が少なくなります。 の 関数 プログラム
指定された各間隔の前に「pha=」を追加するだけです。 (この形式に注意してください。
column 引数に「=」文字が含まれていません。)

通常、いつ 関数 FITS バイナリ テーブル (または生のイベント テーブル) 上で実行されます。
整数カウントは、特定の領域内に含まれる行 (イベント) ごとに累積されます。 の -v
"scol[;bcol]" (値列) スイッチは、からの値を使用してカウントを累積します。
特定のイベントの指定された列。 単一の列のみが指定されている場合は、
ソース領域と背景領域の両方。 セミコロンで区切られた XNUMX つの個別の列
ソースと背景に指定できます。 特別なトークン '$none' を使用して、
値列を一方に使用し、他方には使用しないことを指定します。 例えば、
'pha;$none' は、ソースに pha 列を使用しますが、
'$none;pha' はその逆を行います。 値列が型の場合
論理値の場合、使用される値は T の場合は 1、F の場合は 0 になります。値の列が使用されます。
たとえば、整数カウントの代わりに確率を統合します。

Status -T (rdb table) スイッチを使用すると、出力は starbase/rdb データベースに準拠します
フォーマット: スペースではなく列の間にタブが挿入され、改行が挿入されます。
テーブルの間に挿入されます。

最後に、注意してください 関数 FITS 上で直接実行できますが、イメージ プログラムです。
バイナリ テーブル。 これは、画像フィルタリングが行に適用されることを意味します。
テーブルまたは同等のビン化に関係なく、同じ結果が得られること
画像を使用しています。 ただし、このため、使用して見つかったカウント数 関数 できる
などの行フィルター プログラムを使用して検出されたイベントの数とは異なります。 ファンディスプ or
ファンタブル これらの違いの詳細については、地域の説明を参照してください。
境界線。

onworks.net サービスを使用して funcnts をオンラインで使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad