Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

1
プロセス/ usr / libexec / packagekitdは何をしますか?
このプロセスは私の帯域幅を占有し続けます: このプロセスは何をしますか? 殺しても安全ですか? パッケージ全体を削除しても安全です(二度と起動しないようにするため) または、バックグラウンドで再び自動的に実行されないようにする必要がありますか? Fedora 23を実行しています。

5
特定のPIDがリッスンしているポートを知る方法は?
OS Xでいくつかのポートをリッスンしている特定のプロセスのPIDがあり、このプロセスがリッスンしているポートを知る必要があります。どうすればできますか? lsofどのプロセスがポートをリッスンしているかを知るために使用できることは知っていますが、逆の操作を実行する必要があります。 ありがとうございました。 UPD OS XはBSDユーティリティを使用するため、netstatLinuxではなくBSDを使用していnetstatます。Linuxにnetstatは-pPIDを表示するオプションがあり、BSD はポートを指定するために使用し、PIDを表示するオプションはありません。netstat-p
13 networking  osx  bsd 

1
一部のプログラムはすぐにシェルに戻るのに、他のプログラムは実行が完了するまで戻らないのはなぜですか?
現代のオペレーティングシステムの本から、コマンドが実行されると、シェルは子プロセスを作成し、子が実行を終了するまで待機し、ユーザーからの別のコマンドを待機することを読みました。これは実際に多くのプログラムの場合ですgedit。端末は私が閉じるまでコマンドを受け取りませんgedit。しかし、Atomコードエディターを開くと、シェルはすぐに戻り、エディターが実行されていても次のコマンドを受け入れる準備ができています。ターミナルを閉じてもアトムは閉じません。これは、エディターが子プロセスとしてではなく開かれたことを意味しますか?これを可能にする基本的なメカニズムは何ですか? ランニングps au | grep atomは与える <username> 8042 0.0 0.0 15944 2264 pts/1 S+ 00:55 0:00 grep --color=auto atom

4
カラーフィルターを介したコマンドのパイピング
Unixにはこのようなものがありますか? $ echo "this should show in red" | red $ echo "this should show in green" | green $ echo "this should show in blue" | blue ここでは、リテラルカラーコードテキストが表示されることを意味しません(たとえば、ファイルに貼り付けられる)。テキストが実際にターミナルにその色として表示されることを意味します。これは可能ですか?
13 bash  terminal  colors 

3
Linuxで/ dev / randomを/ dev / urandomにリンクするのは間違っていますか?
現在gpg --genkey、Linux VMでテストしています。残念ながら、このソフトウェアは/dev/randomエントロピーを収集することに依存しているようで、暗号的にランダムな入力の画面の後に手動で画面を入力するようにユーザーに丁寧に要求するため、最終的にキーを生成することになり、伝えるためのコマンドラインパラメーターが見つかりませんでしたエントロピーのソースとして別のファイルを使用するために(このビデオの男はまったく同じ問題に遭遇します...)。 ただし、ユーザーは何も問題がない/dev/urandomため、代わりに使用することを自由に選択できます。これは主に、暗号化の観点からは弱かった古いPRNGアルゴリズムの回想として存在します。たとえば、NetBSDのマンページは、この区別が非常に早いブート段階でまだ有用であることを認めていますが、「フォークロア」や「幻想的な脅威モデルに対してのみ防御する想像上の理論」などの区別について説明しています。このコマンドに必要なエントロピーの量や、エントロピーがGPGマンページに記載されているように実際に消費されるものであるという事実に誰も同意しません(「何をしているのかわからない限り、このコマンドを使用しないでください。システムから貴重なエントロピーが削除される可能性があります!」)。 私はデーモンをインストールする人々rngdについて読み、それを/dev/urandomfeedへのエントロピーソースとして使用するように設定しました/dev/randomが、そのような慣行は非常に汚いものです。 私は代わりに/dev/randomそれを削除してリンクすることで、FreeBSDの方法で問題を回避しようとしまし/dev/urandomた: rm /dev/random ln -s /dev/urandom /dev/random これは、「/dev/urandomエントロピーのソースとして信頼している」という設定と見なされます。 何らかのエラーが発生するのではないかと心配していましたが、コマンドはすぐに正常に戻るため、期待どおりの結果が得られるようです。 私の質問は次のとおりです。FreeBSDシステムでデフォルトで行われているLinuxシステム/dev/randomへのリンクには、既知の実用的で間違った副作用があり/dev/urandomますか?または、/dev/random何らかのサービスのロックによる繰り返しの問題の場合に、これを永続的に設定することを想定できますか(たとえば、ブートプロセスの最後のスクリプトで)。
13 linux  security  random 

