タグ

shellに関するcknbstrのブックマーク (23)

  • read について知っておくと while read で役に立つときが来る…かも - Qiita

    親の環境に影響を与えないためにサブシェルで実行している部分があります。 read に複数の引数を与える read に複数の引数を与えると複数の変数に同時に値を代入可能。区切りは IFS によって変化する。 $ echo 1 2 3 | (read v1 v2 v3; declare -p ${!v*}) # `${!v*}' は前方一致展開です declare -- v1="1" declare -- v2="2" declare -- v3="3"

    read について知っておくと while read で役に立つときが来る…かも - Qiita
  • taskkill――実行中のタスク/プロセスを終了

    GUI全盛の時代にあっても、コマンドラインが利用できれば便利な場面が多いのも事実だ。連載では、スーパーユーザーを目指すあなたのためにWindowsのコマンドラインを1つずつ解説していく。今回はtaskkillだ。

    taskkill――実行中のタスク/プロセスを終了
    cknbstr
    cknbstr 2013/08/05
    taskkill /pid 1234
  • \curl ... | bash ... what's the slash for?

    cknbstr
    cknbstr 2013/07/30
    コマンドの前のバックスラッシュは、alias回避なのか
  • grep, awk, sed でバッファしない方法 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、TechscoreBlogのログ閲覧が日課になっている河野です。 ログをtailでリアルタイムに見ているときに、grep, awk, sedと組み合わせることがあります。ところが、特にオプションを指定しないと、各コマンドでバッファされてしまうので、ログの表示が遅延することがあります。単にアクセス状況を眺めているだけなら問題ありませんが、チューニングしてる時とか気になりますよね。 そんなわけで、今回はバッファさせない方法を紹介します。 grep : --line-buffered grepでのオプションです。正確にはバッファさせないのではなくて、1行毎に出力するというオプションです。 tail -f logfile | grep --line-buffered -vE '\.(css|js|ico|png|gif|jpe?g)'

  • Using awk to print all columns from the nth to the last

    This line worked until I had whitespace in the second field: svn status | grep '\!' | gawk '{print $2;}' > removedProjs Is there a way to have awk print everything in $2 or greater? ($3, $4.. until we don't have any more columns?) I'm doing this in a Windows environment with Cygwin.

    Using awk to print all columns from the nth to the last
    cknbstr
    cknbstr 2013/04/11
    Nthカラム以降のみを出力 cutを使う 2行名以降 $ cat file | cut -d' ' -f2- awkだとfor文使う例しかでてこなくてださい
  • How to escape single quotes within single quoted strings

    Let's say, you have a Bash alias like: alias rxvt='urxvt' which works fine. However: alias rxvt='urxvt -fg '#111111' -bg '#111111'' won't work, and neither will: alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\'' So how do you end up matching up opening and closing quotes inside a string once you have escaped quotes? alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\'' seems ungainly although

    How to escape single quotes within single quoted strings
    cknbstr
    cknbstr 2012/10/19
    aliasの中のシングルクォートのエスケープは '#111111' => '"'"'#111111'"'"' 一旦区切って"'"でシングルクォート出力してつなげる
  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • あなたの知らない>|と<>の使い方

    >や>>、>&といったひんぱんに使われるリダイレクトに対し、ほとんど使われることのないリダイレクトが>|と<>だ。実際には興味深い機能である、これら「知られざる」リダイレクトについて説明しよう。(編集部) あなたの知らないリダイレクト、>|と<> シェルが提供する機能はカーネルが提供している機能をダイレクトに利用するものが多い。つまり、シェルの記述がダイレクトにシステムコールに結び付くような機能が多いということだ。コマンドの実行、パイプ、リダイレクトなどは、そっくりそのままシステムコールに置き換わる。 リダイレクトであれば、ほとんどのケースで>ないしは>>で事足りるはずだ。2>&1という記述はこれで1つの機能に思えるが、これは>&というリダイレクトの典型的な使い方の1つであり、つまりはリダイレクトだ。 >、>>、>&はよく使われるリダイレクトといえる。しかし、sh(1)のマニュアルには次の

    あなたの知らない>|と<>の使い方
  • 弾丸state: Windowsコマンドラインシェル「Nyaos」をもっと便利にする方法

    2011年2月28日月曜日 Windowsコマンドラインシェル「Nyaos」をもっと便利にする方法 前回の記事 Windowsコマンドラインシェル最右翼 「Nyaos」 で紹介しましたnyaosをもっと便利にする方法を追記したいと思います。 入力履歴を残せるようにする。 NT版 UNIX-like tools を導入する。 まず 「入力履歴を残せる」ようにしましょう。 初期設定のままだとシェルを終了すると履歴も消えてしまうんです。それは履歴を残しておくためのファイルがないからなんです。ですから、履歴を残しておくファイルを作成し⇒設定ファイルを履歴を残す設定に変更しましょう。 1、履歴を残すファイルを作るにはシェルに↓のコマンドを打ち込んでください。空ファイルをつくるwindowsコマンドです。覚えておくと便利かもしれません。 type nul < 任意のファイル名(今回は「.his

  • NYAOS:Nihongo Yet Another OSes Shell

    UNIX ライクな行編集・ヒストリ機能 オープンソースソフトウェア(1~3 はGNU General Public License、4==NYAGOS は BSD License) 内蔵カラー ls エイリアス・関数 キー割当てのカスタマイズ ファイル名補完

    cknbstr
    cknbstr 2011/10/12
    NYAOS とは、Windows,OS/2等で稼働する、 UNIXライクな日本語拡張コマンドラインシェルです。
  • bash - 文字列の操作 - あんみのの備忘録

    フィルタを使った文字列処理 実行した結果を``で囲みもとの変数に代入する $ str="abc def ghi" $ str=`echo "$str" | sed -e "s/def/xyz/g"` $ echo "$str" abc xyz ghi 文字列の連結 変数を並べて書く。 余分なホワイトスペースの削除 echoコマンドで出力する際にシェルが余分なスペースを削除するので、それを元の変数に戻す。 $ str=`echo $str` 文字列の長さ exprのlengthオプションを使う $ expr length "$str" 文字列の中の文字列 ある文字列がその中に含まれているか判定し含まれていればその行を書き出すのがgrepコマンド。 文字列が含まれていれば真を、含まれていなければ偽を返す。 #!/usr/bin/sh if echo "$1" | grep [0-9] ; th

    bash - 文字列の操作 - あんみのの備忘録
    cknbstr
    cknbstr 2011/09/22
    文字列の中の文字列 ある文字列がその中に含まれているか判定し含まれていればその行を書き出すのがgrepコマンド。 文字列が含まれていれば真を、含まれていなければ偽を返す。 #!/usr/bin/sh if echo "$1" | grep [0-9] ; then echo
  • シェルスクリプトでシグナルハンドラを書く - mikedaの日記

    シェルスクリプトでシグナルをトラップするにはtrapを使います。 最初の引数が実行コマンドで、その後ろにトラップするシグナルを並べます。 #!/bin/sh trap 'echo exit...' EXIT trap 'echo trap INT or TERM' INT TERM echo start sleep 5 echo end 出力 start end exit... start (^C押す) trap INT or TERM end exit... EXITはプロセス終了時に投げられる番号0のシグナルです。 シグナル指定は名前でも番号でもよくて、他のシグナルはtrap -lやkill -lで見れます。 $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIG

    シェルスクリプトでシグナルハンドラを書く - mikedaの日記
  • Linux => シェルスクリプト

    case文 case文は文字列を比較して、一致したブロックを実施します。サービスの起動スクリプトなどでよく使用されます。

  • tailコマンドって-c使うと超速い - As a Futurist...

    Twitter でつぶやいたら意外と知られて無かったので記事にしておきます。 Linux とかで巨大なログファイルとかを扱うときに、head や tail というコマンドで先頭から何行とか 末尾から何行を見たい時があると思います。 例えばアクセスログで末尾から 10000000 行目辺りをみたいとかいうときに $ tail -n 10000000 access_log | head とかするとかなり遅いと思います。これはログの後ろの方から読み込みながら 行数を計算しているからで、10000000 行分数えないとどこから表示すればいいのかわからないので なかなか結果が返ってこなくてヤキモキしてしまいます。 こんなときに、-cというオプションを使うと超高速で結果が返ってきます。-cというのは -c, --bytes=N output the last N bytes とある様に、ファイルの末尾

    tailコマンドって-c使うと超速い - As a Futurist...
  • Unixのコマンドラインで使えるちょっとした小技をまとめた『Unix Comman-Line Kung Fu』 | IDEA*IDEA

    ドットインストール代表のライフハックブログ

    Unixのコマンドラインで使えるちょっとした小技をまとめた『Unix Comman-Line Kung Fu』 | IDEA*IDEA
  • 最近知ったLinux/UNIXの小技 - harry’s memorandum

    最近知って結構ショックを受けた。 touch hoge.txt と似たような機能。*1 $ > hoge.txt $ ls -l hoge.txt -rw-r--r-- 1 root root 0 Jul 10 03:15 hoge.txt lessでtail -f ができる。 $ sudo less +F /var/log/messages SSHでリモートサーバに対して色々 リモート先のファイルをsortして比較。パスフレーズなしにするか、ssh-agentを使用するかしてください。 $ diff <(sort /home/user/.bashrc) <(ssh user@hostname "sort /home/user/.bashrc") リモートサーバのファイルを編集 $ vim scp://user@hostname//home/user/.bashrc sambaのコマンドで

    最近知ったLinux/UNIXの小技 - harry’s memorandum
    cknbstr
    cknbstr 2010/07/11
    bash で <(cmd) なんて書きかたできたのか
  • Mazn.net » Ctrl-Sの端末ロックを無効にする

    bashではCtrl-Sを入力してしまうと端末がロックされた状態になり何も受け付けなくなります。Ctrl-Qで解除できるが、普段ロックすることないしいらいらするから、無効にする方法を調べてみた。 方法はいたって簡単で # stty stop undef でOK。常に有効にしたい場合は.bashrcなどにどーぞ。 Ctrl-Rはreverse-i-searchでコマンド入力履歴をさかのぼって検索できますが、たまに行き過ぎて戻りたくなることがあります。上記の設定でCtrl-Sのロックを無効にすることでi-searchができるようになり、戻ることができます。 ちなみに、Ctrl-Cで実行中のプログラムを止めるのもこのsttyで無効にできます。どのような機能が定義されているかは”stty -a”コマンドでわかります。 $ stty -a speed 38400 baud; rows 50; col

    Mazn.net » Ctrl-Sの端末ロックを無効にする
  • Unixコマンド生活実践 &mdash; ありえるえりあ

    ディレクトリ操作 lsの使うオプション ...-l,-a,-F,-i # ディレクトリをすべて消す場合(先頭の\は後述) \rm -rf ディレクトリ名 # 全部コピー cp -ar srcdir destdir ...-aはGNU lsのオプション # cp -aがどこまで信用できるか不明、あるいはGNU lsがない時に、使うテクニック tar cf - srcdir | (cd /destdir; tar xf -) ファイル操作(リンク) ハードリンク vs. シンボリックリンク ln #ハードリンク ...異なるファイル名で同一のi-nodeを共有(ls -iで確認可能) ln -s #シンボリックリンク ...ポインタ 注意点 ハードリンクは対称(ln a bでもファイルaとbに主従関係はない) i-nodeはデバイス(dfで見えるディスクデバイス)で一意なので、デバイスを越えて

  • ファイル名補完機能で大文字と小文字の区別をなくすには

    ファイル名の入力を簡単にするにはで、ファイル名を入力する際のファイル名補完機能について説明した。デフォルト設定では、ファイル名の補完は大文字と小文字が区別される。例えば、「vi /etc/X11/XF86Config-4」というコマンドを実行するなら、「vi /etc/X」と入力して[Tab]キーを押さなければ「vi /etc/X11」とは補完されない。大文字と小文字を区別しなくなれば、「vi /etc/x」と入力すればいいので[Shift]キーを押す必要がなくなる。 大文字と小文字の区別をしないようにするには、~/.inputrcに以下の行を追加する。ちなみに、/etc/inputrcに追加すると設定が全ユーザーに適用される。

  • All commands

    Other solutions that involve doing du -sx /* are incomplete because they will still descend other top-level filesystems are that mounted directly at "/" because the * expands to explicitly include all files and directories in "/", and du will still traverse them even with -x because you asked it to by supplying the directory name as a parameter (indirectly via "*"). Show Sample Output 4.0K /mnt 4.