タグ

2015年6月23日のブックマーク (12件)

  • シェルスクリプトで排他・共有ロック&セマフォ - Qiita

    どのUNIXでも通用するロック機構はあるのか? 他言語では大抵用意されているロック機構であるが、シェルスクリプトにはロック機構を直接実現するコマンドが無い。flockコマンドやlockfコマンドなどOSによっては独自コマンドがあるが、OS独自ゆえ、それらを使ってしまうとシェルスクリプトの可搬性は失われてしまう。(しかも前述の2つのコマンドは、ファイルロックのコマンドであるうえに、ロックがかかっている間は次の行に進めない) 「特定のOSに縛られてしまうくらいなら他の言語を使う方がよっぽどマシだ」といって、シェルスクリプト信者(POSIX原理主義者)を増やせないのが悔しかったのだが、ようやく作るのに成功したので報告する。 これで、 排他ロック…………………pexlockコマンド 共有ロック…………………pshlockコマンド セマフォ……………………(pshlockコマンド、共有ロックの応用)

    シェルスクリプトで排他・共有ロック&セマフォ - Qiita
  • USP友の会:UNIXはシェル上でJOINができる。せっかくあるのに使わないの?

    こんにちは、ふたたびUSP MAGAZINE編集長のまつうらです。昨日は風が炸裂してましたけど、爆弾低気圧って呼ぶんですね。ニュースの題名を見た時は「テロでも起こったか!?」とびっくりしました。 さて、その1、その2に続き、OSC 2012 Tokyo/Springでのセッションの続きとするつもりだったのですが、書いているうちにだいぶその中で語られていたネタから逸脱してしまったので、フツーに行きます。でも、その2で語らなかったJOINの話です。 INNER JOINがUNIXコマンドでできるの知らなイカ? INNER JOIN(内部結合)といえば、SQLをかじったりすれば必ず登場する概念。そのINNER JOINをするコマンドが古くからUNIXに存在する(POSIX標準である)のを知っていますか? ―「知らない」 じゃあ、UNIX系OSのターミナル用意して試してみましょう。 まずは、会員番

  • コマンド:xargs: UNIX/Linuxの部屋

    最終更新 2019-01-26 UNIX/Linux の xargs コマンドは、標準入力から受け取った文字列を、コマンドの引数として指定できるコマンドである。コマンドライン文字列が長すぎるエラーを回避に使用する。また、xargs の実装によっては並列実行して処理を高速化させることができる。

    コマンド:xargs: UNIX/Linuxの部屋
  • shellのtrapについて覚え書き - Qiita

    trap コマンドとは 実行中のプロセスに対するシグナルを検知し、指定された処理を返すコマンドです。 ・・・と、言ってもよくわからないと思います。 特に「シグナル」。 シグナル とは 実行中のプロセスに対して、特定のイベントを通知するために送出されるものです。 よく使用されるのは、プロセスを終了するためのシグナルである SIGINT や SIGKILL です。 シグナル送出に良く利用するのは、kill コマンドと、ショートカットで利用する Ctrl + C ではないでしょうか。 上記のコマンドは、プロセスの強制終了などで利用した事があると思います。 上記の強制終了の kill コマンドは、オプションで -9 を指定しています。 -9 は SIGKILL を意味し、指定したプロセスに対し強制終了のシグナルを送出します。 プロセスがこのシグナルを送られると、どんな状態であろうと強制終了させられ

    shellのtrapについて覚え書き - Qiita
  • シェルスクリプトの文法チェックを全自動で行う「ShellCheck」が参考になる!

    シェルスクリプトの勉強を始めたばかりの人にもオススメできるツール「ShellCheck」のご紹介! シェルスクリプトの「文法チェック」には、いくつか方法があるわけですが、なかでも「ShellCheck」は非常に簡単に扱えるだけでなく、エラー箇所を具体的に指摘してくれるので助かります。 使い方!最もオススメな使い方が、公式サイト上でそのままチェックする方法! シェルスクリプトをブラウザ上で入力することができ、何もしなくても自動的にデバッグされて下段に結果を表示してくれます。 例えば、よくありがちな変数の「$」を付け忘れた場合…。(echoで、変数yの$を付け忘れてますね…)

  • ゴールデンウイークシェル芸問題のまとめ – 上田ブログ

    問題はこんなものでした 以下のように1から100まで数字が書いてあるansというファイルを作り、ansの中から素数でない数をワンライナーだけで消し去ってください。(ansの中身を書き換えるということです。forもwhileもなしで、コマンドはパイプでつないで。) ueda@ubuntu:~/tmp$ seq 1 100 > ans 問題の意図 意図は隠しつつ伝える必要があるので毎回苦労しますが、この問題は素数がポイントなのではなく、「入力ファイルを出力で上書きできますか?」ということがポイントです。 こういうことを言うと「シェルによって違う」という話になりがちですが、まずは理詰めで考えることの方が大事なんじゃないかなと、個人的には思います。コード読めという話も出てきますが、これも同様、理詰めで考えればわざわざ読む必要もありません。 攻略法 理屈で考えると、パイプラインの中身がすべて同時に動

  • xargs コマンド | コマンドの使い方(Linux) | hydroculのメモ

    xargs コマンド 2015/05/13 ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。ファイル一覧でなくてもなんでもよい。 わかりづらいので、例として、カレントディレクトリの配下にある拡張子が .txt のファイルをすべて削除したいとする。 まずはfindコマンドでリストアップする。 $ find . -name "*.txt" この結果が以下のようだったとする。 foo.txt sub/bar.txt これらを削除するには $ rm foo.txt sub/bar.txt を実行すればよいが、findの結果が大量にある場合はrmコマンドを手で書くのは手間なので、 findの結果をそのままrmに渡したい。rmコマンドが標準入力からファイル名を受け取ってくれるならパイプでつなぐだけだが、残念ながらrmにはパラメータで渡す必要がある。こ

  • Linuxのtracerouteコマンドで覚えておきたい使い方8個 | 俺的備忘録 〜なんかいろいろ〜

    特定のホストへのルートを確認するコマンドといえば、tracerouteコマンドだ。 今回は、そんなtracerouteコマンドで覚えておきたい使い方についてまとめてみる事にした。 1.基的な使い方 tracerouteコマンドは、基的には以下のように実行し、そのホストに至るまでの経路(どこのルーターを通っているか等)を確認出来る。 デフォルトでは、UDPプロトコルを利用して通信確認を行う。 traceroute 対象ホスト(ホスト名・IPアドレス) tracerouteコマンドでは、対象のホストに向けてTTLを1づつ足して通信確認を行っている。 そのため、通信の途中で傷害が発生していたとしても、どこの経路で発生しているのかがわかるようになっている。 動作のより詳しい解説については、こちらのサイトが記述してくれている。 2.使用するプロトコル・ポートを変更する デフォルトではUDPプロト

  • 俺のオワコンコマンド整理 - 続 カッコの付け方

    2015年 オワコンコマンドを整理します。 去年の自分なら、「オワコンコマンドも yumで入れればいいじゃないか!」と思っていましたが、どうやら時代がそれを許してくれないようです。Dockerをやるつもりがあるなら、代替可能な古いコマンドを使うのは捨てたほうがいいです。イメージ次第ですが、netstatなどはもう入っていないことが多いです。 grep -> ag なんとあのgrepはもうオワコン入りです。ag (Ther Silver Search)というコマンドがgrepよりもは早く、かつ賢く、find & (xargs) & grep も葬り去ることになりました。すぐに消えることはなさそうですが、捨てる準備をしておきましょう。マカーも brew install ag で一発です。 github.com telnet -> nc NEでも無い限り、当のtelnetが必要なことはほとんど

    俺のオワコンコマンド整理 - 続 カッコの付け方
  • 漢のzsh(12) 一時ファイルはもういらない - プロセス置換

    コマンドで指定するファイルをファイルではなくコマンドとして直接指定することで、一時ファイルを作成する必要がなくなる。どれだけ使うシーンがあるかと問われると頭を捻ってしまうが、ログ解析や差分チェックなどを使っている人からは「けっこう便利に使っている」という話も聞く。 さあ、今回はこのマニアックな機能を堪能していこう。ちなみに今回の内容はその多くをzshマニュアルの「Process Substitution」の項を参考にしている。コマンド例もこれを参考にしたものだ。より詳しく知りたい読者の方は、そちらも合わせてご覧いただきたい。 例えばこういった場合 CSVファイルを編集する例を考えてみよう。表2.1のようなテーブルデータを用意したとしよう。テキスト状態ではプロンプト2.1のようになっている。 表2.1 CSVファイルの例 氏名 年齢 性別 備考

    漢のzsh(12) 一時ファイルはもういらない - プロセス置換
  • 最強のシャーペン、最強のボールペン : BIPブログ

    1 以下、\(^o^)/でVIPがお送りします 2015/06/20(土) 22:38:11.933 ID:X+PYgIYJ0.net

    最強のシャーペン、最強のボールペン : BIPブログ
  • 「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法