タグ

Linuxとshellに関するd_animal141のブックマーク (37)

  • xargs のオプションいろいろ - Qiita

    xargs は便利なコマンドです。 xargs を使うことにより、複雑なプログラミングをしないでも、手軽に並列処理を実現できます。 準備 実験環境 今回実験に利用する環境は CentOS 6.4 です。 xargs は Linux 系と BSD 系でオプションが異なりますので、ご注意下さい。 実験用スクリプト 今回の実験に利用するスクリプトです。このスクリプトを xargs の引数に渡します。 以降、このスクリプトの様に xargs に渡すコマンドを、 xargs 引数コマンド と呼ぶことにします。 #!/bin/sh # 実行時間を擬態 sleep 1 # コマンド引数表示時の最大文字数 max_len=50 # 最大文字数を超えた場合のトリミング a=$@ if [ $max_len -lt ${#a} ] then a="${a:0:$max_len}..." fi # プロセス番号

    xargs のオプションいろいろ - Qiita
  • 【Linux】xargs コマンドの使い方がよく分からない - きゃまなかのブログ

    概要 xargs とは よく見る利用法 高速に並列処理できる exec オプションを使った場合 xargs コマンドを使った場合 Argument list too long の制限を受けない ドライランオプション 引数の場所を指定する 便利なワンライナー 最後に 概要 結構複雑な処理をサーバーサイドでやりたいと思って検索すると、xargs コマンド使ったワンライナーを良く見かけます。 ただし、xargs コマンドが何者なのか理解することなく、今まで検索したワンライナーをコピペして使ってきました。 折角なので xargs コマンドの使い方をまとめました。 xargs とは 前のコマンド (command1) の実行結果を標準入力 (stdin) から受け取って、次のコマンドの引き数に渡す (stdout) 仲介役をしてくれるコマンドです。 参考: www.atmarkit.co.jp よく

    【Linux】xargs コマンドの使い方がよく分からない - きゃまなかのブログ
  • npm run とかで使うハイフン2つ「--」の意味 - Neo's World

    npm run とかで使うハイフン2つ「--」の意味 npm-run-scripts を使っていると、npm run something コマンドにオプション引数を渡したくて、$ npm run something -- --include=hoge みたいに書いたりする。 他にも、ハイフンから始まるファイルを指定するときに、$ rm -- -some.txt などと書いたりする。 このハイフン2つ -- って何? というのを調べてみた。 どうやらコレは Double Dash ダブル・ダッシュと呼ばれており、UNIX におけるコマンドフラグの終わりを示す記号とのこと。オプションのスキャンを強制的に終了させる記号のようだ。 参考 : 引数"--"(Double dash)のみとは何を意味するのか 参考 : Man page of GETOPT "--" は特殊な引き数で、スキャンのモードに

    npm run とかで使うハイフン2つ「--」の意味 - Neo's World
  • npm run とかで使うハイフン2つ「--」の意味 - Corredor

    npm-run-scripts を使っていると、npm run something コマンドにオプション引数を渡したくて、$ npm run something -- --include=hoge みたいに書いたりする。 他にも、ハイフンから始まるファイルを指定するときに、$ rm -- -some.txt などと書いたりする。 このハイフン2つ -- って何?というのを調べてみた。 どうやらコレはDouble Dash ダブル・ダッシュと呼ばれており、UNIX におけるコマンドフラグの終わりを示す記号とのこと。オプションのスキャンを強制的に終了させる記号のようだ。 参考:引数"--"(Double dash)のみとは何を意味するのか 参考:Man page of GETOPT "--" は特殊な引き数で、スキャンのモードによらず、 オプションのスキャンを強制的に終了させる。 参考:Lin

    npm run とかで使うハイフン2つ「--」の意味 - Corredor
  • Studio ODIN - blog風小ネタ集 > bash の プロセス置換

    script コマンドを使った小技です。 (使っている Linux は Ubuntu 14.04.3 LTS です) bash には 「プロセス置換」という機能があります。 Process Substitution Process substitution is supported on systems that support named pipes (FIFOs) or the /dev/fd method of naming open files. It takes the form of <(list) or >(list). The process list is run with its input or output con‐ nected to a FIFO or some file in /dev/fd. The name of this file is passed a

  • Linuxにおけるハイフンの意味

    ときどき、下記のような表現を見ます。 $ wget -O- http://www.example.com/example.gpg.key | \ sudo apt-key add - この -Oのあとについているハイフンや、apt-key addのあとについているハイフンの意味をきちんと理解していませんでした。 改めて、調べたら、いろいろな方が解説してくれていました。 結論からいうと、 Linuxにおけるハイフンは、標準入出力をさす のですね。 上記の例の場合、wget -O は当はファイル名を引数にもつはずで、 wget -O file となるはずなんです。 でも、今の場合、-を指定することで、 wget -O- はその内容を、標準出力に表示するんですね。 今の場合は、example.gpg.keyが表示されるわけです。 で、上記の場合、さらにパイプがつながっていて、apt-key a

    Linuxにおけるハイフンの意味
  • shellのtrapについて覚え書き - Qiita

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

    shellのtrapについて覚え書き - Qiita
  • trap コマンド | コマンドの使い方(Linux) | hydroculのメモ

    trap コマンド 2016/07/20 trapは外部コマンドではなく、シェルの組み込みコマンドで、シェルスクリプトがシグナルを受信したときの動作を設定するもの。シグナルの種類には番号がついていて、番号ごとに受信したときに実行するスクリプトを設定できる。 例 # SIGINTを受信したときに interrupted と表示して終了する trap "echo interrupted; exit 1" 2 # または trap "echo interrupted; exit 1" INT シグナルの番号ごとに微妙に癖があるものがある。また物のシグナルの他に擬似シグナルというのもある。 bashでは、help trap というふうに help コマンドでシェルの組み込みコマンドのヘルプを表示できる。help も組み込みコマンドである。残念ながらzshではできないみたい。 シグナル番号 0 ま

  • Linuxコマンドを連続して使うには

    どうも、江川(egawa)くんです。 Linuxでシェルスクリプトなどを書いていると以下のような条件に遭遇することがあるので、 備忘録的に残していきたいと、おっもいま〜す。 複数のコマンド実行を一行で記述したい あるコマンドが問題なく実行された場合のみ、次のコマンドを実行したい あるコマンドが失敗したら、次のコマンドを実行したい 更新情報 2016/7/8 新規作成 2016/7/8 レイアウトなど見やすく修正 2016/8/18 テキストを一部修正 種類 ここで出てくるのは以下のみです。 ; (セミコロン) &(アンパサント) &&(アンパサントアンパサント) |(パイプ) ||(パイプパイプ) 使用例 コマンド1が終了したらコマンド2を実行する(実行結果に関わらず) コマンド1が異常終了しても、コマンド2は実行されます 使い方

    Linuxコマンドを連続して使うには
  • find の -exec optionの末尾につく \; と + の違い。 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    find の -exec optionの末尾につく \; と + の違い。 - Qiita
  • Linuxのシェルやコマンドにおけるバッククォートの使い方 - ポップインサイト

    Linuxのシェルスクリプトやコマンドで、バッククォート“を使っている例を目にすることがあると思います。 今回は、Linuxにおけるバッククォートの意味と使い方などについて説明します。 バッククォートとシングルクォートの違い バッククォート“は、シングルクォート”と似ていますが、Linuxでは全く違う意味を持ちます。 シングルクォートは囲った中身を文字列として主力するのに対して、バッククォートは囲った中身をコマンドとして実行しその結果を出力します。 以下は、dateコマンドで日の日付を主力した文章を表示する例です。 $ echo "今日は、`date +%m月%d日`です" 今日は、12月31日です バッククォートの入力方法 バッククォートは、キーボードの「Shift + @」で入力することができます。一方、シングルクォートは「Shift + 7」です。 バッククォートの代わりとなる$(

    Linuxのシェルやコマンドにおけるバッククォートの使い方 - ポップインサイト
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

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

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • #!/bin/sh は ただのコメントじゃないよ! Shebangだよ! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    #!/bin/sh は ただのコメントじゃないよ! Shebangだよ! - Qiita
  • Bashにおける括弧類の意味 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Bashにおける括弧類の意味 - Qiita
  • Exit Codes With Special Meanings

    Table E-1. Reserved Exit Codes Exit Code NumberMeaningExampleComments

  • Recursive rm with condition in Linux

  • Linuxのシェルスクリプト変数の記号あれこれ - 気まぐれな備忘録(仮)

    簡単な表記だと色々な書籍に載っているのだが、 全部が網羅されているわけではないので、 あまり使用しない表記に出くわしたら、ぐぐるしかない。 しかし、$(ダラー)、:(コロン)、=(イコール)などの記号が混じった表記は ぐぐりづらいので、ちょっと整理してみた。 表記 意味 $NAME 変数NAMEを表す。 $1, $2, …, $9 各引数を表す。順に1番目、2番目、…、9番目を意味する。 ${10}, ${11}, … 10番目、11番目、… の引数を意味する。 $0 実行されたシェルスクリプトのファイル名を表す。 $# 引数の数を表す。 $@ 引数をスペース区切りで表す。 $* 引数を環境変数IFSで区切って表す。IFSが空の場合、スペース区切りとなる。 $? 直前に実行された処理の終了コード値を表す。 $$ 現在実行中のシェルのプロセスID値を表す。 $! 直前に実行された処理のプロセ

    Linuxのシェルスクリプト変数の記号あれこれ - 気まぐれな備忘録(仮)
  • コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている

    最近のコンピュータは複数のCPUコアを持っているので並列にコマンドを実行することができます。 たくさんの同じようなファイルに同じ処理を実行することは、私のやっているバイオインフォマティクスではよくあります。 しかし自分で並列に実行するスクリプトを書くことはそれほど簡単ではなく、ログや実行結果の確認など煩雑な処理を書かなければいけません。 この記事では、そうした処理を簡単にするGNU parallelというツールを紹介します。 GNU parallel UNIX系のOSではインストールはとても簡単です。MacでしたらHomebrewを使って、Linuxでは各ディストリビューションのパッケージマネージャからインストールできます。 詳しくはGNU parallelのウェブページを参照して下さい(http://www.gnu.org/software/parallel/)。 Homebrew: b

    コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている
  • シェルスクリプトで単純に並列実行・直列実行を行う - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    シェルスクリプトで単純に並列実行・直列実行を行う - Qiita
  • 雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog

    κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼

    雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog