タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとUnixとUNIXに関するagwのブックマーク (247)

  • Geekなぺーじ:UNIX哲学の基本原則

    「Basics of the Unix Philosophy」でUNIX哲学の基原則がまとめられています。 UNIXの設計思想として紹介されていますが、多くは普通のソフトウェアを設計する場合にもあてはまると思われます。 1. Rule of Modularity(モジュール性): きれいなインターフェースで接続された、簡潔な部品を書きましょう。 2. Rule of Clarity(明瞭さ): 明瞭さは賢さよりも良いです。 3. Rule of Composition(構成): 他のプログラムと接続できるようにプログラムを設計しましょう。 4. Rule of Separation(分離): ポリシーとメカニズムを分離しましょう。エンジンとインターフェースを分離しましょう。 5. Rule of Simplicity(単純性): 単純化された設計をしましょう。複雑さは必要な時だけ追加しま

  • suid rootされているコマンド - mteramoto's blog

    permissionの話題。せっかくなのでちょっと調べてみる。 passwd なんかは suid bit が有効になっていたりする。 パーミッション - odz buffer passwdファイルはrootじゃないとさわれないから、passwd(1)はsuid rootされている必要がある。 実行可能かつsuidビットが立っているファイルは、findを使えば簡単に検索できる。 > find "どっかのディレクトリ" -xdev -type f \( -perm -u+x -or -perm -g+x \) \( -perm -u+s \)手元のMac OS X 10.4で/bin, /sbin, /usr/bin, /usr/sbinあたりを調べてみた。 > find /bin -xdev -type f \( -perm -u+x -or -perm -g+x \) \( -perm -

    suid rootされているコマンド - mteramoto's blog
  • find - odz buffer

    実行可能かつsuidビットが立っているファイルは、findを使えば簡単に検索できる。 > find "どっかのディレクトリ" -xdev -type f \( -perm -u+x -or -perm -g+x \) \( -perm -u+s \)うん?-perm のパラメータをいじれば、もっとシンプルに出来るんでは。ていうか最後の括弧必要ないですよね? find /usr/bin -xdev -type f -perm +0011 -perm -4000 -user root一応 "-user root" も付け加えてみた。詳細は man 参照。とくに "-perm +mode" とか "-perm -mode" のあたり。"-maxdepth 1" をつけてもいいかもしれない。 どうせなんでまとめてリストする方法とか。(追記あり) % echo "$PATH" | tr : \\0

    find - odz buffer
  • 一時的に環境変数を変更する - odz buffer

    ref:技術メモ帳 - システム管理に使えるファイル更新監視テク GNU tail は inode までみるのか。やりすぎな感もするなぁ。 日語のmanにはこういう(新しい)の載っていないので unset LANG; man tail して詳細を。 む、自分なら % LANG=C man tailとするなぁ。bash/zsh ならコマンドの前に varname=value というのがあると、そのコマンドを実行するときだけ環境変数を設定してくれる。主に man か configure のときに実行する。 % CFLAGS="-mtune=opteron -O3" ./configureとか。 % CPPFLAGS="-I$HOME/opt/include" LDFLAGS="-L$HOME/opt/lib" ./configureとか。

    一時的に環境変数を変更する - odz buffer
  • システム管理に使えるファイル更新監視テク - 技術メモ帳

    システム管理とかしてると、特定のディレクトリ以下のファイルの更新を 調べたいときとかっていうのはわりとある。 どんなファイルが更新されてどういった内容に変化したのかを見える化。 またしても Linux / watch ネタだ。FreeBSDはportsで、mac osx(darwin)は どこかで公開されてたdmgを使ってる。 中毒性があるので未成年の使用は禁止されている。 カレントディレクトリ内のファイルを 最近更新があったファイルを上の方に表示し、 最終行2行を表示し続けるもの。 $ watch -n2 'tail -n2 `ls -t`' Every 2s: tail -n2 `ls -t` Wed Feb 28 01:04:40 2007 ==> test2.txt <== unko ==> test4.txt <== aiueoadfsaf ==> test1.txt <== e

  • どさにっき - 終わりのうしろ

    2007年2月21日(水) ■ anarchy golf _ というわけで、参戦してみた。いっさいズルはなし。 _ example_comでこれまでの記録を7バイト縮めてみた。\ もしかしたらあと数バイトほど小さくできるかもしれないけど、それを越えて小さくするには、圧縮済みデータを外部コマンド経由で展開するしか方法はないと思う。たぶん。 _ exit statusも、一時はいちばんだったんだけど、15分でズルに抜かれた。\ _ invert caseはズルなし gawk なしのものを考えてみたけど、66バイトがが限界。ズルなしでこれより30バイトも縮めるのは到底無理。\ _ 気がつくとあっというまに時間が過ぎてる。時間つぶしにはもってこいだが、やらなきゃいかん仕事があるときにやるもんじゃないな……。 2007年2月22日(木) ■ きょうのあなごる _ \ tennis - 6バイト減らし

    agw
    agw 2007/02/23
    awkで$0に代入。
  • ヒアドキュメントとパイプ - odz buffer

    ref:Blog/2007-2-15 - Rocco の日記 ref:ときどきの雑記帖 リターンズ 2007年2月 う〜ん。cygwin の bash でも cat <<EOF | cat abc $PWD EOF abc /home/oda/ abcで動いているけどなぁ。何が問題なんだろう。駄目なら括弧をつけるとか。 (cat <<EOF abc $PWD EOF ) | cat abc /home/oda/そういや以前。 text=$(cat <<EOF abc $PWD EOF )なんてスクリプトを書いたことがあるな。

    ヒアドキュメントとパイプ - odz buffer
  • test - odz buffer

    昨日の話。 大学で作業してたらなんか、make でプログラムをコンパイルして実行したんだけど何も表示されない、助けてくれ、というから見てみたんだけど、Makefile がこんなの test: test.o gcc -o test test.o test.o: test.c gcc -c -o test.o test.c で、 % testとやって何もでないといっている。あ〜、定番だなと思いながら、 % ./testとやって見せて、 % which test /usr/bin/testとなるのを見せてこっちが実行されたんだと説明。 てか test って /usr/bin なんだ。/bin じゃないんだな。Ubuntu じゃ gzip も more も zless も /bin に入っているのに(でも less は /usr/bin )、test はまだ /usr/bin なのか。 ところで、

    test - odz buffer
  • http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html

  • awkで偶数行出力 - odz buffer

    偶数行出力が awk で 5B? すぐに思いついたのが 7Bだから、何か見落としているのか。 すぐ思いつくのは awk 'NR%2==0'で 7Bytes ですね。ちょっと工夫すると awk 'NR%2-1'で 6Bytes。 awk -v a=1 'a=!a'で 4Bytes なんてのも考えたけど、反則だな。 結論としては awk 'a++%2'と。 て普通に書いちゃったけどいいのかな。もしまずけりゃ誰かコメントよろ。

    awkで偶数行出力 - odz buffer
  • 【コラム】漢のzsh 第1回 最強のシェル、それは「zsh」 (MYCOMジャーナル)

    IDEの発展やAjaxなど現在のデベロッパにとってGUIとうまくお付き合いすることは開発効率を上げるうえで必須といえる。しかしながら、シェルというCUI環境も根強い人気がある。GUIと違ったカスタマイズ、アジリティ、効率の良さ、幅広い対応プラットフォームなど、なくてはならないものだ。 連載ではそうしたCUI環境の充実を補佐することを目的とし、"zsh"について語ってみようとおもう。かつてzshはUTF-8の扱いが弱いところがあったが、それもずいぶんと改善され、ここ1年でzshへ移行しやすい状況が整ってきている。はじめるには悪くないタイミングだ。 最初に軽くzshについて紹介しておこう。 名前につく"z"の文字は、「究極の」という意味がこめられているらしい。系統としてはsh系である。つまり、zshはsh系の超高機能シェルといえるだろう。Linuxなどのユーザーであればsh系であることの意味

  • shell のちょっとしたテクニック - odz buffer

    後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は来は論理演

    shell のちょっとしたテクニック - odz buffer
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

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

    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

  • AI-Enhanced Data Solutions with Database 23ai

    Oracle DatabaseWorld: Multicloud AI Edition Advance your AI and multicloud strategies with Oracle’s latest innovations in database and cloud technologies. Watch the on-demand sessions to learn more. AI for Data Bring AI to your data with built-in AI Vector Search and in-database machine learning; eliminate the complexity and cost of integrating and managing multiple databases—and trying to maintai

    AI-Enhanced Data Solutions with Database 23ai
  • uniq の -d と -u - メモ帳

    ファイル a, b はそれぞれ重複する行を含んでいないと仮定する。 # a, b に共通な行を抜き出す cat a b | sort | uniq -d > common # b にだけ含まれる行を抜き出す cat a b | sort | uniq > all cat a all | sort | uniq -u >only_in_b"Shell Programming Examples" by Bruce Blinn の DirCmp を見ていて発見。 存在意義がわからなかったオプションの使い道を見つけたときは妙に感動する。 Unix コマンドの神秘。 [追記:2007-01-25] "Shell Programming Examples" by Bruce Blinn ftp://ftp.prenhall.com/pub/ptr/hewlett_packard_professiona

    uniq の -d と -u - メモ帳
  • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

    あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

  • 複数のファイルの名前をまとめて変更する on zsh - 技術メモ帳

    最も簡単なやり方を紹介するのを忘れていた。 for file (*.html) mv $file $file:r.htm

  • csplit - メモ帳

    csplit (context split) 正規表現パターンにマッチする行が表れるごとにファイルを分割する。 Makefile をルールごとに分割する。 csplit -n4 -k Makefile '/^[^ ][^ ]*:/' '{1000}'mdoc(7) ファイル foo.1 を、各セクション毎に 1 ファイルへと分割します (最大 20 個): csplit -k foo.1 '%^\.Sh%' '/^\.Sh/' '{20}'最初の 99 行の後およびその後の 100 行毎に、標準入力を分割します。 csplit -k - 100 '{19}'

    csplit - メモ帳
  • くだらないこと - メモ帳

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

    くだらないこと - メモ帳