Unix & Linux

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

1
開いているファイルでfile-nrとlsofのカウントが異なるのはなぜですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 UnixおよびLinux Stack Exchangeで話題になるようにします。 閉じた3年前。 私は突然問題に直面しています。すべてのアプリケーションとサーバーが正常に動作しており、突然開いているファイルの数が急増するのがわかります。 このコマンドで確認しています: cat /proc/sys/fs/file-nr これで確認すると、が表示される44544 0 128000ため、44544が開いているファイルの数です。 しかし、このコマンドで確認するとlsof | wc -l -28384と表示されます。 どちらが正しいですか? 私の最大オープンファイル制限は65535です ulimit -a open files (-n) 65535 開いているファイルを多く使用している上位5つのプロセスを知りたい。私はこれを取得できますlsofが、ここに示されているカウントは、前述した他のコマンドとは非常に異なります。 このコマンドでカウントされたプロセスの詳細を取得できますcat /proc/sys/fs/file-nrか? 以下のリンクによると、オープンファイル記述子を表示する方法はありますが、lsofコマンドを使用しないことはできません 回避策はありますか?開いているファイルが突然使用されるようになったプロセスを見つける必要があります。 更新おめでとう ございます。私がやっていた間違いを見つけましたlsof | wc -lをルートからチェックしていませんでした。それが大きな違いを見た理由です。 ファイル-nrとlsofの出力にはまだ違いがあります| wc -l(ルートから)。lsofカウントはfile -nr countを超えています。この理由は、ファイル-nrがディレクトリの一部(lsofによってファイルと見なされる)を無視するためです。この理由は、Google自体についてのちょっとした調査で見つけました。いずれかの方法!すべての助けに感謝します!

3
bashで組み込みコマンドの使用を明示的かつ安全に強制するにはどうすればよいですか
あります同様の質問は、あなたが例えば交換したい「ラッピング」シナリオ、との取引cd組み込みを呼び出すコマンドでcd。 ただし、shellshockなどの観点から、bashが環境から関数をインポートすることを知っているため、いくつかのテストを行ったためcd、スクリプトから組み込み関数を安全に呼び出す方法を見つけることができません。 このことを考慮 cd() { echo "muahaha"; } export -f cd この環境でを使用して呼び出されたスクリプトはすべてcd破損します(などの影響を考慮してくださいcd dir && rm -rf .)。 コマンドのタイプをチェックするコマンド(便利なtype)と、関数ではなく組み込みバージョン(builtinおよびcommand)を実行するコマンドがあります。しかし、見よ、これらも関数を使用してオーバーライドできます builtin() { "$@"; } command() { "$@"; } type() { echo "$1 is a shell builtin"; } 以下を生成します。 $ type cd cd is a shell builtin $ cd x muahaha $ builtin …
19 bash  security 

2
再帰なしでlsする方法
ディレクトリ内のパターンを持ついくつかのファイルをしようとしています。再帰的ではなく、最初のレベルのみをスキャンしたい。 私のスクリプト: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done 上記のコマンドは再帰的にスキャンします。最初のレベルのディレクトリのみをスキャンするにはどうすればよいですか?
19 bash  shell-script  ls 

5
論理演算子を使用したgrep
論理演算子を使用してgrep検索を実行できるようにするgrepのようなユーティリティはありますか。論理構造を自由にネストおよび結合できるようにしたいと考えています。たとえば、次のようなものが可能です。 grep (term1 && term2) || (term1 && (term3 xor term4)) * これはバニラのgrepと追加のbashスクリプトを使用して実行できることを理解していますが、ここでの目標はそれを回避することです。
19 grep 

1
/ media、/ mnt、および/ run / mountの違いは何ですか?
FHS-2.3では、/mediaCD-ROMなどのリムーバブルメディアのマウントポイントを/mnt保持し、一時的にマウントされたファイルシステムを保持します。 一方、とが/run/mediaあり/run/mountます。私にとって、CDとUSBは/ run / mediaにマウントされています。 私はそれらの間のいずれかの明確な区別が表示されません(/media、/mnt、/run/mount)。彼らの違いは何ですか? fedora 20で同様の傾向(/ run / mediaにマウント)が見られました-GNOME 3.10.4とGNOME 3.10.4およびubuntu 14.04.1(仮想ボックスにインストール)がGNOME 3.10.4で。しかし、Centos 6とGNOME 2.28.2を搭載したシステムでUSBフラッシュを(自動マウンタースクリプトで)接続すると、/media

1
/ devと/ sysの違い
devfsとsysfsの違いは何ですか?どちらも、システムに接続されているハードウェアのリストを保持しているようです。次に、なぜ2つのfsが必要になったのでしょうか?/ sysが取得できる限り、デバイスのやや「生の」リスト(「ser0」など)を維持します。Udevはこれらのデバイスで動作し、さまざまな情報を取得し、さまざまなルールを適用して、それらを認識可能な名前として表示し、/ dev(「カメラ」など)にマッピングします。これが唯一の理由ですか?次に、対応するデバイスを/ dev fs からマウントします(/ sys fs からはできません)/ media fs にマウントします。 / devと/ sys / classの違いで答えを読みましたか?。しかし、私はそれが述べているsys fsの部分を取得することはできません Sysfsには、コンピューターに接続されているデバイスの階層が含まれています / sys内のファイルはデバイスノードファイルではありませんか?次に、どのような種類のファイルですか?
19 linux  mount  devices  udev  sysfs 

