FreeBSD の Ports Collection リポジトリの CVS での提供が 2 月一杯で終了する (FreeBSD Daily Topics の記事より) 。 CVS 経由での取得を行っているユーザーは、それまでに portsnap や Subversion を使った取得への移行が必要となる。
xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列
以前、ブログに書いて以来、活用しているpsshとpscpなんですが、 付属コマンドのpslurpについてはすっかり忘れて全く利用していなかったんですが、 同僚の刺身さんが結構活用しているというのを聞いて、改めて使ってみると大変便利! Parallel sshで複数のホストへ同時にコマンドを実行する | Glide Note - グライドノート 環境はSL6.1です。 pslurpの使いどころ 複数のサーバからaccess.logなどのログ、my.cnfといった設定ファイルなどの同名ファイルを持ってくる場合 DNSラウンドロビンや、ロードバランサを利用していてアクセスログが分散している場合 通常何も考えずscpとかで持ってくるとファイルが上書きされてしまうので、 ホスト毎にファイルを分けて管理したい場合にpslurpが活躍します。 pipを利用してpsshの導入 2012年なんでeasy_i
hoge[tab]でサブコマンドが補完され、 サブコマンドの後はファイル、ディレクトリが補完されるように。 サブコマンドとファイル名を補完する 下記を.zshrcに記載してexec $SHELL やっていることは compdefで_hogecmdという補完用functionを定義し、hogeコマンドを実行したときに呼び出されるように。 function内のcmdsで補完したいサブコマンドを列挙 CURRENT == 2でhogeのあとに補完されるのはサブコマンドだけと指定 _describeで補完候補で表示されるときにsubcommandというグループになるようにしている サブコマンドのあとは_filesでファイルとディレクトリが補完されるように 参考になるサイト zshの補完関数の書き方がまとまっているところがほとんど無いので下記が非常参考になります。 zsh補完関数を自作すると便利 -
MTA が吐く maillog は普段あまり見ないのだけど、トラブルがあったときには大変重要。これも Mongo に入れれば、問い合わせがあったアドレスで検索してログを管理画面で見るとかできて便利!ということでやってみた。 # fluentd.conf <source> type tail path /var/log/maillog tag maillog format /^(?<date>[^ ]+) (?<host>[^ ]+) (?<process>[^:]+): (?<message>((?<key>[^ :]+)[ :])? ?((to|from)=<(?<address>[^>]+)>)?.*)$/ </source>正規表現がなかなかですが、これで maillog を parse して以下のような生ログから 2012-03-26T19:49:56+09:00 worker00
※ コメントをいただきましたので、一部本文を修正させて頂きました。 1.サーバー・クライアントモデルというのはネットワーク接続なイメージになってしまいますので、取り外しました 2.mouse-utf8に関してコメントを頂いたので補足しました 3.タイトルを「screenの時代は終わり。tmuxでリモートコンソールを便利に使うTips」から「screenだけの時代は終わり。tmuxでリモートコンソールを便利に使うTips」に変更しました(変な誤解を受けられた方がいらっしゃったため) お久しぶりの田中です。最近、ずっと大型案件に携わっていた関係で、あまりブログ等でのアウトプットができていませんでした。これからはドンドン書いていきますので、どうぞよろしくお願いします。本日はGNU screenと同様の機能を持つtmuxを紹介します。 GNU screenやtmuxは、1つのターミナル画面上に複数
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET
こんにちわ。債務者ことゆろよろです。家買いました。 さて、最近こんなまとめが話題になりました。自分もコメントしましたが、すごい情報量になってます。 これ知らないプログラマって損してんなって思う汎用的なツール #JavaScript #PHP #Ruby #Python #HTML - Qiita 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 #PHP #JavaScript #Python #Ruby #HTML - Qiita で、自分のコメントにも書いたのだけど、基本的に仕事はターミナルでssh接続して、Vimでコード書いてるので、この辺の環境構築についてまとめてみた。最近Terminal.appからiTerm2に移行して、screenからtmuxに乗り換えたので、その辺も含めて導入方法を書いておく。 手元の端末はMBPでOSX Lionだけど、ほぼ同
個人的にテキストファイルを処理することが多いのですが,簡単な処理ならUnixのコマンドをパイプとリダイレクトで組み合わせてできることが多くあります.今回はそんななかでもちょっとマニアックなTIPSをまとめてみました. sortコマンドでタブ区切りのファイルを指定する最近知って驚愕したのがこれ.sortコマンドでタブ区切りのファイルを指定したいときは,Ctrl+v Tabでタブ文字を入力していたのですが,$ sort -t $'\t' -k 2,2 のようにしてタブ区切りで2番目のキーでソートすることができます. 1000行おきにデータをサンプリングする1000行おきにファイルからデータをサンプリングしたいときとかは,perlでワンライナーを書くのが速いようです.$ perl -ne '$i++; print unless ($i % 1000)' 某所のコードゴルフによるとこれだけ短くでき
UNIX風環境をWindows OS上で使用してきた時代 黎明期からコンピューターを使ってきた方にとって、キーボードからコマンド名を入力して実行するスタイルは、ごく自然なものでした。GUI(グラフィカルユーザーインターフェース)が主流になってからも、コマンドラインによる操作は依然と残され、我々が使用するWindows 7にも、コマンドプロンプトやWindows PowerShellといったCUI(キャラクターユーザーインターフェース)が用意されていることからも、その重要性を理解できることでしょう。 そもそもコマンドプロンプトで実現するコマンドラインインタープリターは、Windowsが主流になる前のOSであるMS-DOSを基礎にしており、そのMS-DOSもQDOSという16ビットOSを元にしています。しかし、CUIを採用したOSの源流は、1970年代から大学や研究所などに普及したUNIXにあ
皆さん、Windowsでコマンドライン使ってますか? まともなターミナルエミュレータすらないと思っている方もいらっしゃるかもしれませんが、案外何とかなるものです。 これが完成図です。1週間ほどいろいろ試した結果、動作、見た目、フォントレンダリング、どれもおおむね満足行く結果になりました。 Terminal Emulator選び Windowsをお使いの皆様ならご存じかとは思いますが、デフォルトのTerminal Emulatorである cmd.exe が良くないです。 挙動、フォント云々の話をするまでもなく、横幅が80文字固定なのがどうしようもありません。 プロパティのレイアウトのところから幅の変更ができるようでした。ご指摘ありがとうございます。 この辺を見てWindowsで動作するものを一通り試してみたのですが、動作がおかしいか、フォントが気に入らないか、プロプライエタリかで、どれもよく
yebo blogによると、Mac OS X 10.7 Lionでは、一般ユーザーでもshadow化されたユーザーのパスワードにアクセスできてしまうそうだ。 shadow化というのは、ハッシュ化されたパスワードを特権ユーザー以外には見えないようにすることで保護する仕組み。Mac OS XではLinuxなどのように/etc/shadowファイルにハッシュを保存するのではなく、ディレクトリサービスのデータベース内に保存されているのだが、一般ユーザーでもディレクトリサービスにアクセスするコマンド(dscl)を使ってパスワードのハッシュを読むことができるとのこと。10.6以前では一般ユーザーではアクセスできなかったが、10.7でこのように変更されたそうだ。 パスワードが直接閲覧できるわけではないが、ハッシュを読まれてしまうと総当たり攻撃などによってパスワードを解読されてしまう可能性がある。
他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん
五月病が抜け切らないIT系新入社員に贈るシリーズ第1段。 ~/.ssh/configにはいろいろな設定が書けるが、周囲を見渡した限り、あまり活用されているようには見受けられない。そこで、今回は便利な設定をいくつか集めてみた。 長いホスト名に短い名前をつける Host exp1 HostName verrrryyy.looooong.hostname.example.jp ssh verrrryyy.looooong.hostname.example.jpの代わりにssh exp1でログインできるようになる。 ちなみに、zshの場合、configファイルに登録されたホスト名はsshコマンドを打つときに補完されるので更に便利。 特定のホストへログインするときのユーザ名や鍵をカスタマイズする Host github.com User tkng IdentityFile ~/.ssh/id_rsa
シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて
この本の概要 『シェルスクリプト基本リファレンス』の改訂新版。シェルスクリプトの知識はプログラマにとって,一度覚えると長く役立つ知識です。さらに,基本のシェル「#!/bin/sh」を使いこなせれば,一度書いたスクリプトをその後も使い回しやすくなります。本書では,基本を徹底解説しながら,合わせて長く動く,かつ複数プラットフォームに対応できる移植性の高いシェルスクリプト作成技術をわかりやすく説明しました。今回の改訂新版ではLinux/FreeBSD/Solarisの最新バージョンへの対応に加え,ノウハウ&定石や種々活用しやすいサンプルの増強をはじめ充実の内容でお届けします。 こんな方におすすめ 標準シェル「#!/bin/sh」の基本から学びたい方 複数のプラットフォームで動く,移植性の高いシェルスクリプトを作りたい方 日常的に使う,お気に入りのコマンドラインを,簡単にツール化したい方 Unix
jishoはターミナルでアルクの英和/和英検索をするソフトウェア。Emacs Lispもある。 jishoはPython/Lisp製、コンソールまたはEmacs向けのフリーウェア(ソースコードは公開されている)。ソフトウェアの情報を集める上で、英語圏のチェックは欠かせない。むしろ情報源の殆どは英語圏をはじめとする海外にある。全ての文章がささっと分かれば良いが、筆者の能力ではまだまだそのレベルには及ばない。 英和 そのため、分からない単語があったりニュアンスの難しい単語があれば辞書サイトを調べると言った行為が必要になる。Webブラウザの検索欄に入れて、辞書サイトにいくといったステップだが繰り返すと少なくない工数だ。そこで使ってみたいのがjishoだ。 jishoはターミナルで使える辞書ソフトウェアだ。実際の辞書データはアルクのものを使っている。jishoコマンドの後ろに調べたい英単語を入れれ
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを本稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「Perlでプログラミング」と言った場合はともすれば
移転しました http://please-sleep.cou929.nu/20101230.html
■ [Samba]ファイル日付のコピーとACLのコピー 某所のやりとりに付き合って、かなり調べこんじゃいました。 コマンドの仕様なのか、Windows の仕様か Samba の仕様か……結構複雑でした。後、実は Windows XP と Windows Server 2008 とでも、微妙に動作がちがうっぽい感じも……。 結論は、別途まとめておきたいと思います。 ■ [コンピュータ]ファイルの最終アクセス時刻を調べる(Windows/WSH) 普通にエクスプローラからアクセスすると、アクセスした時点でファイルの最終アクセス時刻が更新されちゃって意味ないので、適当に WSH してみました。 やっつけなのでファイルとフォルダの判別とかまったくしてませんです。 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く