2
なぜ `watch`は$ lsの内容を` ls / tmp`にリストするのですか?
/tmp/ディレクトリ内のファイルの数を監視しようとしています。このため、私はこのコマンドが機能すると思った: watch sh -c 'ls /tmp/|wc -l' しかしls、引数がないかのように動作するようです。つまり、私はにいて~、そこに多数のファイルを取得します/tmp/。私は回避策を見つけましたが、それはうまくいくようです: watch sh -c 'ls\ /tmp/|wc -l' しかし、なぜlsとの間のスペースをエスケープする必要があるの/tmp/ですか?どのようにコマンドがによって変換されるwatchように、ls出力がにfeededされwcますが、/tmp/に引数として渡されていませんかls?
13 shell  ls  watch 

2
$ @から位置パラメータを削除する方法
基本的に、-infパラメータリストから最初に出現したものを「抜き取り」たいと思います。(残りのパラメーターは別のコマンドに渡されます。) 私が持っているスクリプトの構造は次のとおりです。 #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi <CODE> done <CODE> some-other-command "$@" # end of script これを行う良い方法はありますか? ところで、私は主に該当する回答に興味がありますが/bin/sh、私は該当する回答にも興味があります/bin/bash。

5
最小限のCentos Dockerコンテナにマニュアルページをインストールできない
最小限のCentos 7 Dockerイメージがあり、Dockerfileのデバッグに役立つマニュアルページを取得しようとしています。箱から出して、それは多くを持っていません: # man ls No manual entry for ls パーこのServerFaultの答え、私がインストールman-pagesRPMを、それは罰金を行くように見えました。 # yum install -y man-pages Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirror.vtti.vt.edu * extras: centos.mbni.med.umich.edu * updates: centos.netnitco.net Resolving Dependencies --> Running transaction check ---> Package man-pages.noarch 0:3.53-5.el7 will be installed --> …
13 centos  rpm  man  docker 

1
bashの算術展開の評価
次の行は作成しますfile_c-6.txtが出力します5: $ i=5; ls file_a-${i}.txt file_b-${i}.txt > file_c-$(( ++i )).txt; echo $i 5 $ cat file_c-6.txt file_a-5.txt file_b-5.txt 削除>すると、リストされfile_c-6.txtて出力されます5: i最初の例の価値を維持できない理由を理解できません。 $ i=5; ls file_a-${i}.txt file_b-${i}.txt file_c-$(( ++i )).txt; echo $i file_a-5.txt file_b-5.txt file_c-6.txt 6
13 bash 

2
NixOSでファイルがどの(インストールされていない)パッケージに属しているかを調べる方法は?
私が使用していますニックスパッケージマネージャを上NixOS。ファイルを提供するパッケージをインストールするとしますlibgtk-x11-2.0.so.0。他のGNU / Linuxディストリビューションと同様に、このファイルを提供するパッケージを見つけるにはどうすればよいですか? 現在、ファイルをグーグル検索し、どのパッケージが属しているかを把握し、Nixリポジトリで対応するパッケージを見つける必要がありますが、より慣用的な方法が必要です。