9
スクリプトを生き続けるために「while true」を使用するのは良い考えですか?
私はただ別の世界からunixに飛び込んでいて、 while true do /someperlscript.pl done perlスクリプト自体には、ターゲットの場所でファイルが変更されたときに実行されるフォルダー/ファイルウォッチャーが内部にあります。 これwhile trueは良いアイデアですか?そうでない場合、好ましい堅牢なアプローチは何ですか? TIA 編集:これはかなりの関心を生み出したように見えるので、ここに完全なシナリオがあります。perlスクリプト自体は、ファイルウォッチャーを使用してディレクトリを監視します。新しいファイルを受信すると(rsyncを介して到着します)、新しいファイルを取得して処理します。現在、着信ファイルが破損している可能性があり(質問しないでください。ラズベリーパイから来ています)、時にはプロセスがそれを処理できないことがあります。私たちはまだすべてのシナリオを認識していないので、正確な理由はわかりません。 ただし、プロセスが何らかの理由で失敗した場合、次のファイルはエラーを引き起こした可能性のある前のファイルとは完全に無関係であるため、実行して次のファイルを処理する必要があります。 通常、何らかのキャッチオールを使用し、コード全体をラップして、クラッシュしないようにしました。しかし、perlには確信がありませんでした。 私が理解したことから、supervisordのようなものを使用することはこのための良いアプローチです。
19 shell  perl 

2
強調表示されたテキストの周囲にアクセントのあるエッジを表示する、このターミナルウィンドウのグラフィカルトリックの名前は何ですか?
オンラインのターミナルウィンドウのスクリーンショットに、ステータスバーまたは強調表示された線の周りに細い強調表示されたエッジが表示されていることに気付きました。次の例では、行1、5、および389の周りの明るい灰色のエッジに注意してください。 この例では、Emacsモードライン(ステータスバー)の周りの黄色の縁に注目してください。 この効果の名前は何ですか?OS X 10.10のiTerm 2では可能ですか? 更新 いくつかの調査を行い、Emacs Customizeインターフェースのテーマコードを掘り下げた後、エッジを定義するコードを見つけました。Emacsの用語では、と呼ばれ:box、その属性の1つはline-widthです。次に、テーマで定義されているボックス線の例を示します。 '(modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed)))) のドキュメント:boxは、Emacsマニュアルの顔属性ドキュメントにありますが、どのように機能するか、どの端末がサポートされているかについては触れていません。 これは、EmacsのGUIバージョン(Aquamacsなど)の特別な機能であると考え始めましたが、同様のボックスのハイライトが表示されたUbuntu Unityターミナルウィンドウのスクリーンショットを見たことは間違いありません。
19 terminal  emacs  colors 



1
Shellshock Bashの脆弱性はどのように発見されましたか?
このバグは非常に多くのプラットフォームに影響を与えるため、この脆弱性が発見されたプロセスから何かを学ぶかもしれません。それはεὕρηκα(eureka)瞬間でしたか、またはセキュリティチェックの結果でしたか? StéphaneがShellshockバグを発見したことを知っているので、他の人もプロセスを知っているかもしれないので、彼がどのようにしてバグを発見したかについての話に興味があります。

2
RHEL 7サーバーでのavahiの目的は何ですか?
CentOS 7でサーバーマシンを実行すると、デフォルトでavahiサービスが実行されていることに気付きました。 私はそれの目的が何なのかと思っています。 (私の環境では)行われているように思われることの1つは、IPv6接続をランダムに無効にすることです。ログでは次のようになります。 Oct 20 12:23:29 example.org avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1 Oct 20 12:23:30 example.org Withdrawing address record for 2001:1:2:3:4:5:6:7 Oct 20 12:23:30 example.org Registering new address record for fe80::1:2:3:4 on eno1.*. (接尾辞1:2:3...は構成されています) 実際、その後、パブリック2001:1:2:3:4:5:6:7IPv6アドレスにはアクセスできなくなります。 そのため、次の方法でavahiサービスを無効にしました。 # systemctl disable avahi-daemon.socket avahi-daemon.service # systemctl mask avahi-daemon.socket avahi-daemon.service …
19 centos  rhel  ipv6  avahi 

4
仮想コンソールが完全に空白なのはなぜですか?
グラフィカルセッションから仮想コンソールにCtrl+ Alt+ F i(iを1-7および9-12で)で移動すると、完全に黒い画面が表示されます。F8でのみGUIが表示されます。他の人のまばたきさえありません。何かを入力すると、何も見えません。 問題は何ですか?どうすれば修正できますか? 私のシステム $ uname -a Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/issue Linux Mint 17 Qiana \n \l $ lspci | grep VGA 01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev …
19 tty 


3
多数のファイルを含むディレクトリのBashでタブ補完を無効にしますか?
私はディレクトリに保管している多数のファイルで作業しています。そのディレクトリに移動して誤ってTab2回押すたびに、パターンに一致するファイルを表示するのに時間がかかりすぎます(1分以上かかることがあります)。 たとえば、私のディレクトリ構造は次のとおりです。 my-project/ ├── docs/ ├── data/ <---- contains around 200k files. └── analyser/ 私はまだ完了が大好きなので、data/ディレクトリでのみこの機能を無効にする方法はありますか?5秒間のタイムアウトの設定、または特定のディレクトリ内での完了を自動的にオフにするスクリプトのようなものですか?

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