Unix & Linux

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

2
github.comへの接続時に「X11転送要求が失敗しました」
gitの使用中に奇妙なエラーメッセージが表示されます。 $ git clone git@github.com:Itseez/opencv.git Cloning into 'opencv' Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts. X11 forwarding request failed on channel 0 (...) X11はgitには必要ないという印象を受けたので、これは奇妙に思えました。このクローンは正常に機能したため、これは「エラー」というよりも「警告」の問題ですが、不安定なようです。結局のところ、Gitはないはず必要 X11を。助言がありますか?
13 ssh  x11  git 

5
forループの結果に基づいてこのスクリプトをエラー終了させるにはどうすればよいですか?
set -o errexitエラーが発生するとスクリプト全体が失敗した時点で終了するように使用するbashスクリプトがあります。 スクリプトはcurl、意図したファイルの取得に失敗することがあるコマンドを実行します-ただし、これが発生しても、スクリプトは終了をエラーにしません。 にforループを追加しました 数秒間停止してからcurlコマンドを再試行します falseforループの下部で使用して、デフォルトの非ゼロの終了ステータスを定義します-curlコマンドが成功した場合-ループが中断し、最後のコマンドの終了ステータスはゼロになります。 #! /bin/bash set -o errexit # ... for (( i=1; i<5; i++ )) do echo "attempt number: "$i curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim if [ -f ~/.vim/autoload/pathogen.vim ] then echo "file has been retrieved by curl, so breaking now..." break; fi echo "curl'ed file …

