Unix & Linux

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

6
コマンドが成功した場合にのみ出力を抑制するにはどうすればよいですか?
通常成功するセカンダリコマンドの出力を抑制することにより、スクリプトの出力を単純化したいと思います。 ただし、-qそれらを使用すると、時々失敗するときに出力が非表示になるため、エラーを理解する方法がありません。さらに、これらのコマンドは出力をに記録しますstderr。 成功した場合にのみコマンドの出力を抑制する方法はありますか? たとえば、次のような(ただしこれに限定されません): mycommand | fingerscrossed すべてうまくいった場合fingerscrossed、出力をキャッチして破棄します。それ以外の場合は、標準出力またはエラー出力(何でも)にエコーします。

2
なぜnicenessが-20から19の範囲にあるのですか?
このniceコマンドを使用すると、プログラムのスケジューリングの優先順位(「ナイスネス」)を調整できます。私が使用したすべてのUnixライクシステムでは、ナイスネスは整数の範囲で指定されます。-20が最も好ましいスケジューリング優先順位、0がデフォルト、19が最も好ましくありません。 デフォルトのナイスネスとして0を使用するのは十分直感的ですが、なぜ範囲のエンドポイントとして-20と19が選択されたのですか?なぜ-128と127は、符号付き8ビットバイトにぴったり収まるのでしょうか?あるいは、小数の人間にとってより直感的な-100から100、または同様に、しかし人間工学的には-99から99である-100から100でないのはなぜですか?-20から19の範囲は任意に選択されましたか、それともnice最初にインターフェースをとったスケジューラーの内部と何らかの関係がありますか?(少なくともLinuxでは、スケジューラーが0から139の範囲の優先順位を使用するため、そのような関係は今日ないことを理解しています。しかし、-20から19の範囲の歴史的な理由に興味があります。)

