フューザ出力が不明瞭に見える。

フューザ出力が不明瞭に見える。

私が使用する出力はfuser次のとおりです。

$ fuser / 
/:                    1354rc  1362r  1370rc  1371rc  1395rc  1399rc  1403rc  1410rc  1414rc  1428r  1451rc  1458rc  1470rc  1472rc  1477rc  1480rc  1487rc  1492rc  1500rc  1504rc  1508r  1513r  1516rc  1551r  1563rc  1567rc  1569rc  1586rc  1592rc  1629r  1630r  1633r  1645r  1660r  1695rc  1712rc  1728rc  1885r  2262rc  2273r  2585r  2602r  3342r  3799r

わかりますが、パイプを接続したり問題が発生した場合、wc出力nlは次のようになります。誰でも理由を教えてもらえますか?

$ fuser / | nl
/:                  rcrrcrcrcrcrcrcrcrrcrcrcrcrcrcrcrcrcrcrrrcrrcrcrcrcrcrrrrrrcrcrcrrcrrrrrr
     1    1354  1362  1370  1371  1395  1399  1403  1410  1414  1428  1451  1458  1470  1472  1477  1480  1487  1492  1500  1504  1508  1513  1516  1551  1563  1567  1569  1586  1592  1629  1630  1633  1645  1660  1695  1712  1728  1885  2262  2273  2585  2602  3342  3799  4618

ベストアンサー1

fusionrはいくつかを標準出力に送信し、一部は標準エラーとして送信します。

出力はどのように分割されますか?

パイプメカニズムは標準出力のみをキャプチャします。

一般フューザー

mybox $ fuser /
/:                     350r   356r   357r   364r 10484rc 10485r

次に、リダイレクトしてpidがaにあり、ファイル形式(cまたはr)がstderrにあることを確認します。

mybox $ fuser / > a
/:                  rrrrrcr

ファイル 'a' は新しい行で終わりません。

mybox $ cat a
   350   356   357   364 10484 10485mybox $

今両方リダイレクトします。

mybox $ fuser / > aa 2> bb

mybox $ cat aa
   350   356   357   364 10484 10485mybox $
mybox $ cat bb
/:                  rrrrrcr
  • 2>リダイレクトstderr

1 つのコマンドで両方送信

mybox $ fuser / > cc 2>&1
mybox $ fuser / 2>&1 | wc
    1       8      71
mybox $ fuser / 2>&1 | nl
    1  /:                     350r   356r   357r   364r 10484rc 10485r 11761r
  • 2>&1「マージ」stdoutstderr

出力が分割されるのはなぜですか?

fusionrの主な用途の1つは、マウントポイントを「保持」するプロセスを終了することです。

上記のコマンドに基づいて、ファイルの内容を使用してすべてのプロセスを終了できます。

mybox $ fuser /foo/bar > a
/foo/bar:                  rrrrrcr

mybox $ cat a
   350   356   357   364 10484 10485mybox $
mybox $ kill $(<a)
  • $( ) 構文 意味: 'a' ファイルの内容

おすすめ記事