2
シェルで異なる制御文字(^ C、^ D、^ [、…)を表示する方法
シェルに制御文字を入力すると、「キャレット表記」と呼ばれるものを使用して表示されます。たとえば、エスケープ^[はキャレット表記のように記述されます。 bashシェルをカスタマイズして、見栄えを良くしたいです。たとえば、私は自分PS1を変えて、PS2色付けされました。私は今、普通のキャラクターと区別しやすくするために、コントロールキャラクターにもユニークな外観を持たせたいと思っています。 $ # Here I type CTRL-C to abort the command. $ blahblah^C ^^ I want these two characters to be displayed differently シェルで制御文字を異なる方法で強調表示する方法はありますか? 太字で表示することや、通常のテキストとは異なる色で表示することは可能ですか? ここではbashシェルを使用しbashていますが、多くの異なるシェルに適用される解決策があるため、質問にタグを付けませんでした。 制御文字の強調表示がどのレベルで行われるかわからないことに注意してください。シェル自体にあると最初に思いました。今では、bashのようなシェルでの制御文字の使用方法を制御するのはreadlineであると聞いています。そのため、質問にタグが付けられ、まだ回答を探しています。readline


5
コンソールログインが本物かどうかを確認する方法
Windowsでは、Ctrl+ Alt+ Delを押して、ログインウィンドウを表示する割り込みを発生させることができます。 Linuxコンピューターのコンソールにログオンするとき:このログインが本物であるか、資格情報を盗むために偽装されているかをどのように確認できますか?
13 linux  security  login 

7
スクリプトで変数としてスペースを使用して日付出力をフォーマットする方法は?
私はdateこのような素晴らしいフォーマットでコマンドを作りたいです: $ date +"%Y-%m-%d %H:%M:%S" 2015-09-17 16:51:58 しかし、これを変数に保存したいので、次のようなスクリプトから呼び出すことができます。 echo "$(nice_date) [WARNING] etc etc" しかし、それは動作しません $ nice_date="date +%Y-%m-%d %H:%M:%S" $ echo "$($nice_date)" date: extra operand ‘%H:%M:%S’ Try 'date --help' for more information. $ nice_date="date +\"%Y-%m-%d %H:%M:%S\"" $ echo "$($nice_date)" date: extra operand ‘%H:%M:%S"’ Try 'date --help' for more information. $ nice_date='date …
13 bash  date 

6
実行中のカーネルバージョンを確認するにはどうすればよいですか?
イーサネットカードの問題のトラブルシューティングを行っているときに、現在使用しているドライバーに古いカーネルバージョンの問題がある可能性があることがわかりました。現在実行しているカーネルのバージョンを確認するには、どのコマンドを使用できますか?

3
ヘッダーまたはフッターをsedまたはawkストリームに追加する方法は?
sedとawkを通過する大量の出力があります。 出力の先頭にSTARTを付け、回答の最後にENDを付けるにはどうすればよいですか? たとえば、私が持っている場合 All this code on all these lines and all these どうすれば入手できます: START All this code on all these lines and all these END ? 私の試みは: awk '{print "START";print;print "END"}' しかし、私は得た ... START All this code END START on all these lines END START and all these END

5
mawkで独自のスクリプト名を印刷する方法は?
bash $0にはスクリプトの名前が含まれていますが、awkには次の内容でmyscript.awkという名前のスクリプトを作成した場合: #!/usr/bin/awk -f BEGIN{ print ARGV[0] } 実行すると、「awk」のみが出力されます。また、i> 0のARGV [i]は、コマンドラインのスクリプト引数にのみ使用されます。それでは、スクリプトの名前、この場合は「myscript.awk」を印刷する方法は?
13 awk  scripting  mawk 

1
キャレット角括弧角括弧A ^ [[A-どういう意味ですか?
これは既に質問されている場合は申し訳ありませんが、自分でこれを見つける方法はわかりません。検索エンジンで「^ [[A」を検索すると、「^ [[」部分は完全に無視されます。 とにかく、私の質問:ターミナル(Mac)で矢印キーを押すと、文字「^ [[A」、「^ [[B」、「^ [[C」または「^ [[D」が表示されることがあります。DOSを使用しているときに(おそらく)DOSを使用したときに、この数年前に出会ったことを覚えているようです。 なぜこれが起こり、それらはどういう意味ですか?

5
パイプ内に別のtarファイルを作成して、tarファイルの内容をフィルター処理するにはどうすればよいですか?
許可、mtimesなど、保持したいさまざまな属性を持ついくつかのディレクトリを含む外部システムからの単一のtarファイルを考えます。これらのファイルのサブセットを通常のユーザー(rootではない)として簡単に取得するにはどうすればよいですか? 次のようなものを探しています: tar -f some.tar.gz --subset subdir/ | ssh remote@system tar xvz また、このtarアーカイブの主な属性(所有権、グループ、モード、mtime)を保持することも重要です。拡張ヘッダーキーワードなどのtarファイルの他の属性はどうですか? このサブディレクトリに巨大なファイルが含まれる場合に、一時ディレクトリの使用を回避するソリューションのボーナスポイント。
13 pipe  tar 

1
これらのLinux TCPデフォルト設定はどのように決定されましたか?
最近、実稼働環境で問題を追跡するのにかなりの時間を費やしました。データベースサーバーが消失するとpoll()、接続されたクライアントが最大2時間ハングします(libpqクライアントライブラリでの呼び出しの待機)。問題を掘り下げると、切断されたTCP接続がタイムリーに通知されるように、これらのカーネルパラメーターを調整する必要があることに気付きました。 net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75 net.ipv4.tcp_retries2 = 15 上記の4つの値はUbuntu 12.04マシンのものであり、これらのデフォルトは現在のLinuxカーネルのデフォルトから変更されていないようです。 これらの設定は、既存の接続を開いたままにしておくことに大きく偏っており、キープアライブプローブでは非常にけちです。AIUI、デフォルトtcp_keepalive_timeの2時間は、リモートホストへの応答を待っているときに、キープアライブプローブを開始して接続がまだ有効であることを確認するまで2時間辛抱強く待つことを意味します。そして、リモートホストがキープアライブプローブに応答しない場合、それらのキープアライブプローブを9回(tcp_keepalive_probes)、75秒間隔(tcp_keepalive_intvl)で再試行するため、接続が実際に停止していると判断するまでにさらに11分かかります。 これは、フィールドで見たものと一致します。たとえば、psqlリモートPostgreSQLインスタンスに接続されたセッションを開始し、いくつかのクエリが応答を待っている場合、たとえば SELECT pg_sleep(30); そして、リモートサーバーが恐ろしい死を迎える(たとえば、そのマシンへのトラフィックを落とす)ので、接続が停止していると判断するまで、最大2時間11分間psqlセッションが待機しています。ご想像のとおり、これらのデフォルト設定は、たとえばデータベースフェイルオーバーイベント中にデータベースと通信するコードに深刻な問題を引き起こします。これらのノブを下げることは大いに役立ちました!そして、これらのデフォルトの調整を推奨するのは私だけではありません。 だから私の質問は: デフォルトはどのくらいの期間でしたか? これらのTCP設定をデフォルトにする最初の理由は何ですか? Linuxディストリビューションはこれらのデフォルト値を変更しますか? そして、これらの設定の理論的根拠に関するその他の歴史や展望をいただければ幸いです。
13 linux  tcp  history 

4
「yum update --security」に相当するdnf
yum update --securityセキュリティ更新プログラムのみをインストールします。yum-securityプラグインの拡張機能だと思います。 同等のdnfコマンドはありますか?(dnfはFedora 22のyumに置き換わりました)
13 fedora  dnf 

3
「cat> file_name << blah」コマンドの理解方法
次のコマンドでは、catはhere-docのコンテンツを取得し、confという名前のファイルにリダイレクトします。 cat &gt; conf &lt;&lt; EOF var1="cat" var2="dog" var3="hamster" EOF ここでコマンドの順序を理解する方法は?いbash最初のプロセスのすべての他の(ここでは-docの部分)と最終ステップとしては、それが見える&gt; conf部分を?

9
ファイル内のすべての行の5番目の単語を削除するにはどうすればよいですか?
ファイルの各行の5番目の単語を削除したい。 ファイルの現在のコンテンツ: File is not updated or and will be removed System will shut down f within 10 seconds Please save your work 55 or copy to other location Kindly cooperate with us D 期待される出力: File is not updated and will be removed System will shut down within 10 seconds …

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