タグ

5とlinuxに関するagxのブックマーク (67)

  • シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋

    シェルスクリプトで標準入力を加工する際に若干ハマリかけたので、今回はそのお話をしたいと思います。 みなさんのシェルスクリプトライフの一助になれば幸いです。 標準入力を加工するシェル関数、例えば、 入力を文とするメールを送るシェル関数 ログを入力として受け取り、集計や解析をするシェル関数 を書く場合、みなさんどういう風に書いているでしょうか。 私は今までこんな風に書いていました… send_mail() { from='sender@example.org' to='receiver@example.org' { echo "From: ${from}" echo "To: ${to}" echo "Subject: test" echo cat - } | qmail-inject -A -f${from} } make_mail_body | send_mail これの何が問題かという

    シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋
    agx
    agx 2007/07/14
  • Manpage of XSET

    Section: User Commands (1) Updated: Release 6.3 Index xjman/web INDEX 名前 xset - X ユーザ設定ユーティリティ 書式 xset [-display display] [-b] [b on/off] [b [volume [pitch [duration]]] [[-]bc] [-c] [c on/off] [c [volume]] [[+-]dpms] [dpms standby [ suspend [ off]]] [dpms force standby/suspend/off] [[-+]fp[-+=] path[,path[,...]]] [fp default] [fp rehash] [[-]led [integer]] [led on/off] [m[ouse] [accel_mult[/accel_

    agx
    agx 2007/05/23
    コマンドでXの設定
  • える - higepon blog

    id:nagayamaに教えてもらった。 alias l='ls --color=auto -lh' -h は僕が勝手に付けました。

    える - higepon blog
  • bashにて複数端末間でコマンド履歴(history)を共有する方法 (iandeth.)

    Tera Term 等の端末を複数同時に立ち上げて作業したり、screenにて複数の仮想端末を同時並行で操作する際、コマンド実行履歴が端末間で共有できなくて困る事が多々あります。「さっきのfindコマンドをもう一度... 引数どう書くんだっけなぁ... あ、確かコマンド履歴にあったはずだなぁ... ちっ、それはあっちの端末の履歴だったか」みたいな。zshには端末間のコマンド履歴を常に同期できる'SHARE_HISTORY' なるオプション(*1)があって素敵なのですが、同じことを bash で実現する方法を調べたのでご紹介。 (*1) zshの同機能について詳しくはITmedia記事 "豪傑の三種の神器【後編】" を参照の事 不具合) 通常設定のbashで困る事 1. 複数端末間でコマンド履歴の共有ができない 同時に立ち上げている端末間で履歴の共有ができなくて不便に感じることがある。 2.

  • 特定の所有者のファイルだけ所有者を変更 - 技術メモ帳

    今まで find と組み合わせてたのだけれども、 GNU chown だと --from というオプションがあることにさっき気づいた。 以下はカレントディレクトリ以下のファイルで 所有者が from_user:from_group なファイルのみ所有者を変更するためのコマンド。 -c オプションを付けて処理の様子を画面に出した方が良いかも。 $ chown -R --from=from_user:from_group to_user:to_group ./ 今までのやり方だと、だいたい以下のような感じ。 オプションとかは適当なのでおそらく動作しない。 最近マスコミで流行ってる、画面はイメージです メソッドを使用した。 $ find . -type f -user from_user:from_group | xargs chown to_user:to_group 実にどうでも良いが、マス

  • Windows上のファイルにLinuxからアクセスするには(mount.cifs編) - @IT

    Windows上のファイルにLinuxからアクセスするにはでは、smbmountコマンドを使ってWindowsの共有フォルダをマウントする方法を紹介した。ここでは、mount.cifs(Common Internet File System)を使ってWindows上の共有フォルダにアクセスする方法を紹介する。 mount.cifsは、「samba-client」パッケージに含まれている。このパッケージをインストールしていない場合は、yumコマンドでインストールする。

  • デスクトップ作業を自動化するには - @IT

    Fedora Core 6(FC6)には、GUIアプリケーションのテストなどを目的とした「Dogtail」というツールがある。これを利用すれば、GUIプログラムの操作を自動的に行うことができる。 デフォルトの設定では、Dogtailはインストールされない。そのため、以下のようにyumコマンドでインストールを行う。 インストールが完了したら、[アプリケーション]メニューの[プログラミング]-[Dogtail Script Recorder]でDogtailを起動する。初めて起動すると、以下のように支援技術(Assistive Technology)を有効にするかどうかを尋ねるダイアログが表示される。

    agx
    agx 2007/03/06
    GUIの自動化
  • 実行ファイルを実行できる形で圧縮する - 技術メモ帳

    忘れてたのでメモ。gzexe コマンド。 gzexe - compress executable files in place http://www.linux.or.jp/JM/html/GNU_gzip/man1/gzexe.1.html echoするだけのshell scriptを圧縮してから実行してみる。 $ cat ./test.sh #!/bin/sh echo aiueo $ gzexe ./test.sh ./test.sh: -9.1% # 損してる!! $ chmod u+x ./test.sh $ ./test.sh aiueo 仕組みは簡単で、 ファイルの末尾に圧縮したデータを入れていて、 それを展開して実行するコードが上の方に記述されている。 バイナリが含まれるので cat -v させていただいた。 $ cat -v ./test.sh #!/bin/sh ski

    agx
    agx 2007/03/06
  • 技術メモ帳 - 二つのファイルに共通する行をエレガントに抽出

    id:parasporospa さんの uniq -d と uniq -u についての記事を見た。 それぞれ、重複する行、ユニークな行を抽出するオプションなのだが、 それらを利用したおもろいTipsが紹介されている。 uniq の -d と -u - メモ帳 # a, b に共通な行を抜き出す cat a b | sort | uniq -d > common # a にだけ含まれる行を抜き出す cat a b | sort | uniq > all cat a all | sort | uniq -u >only_in_a (中略) 存在意義がわからなかったオプションの使い道を見つけたときは妙に感動する。 僕が、uniq のこれらのオプションを知ったのは、 無能上司に教えてもらったときだ。懐かしい。 uniq -c に鳥肌が立ったのが昨日のように思い出される。 通称アルファギークの Da

    agx
    agx 2007/01/25
  • ハード・ディスクの追加方法が分からない

    新しいハード・ディスクにLinuxのパーティションを作成し,/etc/fstabファイルに設定を追記します。 難易度:★★★ 対象ディストリビューション:すべて 新しいハード・ディスク(HDD)を追加する手順は次の通りです*2。 (1)HDDにパーティションを作成 (2)パーティションをフォーマット (3)HDDに既存データをコピー (4)HDDをマウント ここでは,新しいHDDをIDEインタフェースのプライマリのスレーブに接続するものとします。ハード・ディスクは通常,Linux上からデバイス・ファイルとして認識されます。プライマリのマスターに接続されている場合には/dev/hda,プライマリのスレーブに接続した場合には/dev/hdbとして認識されます。よって,今回のケースは/dev/hdbになります。 (1)HDDにパーティションを作成 まず,HDDにパーティションを作成します。パーテ

    ハード・ディスクの追加方法が分からない
  • くだらないこと - メモ帳

    alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'このエイリアスのかわりに .() { eval "$@" cd .. }とすれば $ . . . . .で任意階層上がれるなあということ。

    くだらないこと - メモ帳
    agx
    agx 2006/12/19
    任意階層にあがれるコマンドの設定
  • 社内から,yumやaptコマンドでパッケージをアップデートできない

    企業内からインターネットにアクセスする場合,プロキシ・サーバーを経由していることが一般的です。環境変数HTTP_PROXYやFTP_PROXYにプロキシ・サーバーのURLを設定します。 難易度:★★★ 対象ディストリビューション:Fedora Core,CentOS,Vine Linux,Debian GNU/Linux お使いのWebブラウザにプロキシ・サーバー(以下,プロキシ)を設定していませんか。設定しているのなら,yumコマンドやaptコマンドを使用する場合にも,プロキシの設定が必要です。 これらのコマンドは,HTTPやFTPのプロトコルを利用してインターネット上にあるサーバーにアクセスし,更新されたバイナリ・パッケージを入手してアップデートを実施しています。このため,プロキシを設定していなければ,ファイルを入手できずにアップデートが実行されません。 このプロキシの設定は, のよう

    社内から,yumやaptコマンドでパッケージをアップデートできない
    agx
    agx 2006/12/17
  • opentechpress.jp - このウェブサイトは販売用です! - opentechpress リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    opentechpress.jp - このウェブサイトは販売用です! - opentechpress リソースおよび情報
    agx
    agx 2006/12/09
    xpdf と kpdf がおすすめらしい。
  • シェルスクリプトを書いていてハマった事 - 技術メモ帳

    さて、今日シェルスクリプトを書いていてハマった事を書く。 改行がついていないとその行は読み込まれないってこと。 たとえば、以下のようなスクリプト test.sh があったする。 while read line do echo $line done 動作は簡単、標準入力をそのまま出力するだけ。 $ echo aiueo > ./data.txt $ cat ./data.txt aiueo $ sh test.sh < ./data.txt aiueo ここまでは普通なんだけど、 次のような改行が含まれていない行は読み込まれない。 僕は小一時間ハマってしまった... $ echo -n aiueo > ./data.txt $ sh test.sh < ./data.txt # 何も出力されない。

    agx
    agx 2006/12/07
    bashでは改行がないと1行と見てくれない
  • lessでtail -f - 技術メモ帳

    less 起動中に、F と大文字で入力する事で、 tail -f のような挙動になるらしい。 知らなかった。 いつでも気軽に直前のログを見に戻る事が出来るのが良いね。 Ctrl + C で元のモードに戻る。 lessの場合 less +内部コマンド名 としておく事で起動時に内部コマンドを実行できるので とりあえず、ltailf という名前でエイリアスしておいた。 alias ltailf='less +F'

    agx
    agx 2006/12/02
  • Adobe Readerが起動できない場合は - @IT

    GNOME端末などでacroreadコマンドを実行して、Adobe Readerを起動しようとすると「expr: syntax error」というエラーメッセージが延々と表示されることがある。また、GNOMEのメニューから起動しても同様に起動しない場合がある。ここでは、この現象が発生した場合の対処方法を紹介する。

    agx
    agx 2006/11/23
  • HugeDomains.com

    fasttracksites.com is for sale Please prove you're not a robot

    HugeDomains.com
    agx
    agx 2006/11/22
  • ディレクトリに名前を付けて簡単に移動できるようにする - 技術メモ帳

    Named Directory という機能があるらしい。 やり方は簡単で、 hash コマンドの -d オプションを利用する。 hash -d 名前=ディレクトリパス 以後、cd ~名前 で移動できるようになる。 たとえば以下のようにすると、 % hash -d test=/usr/local/src こんな感じで移動できるようになる。 % cd ~test ~test% # ここはプロンプトの設定にもよる ~test% pwd /usr/local/src ちなみに、 setopt auto_cd としておくと、 もっと簡単に移動できる。 % ~test ~test% 追記: どうも、hash -d でなくともよく 実際には任意の変数に cd ~変数 とすることでその変数の文字列が指すパスに 移動することが出来るようだ。 したがって、変数なら何でも良いので % src=/usr/loca

    agx
    agx 2006/11/15
  • 技術メモ帳 - 拡張子ごとにコマンドを対応づける

    拡張子ごとにコマンドを対応づける事が出来る Suffix Alias という機能が zsh 4.2系から実装されていたらしい。 知らなかった。 どんな事が出来るのかというと たとえば、 alias -s txt=cat とした場合、 以下のようにするだけで、 % ./file.txt 先ほど設定したコマンドが自動で実行されるようになる。 % cat ./file.txt あとはもうアイデアしだいだが、 拡張子が *.log のときは、tail -f するなんて事も出来る。 alias -s log='tail -f' 参考: http://zshwiki.org/home/examples/aliassuffix http://slashdot.jp/articles/04/03/27/2333234.shtml?topic=80 http://zsh.dotsrc.org/Doc/Rel

    agx
    agx 2006/11/08
    ターミナルで行える拡張子への関連づけ
  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

    agx
    agx 2006/11/05