2
「bash -x」がこのスクリプトを壊すのはなぜですか?
コマンドの実行時間を測定するスクリプトがあります。 「bash-built-inにはフラグがないため」などの「実際の」timeコマンド、つまりバイナリが必要です。/usr/bin/time-f 以下に、デバッグ可能な簡略化されたスクリプトを示します。 #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f %e grep blah >/dev/null ) 2>&1 | awk -F. '{print $1}') echo ABC--$TIMESEC--DEF if [ "$TIMESEC" -eq 0 ] ; then echo "we are here!" fi 「test.sh」として保存して実行します。 $ bash test.sh ABC--0--DEF we are here! それでうまくいきました。 それでは、bashコマンドラインに「-x」を追加して、これをデバッグしてみましょう。 $ bash -x test.sh …

3
diffは、2つのファイルで同じ行を異なると報告します
曲のリストを含む2つのファイルがあります。hdsongs.txtおよびsdsongs.txt すべての曲とテキストファイルへの出力を一覧表示し、diffを実行する簡単なスクリプトを作成しました。ほとんどの場合は正常に機能しますが、スクリプト内の実際のdiffコマンドは、異なる行と同じ行を表示しています。これは実際には複数の行で発生していますが、すべてではありません。 両方のファイルの歌の例を次に示します。 $ grep Apologize \*songs\* hdsongs.txt:Timbaland/Apologize.mp3 sdsongs.txt:Timbaland/Apologize.mp3 私が見ることができる末尾の特殊文字はありません: $ cat -A hdsongs.txt sdsongs.txt | grep Apologize Timbaland/Apologize.mp3$ Timbaland/Apologize.mp3$ diffを実行すると、各ファイルに同じ行が表示されます。しかし、行は同じではありませんか? $ diff hdsongs.txt sdsongs.txt | grep Apologize > Timbaland/Apologize.mp3 < Timbaland/Apologize.mp3 これはここのスレッドに似ています: diffは2つのファイルが異なることを報告しますが、それらは同じです! しかし、これはファイル全体ではなくファイル内の行のためであり、その場合の解像度はこの場合に収まらないようです。 $ diff <(cat -A phonesongsonly.txt) <(cat -A passportsongsonly.txt) | grep Apologize < Timbaland/Apologize.mp3$ > Timbaland/Apologize.mp3$ …
13 diff 

3
rmdir -rfではなくrm -rfである理由
ディレクトリ内のすべてを削除するコマンドがなぜであるのか、私はいつも興味がありましたrm -rf。 なぜ同じことをするフラグがないのrmdirですか? rmdirディレクトリ操作に使用する方が直感的ではないでしょうか?
13 shell  files  directory 

3
ソートされたテキストファイルでのバイナリ検索
数十億行の可変長の大きなソート済みファイルがあります。新しい行があれば、ソートされたファイルに含まれていた場合に取得するバイト番号を知りたいと思います。 例 a\n c\n d\n f\n g\n 入力 'foo'が与えられると、出力9が得られます。 これは、ファイル全体を単純に調べることで簡単に実行できますが、数十億行の可変長であるため、バイナリ検索を行う方が高速です。 そのようなテキスト処理ツールはすでに存在しますか? 編集: 今では:https : //gitlab.com/ole.tange/tangetools/blob/master/bsearch/bsearch

7
MACアドレスからOUIベンダー情報を取得するコマンドラインツール?
get-oui、airodump-ng-oui-update、または次のような、システム上のOUI MACアドレスベンダーデータベースを更新するように思われるいくつかのツールを見つけました。update-oui update-oui(8) OUI update-oui(8) NAME update-oui - download new version of the OUI and IAB lists SYNOPSIS update-oui DESCRIPTION update-oui fetches the current version of the OUI and IAB lists from http://standards.ieee.org/regauth/oui/index.shtml and installs it, if the installed versions is older than 5 days. This utility requires curl, wget …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.