2
タイムアウトが原因ですべてのSSH試行が失敗するのはなぜですか?
私はsshと関連技術を使うのが初めてなので、基本的なことを理解していない可能性が非常に高いです。(これは、代わりにServer Faultの質問かもしれません。 (所有している)Webサーバーにsshしようとしていますが、タイムアウトのために接続が確立されません。 ~ $ ssh -vvv DOMAIN.com OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /Users/USER/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug1: /etc/ssh_config line 102: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to DOMAIN.com [123.45.67.89] port …
22 ssh 

5
デーモンのように起動および停止できるように、シェルスクリプトのサービスを作成するにはどうすればよいですか?
私はCentOS 7を使用していますが、目的は5秒ごとにcronを作成することですが、調査したところ、cronを1分間しか使用できないため、今やっていることはシェルファイルを作成したことです。 hit.sh while sleep 5; do curl http://localhost/test.php; done しかし、右クリックして手動でヒットしました。 私が欲しいのは、そのファイルのサービスを作成して、自動的に開始および停止できるようにすることです。 サービスを作成するスクリプトを見つけました #!/bin/bash # chkconfig: 2345 20 80 # description: Description comes here.... # Source function library. . /etc/init.d/functions start() { # code to start app comes here # example: daemon program_name & } stop() { # code to …

2
CTRL + 4(およびCTRL + \)はbashで何をしますか?
私はちょうどことを偶然見つけたCTRL+ 4 読ん閉じプログラムstdinのコマンドラインからの入力を。 これは、 読み取りプログラムにCTRL+ 4またはCTRL+ を入力したときの外観です/stdin $ cat wefwef wefwef ^\Quit $ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. ^\Quit $ 私が手^\Quitに表示して、プログラムが終了します。^Cまたはを使用した場合と比較した場合の違いは何^Dですか?何を^\Quitするの? 編集:CTRL+ \がまったく同じことをすることがわかりました。

5
bashシェルスクリプトでの実行とソースの区別
私がここで求めているのは、非常に非正統的/型破り/危険であるか、または、Google-fuのスキルがちょうどいいものではありません... でbashシェルスクリプト、それは別のシェルスクリプトによってソース取得された場合に伝えるの方法のいずれかの簡単な存在である、またはそれ自体で実行されていますか?つまり、次の2つの動作を区別することはできますか? # from another shell script source myScript.sh # from command prompt, or another shell script ./myScript.sh 私が考えているのはbash、ソース化されたときに利用できる機能を含むユーティリティのようなシェルスクリプトを作成することです。ただし、このスクリプトが単独で実行されている場合は、定義された関数にも基づいて特定の操作を実行するようにします。このシェルスクリプトが取得できる環境変数のようなものはありますか、例えば some_function() { # ... } if [ -z "$IS_SOURCED" ]; then some_function; fi できれば、フラグ変数を設定するために呼び出し元スクリプトを必要としないソリューションを探しています。 編集:スクリプトのソースと実行の違い、使用されているスクリプトの違い(両方の方法で)を伝えることができるかどうかをここで見つけようとしていることを知っています。

3
空のシェル変数を使用するとエラーが発生します
時々$PROJECT_HOME/*、プロジェクト内のすべてのファイルを削除するために使用します。環境変数PROJECT_HOMEが設定されていない場合(私が設定suし、新しいユーザーがこの環境変数を設定していないため)、ルートフォルダーからすべてのファイルの削除が開始されます。これは終末論的です。 bashシェルで未定義の環境変数を使用する場合、エラーをスローするように構成するにはどうすればよいですか?

1
iptablesのテーブルとチェーンの走査方法
Linuxには3つの組み込みテーブルがあり、それぞれに次のような独自のチェーンがあります。 フィルター:事前、事前、事後 NAT:事前ルーティング、入力、出力、ポストルーティング MANGLE:事前ルーティング、入力、転送、出力、ポストルーティング しかし、もしあれば、どの順序でどのようにトラバースされるのか理解できません。たとえば、次の場合にどのようにトラバースされますか? 同じローカルネットワークのPCにパケットを送信します 別のネットワークのPCにパケットを送信するとき ゲートウェイがパケットを受信し、それを転送する必要がある場合 自分宛のパケットを受け取ったとき その他の場合(ある場合)

2
パーミッションdrwxr-xr-xを他のフォルダーに設定する方法は?
私は以下のようなフォルダ内にいくつかのディレクターがいます- teckapp@machineA:/opt/keeper$ ls -ltrh total 8.0K drwxr-xr-x 10 teckapp cloudmgr 4.0K Feb 9 10:22 keeper-3.4.6 drwxr-xr-x 3 teckapp cloudmgr 4.0K Feb 12 01:44 data 私はこのようなこのようなものにアクセス許可を変更する必要があるいくつかの他のマシンにもいくつかの他のフォルダを持っていますdrwxr-xr-x。 つまり、どのようにフォルダのアクセス許可を変更できますdrwxr-xr-xか?私chmodはこれでコマンドを使用する必要があることを知っていますが、これに使用すべきchownの値は何ですか?

2
メッセージをsendmailにパイプするための形式は何ですか?
次のコマンドを使用して、メッセージをその場で作成し、送信します。 echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com ファイルから情報を送信するときは、次のようなことをするようです: sendmail email@example.com mail.txt 次に、sendmailは各行をヘッダーとして認識し、解析します。ただし、上記で送信した方法では、すべてが件名になります。 ヘッダーを含むメッセージをsendmailにエコーしたい場合、フォーマットは何ですか?どうやってやるの?
22 shell  email  sendmail  echo 

2
非表示のサブディレクトリをgrep -rから除外する
私はsvnローカルコピーを持っています、文字列some_stringで検索したいです。 $ grep some_string * -r lang/en:some_string=Some string lang/.svn/en:some_string=Some string しかし、もう少し進めば、最初のレベルの隠しディレクトリは除外されるようです: $ cd lang && grep some_string * -r en:some_string=Some string 最初の深さレベルだけでなく、出力から隠しsvnディレクトリを削除するにはどうすればよいですか? $ grep some_string * -r --which_option_here? lang/en:some_string=Some string
22 grep  recursive 


2
netstat — IPv4デーモンが-A inet6にのみリストされているポートをリッスンするのはなぜですか?
私はコンピューターを持っています: Linux superhost 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux すべてのインターフェイスでポート80でApacheを実行しnetstat -planA inet、には表示されませんが、予期せずに次の場所にありnetstat -planA inet6ます: Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp6 0 0 :::5672 :::* LISTEN 2402/beam.smp tcp6 0 0 :::111 :::* LISTEN 1825/rpcbind tcp6 0 0 :::9200 :::* …
22 linux  debian  ipv6  netstat  ipv4 

2
「ユーザー空間」のcpufreqガバナーを使用してCPU周波数を設定できません
私はラップトップ(Linuxを実行)のCPU周波数を変更しようとしていますが、成功していません。 詳細は次のとおりです。 # uname -a Linux yoga 3.12.21-gentoo-r1 #4 SMP Thu Jul 10 17:32:31 HKT 2014 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux # cpufreq-info cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: intel_pstate CPUs which run at …

3
コマンドが失敗してもメイクを停止せず、終了ステータスを確認します
コマンドが失敗しても停止しないようにGNU Make 3.81に指示しようとしています(そのため、コマンドの先頭にを付けます-)が、次のコマンドで終了ステータスを確認し、より有益なメッセージを出力したいです。しかし、以下の私のMakefileは失敗します: $ cat Makefile all: -/bin/false ([ $$? -eq 0 ] && echo "success!") || echo "failure!" $ $ make /bin/false make: [all] Error 1 (ignored) ([ $? -eq 0 ] && echo "success!") || echo "failure!" success! 上記のMakefileが「成功!」とエコーするのはなぜですか。「失敗!」の代わりに ? 更新: 受け入れられた回答をフォローし、さらに詳しく説明すると、次のようになります。 failure: @-/bin/false && ([ $$? -eq …
22 make  gnu-make 

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