タグ

unixに関するtykiのブックマーク (9)

  • 研究に使うUNIXとその機能

    私(金野)が研究活動の中で使ってきたUNIXのコマンドや機能のうち、特にプログラムを製作する過程で有用なものを中心に説明します。「流体研ローカルガイド」という名前で、主に卒論生向けに書いてきた文書から、UNIXの一般論について書かれた(つまり、ローカルではない)部分を抜き出して引っ越してきました。研究室内の人にしか見られないよりは、多くの人に見てもらえる方が、書く方も励みになり筆が進みます。 ただし内容は流体研のワークステーションの事情に即しており、流体研の学生向きに書いています。そのへんをご勘案下さい。 あなたはだいたい 人目のお客様です。(2000年1月25日以降) はじめに---この文書の意図するところとしないとこ ろ シェル(別ページ) プログラムの作成・実行とシェルの機能 スクリプト言語のススメ---Awk, Perl makeの勧め バージョン管理(別ページ) はじめに---こ

    tyki
    tyki 2007/06/25
  • 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
  • 技術メモ帳 - 二つのファイルに共通する行をエレガントに抽出

    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

    tyki
    tyki 2007/01/25
  • Geekなぺーじ:10のUNIX小技

    IBMのサイトで「Learn 10 good UNIX usage habits」という記事が発表されていました。 面白かったので要約してみました。 変な部分があるかも知れないので詳細は原文をご覧下さい。 原文とは一部異なります。 ページスペースなどの関係でコマンド引数などを短く省略しています。 原文のサンプルコマンドが間違っていたりするので、修正している部分もあります。 原文を修正しているのは、tar.gzをzオプションを使わないでxfvしようとしているところと、xargsにlsではなくls -lを渡している部分です。 あと、説明文を短くしてしまっています。 1. ディレクトリの作成 良く使うコマンドの一つであるmkdirですが、面倒臭い使い方をしていませんか? 悪い例 ~/ $ mkdir a ~/ $ cd a ~/a $ mkdir b ~/a $ cd b ~/a/b/ $ m

    tyki
    tyki 2007/01/12
  • shebang とは

    カテゴリ perl shebang とは 2003-12-29 20:57 更新 ただただしさんからいただいた情報を元にシバンについて調べてみた。 shebang とは UNIX でスクリプトの先頭に書かれるスクリプト実行パス宣言の事。他にも "shell bang", "shebang line", "bang path", "shbang" と書かれる事もあるようだ。 ここからは追記内容です。 おまじない(magic cookie)である "#!" で始まり、スクリプト実行パスの記述が続く。例えば、Perl では以下のようになる。 #!/usr/local/bin/perl UNIX 上での動作 ファイルの先頭に "#!" があると、 kernel? はそのファイルを実行プログラムではなくスクリプトファイルであると判断する。そして、その後に続く部分をインタプリンタのパス名とみなす。結果

    tyki
    tyki 2006/11/27
    日本語で「インタプリタ行」なんて呼ばれるもの
  • 経験値倉庫

    tyki
    tyki 2006/11/24
    wcの存在を知らなかったので備忘。
  • Web屋のネタ帳 on CNET - linux上でディレクトリ内に作成できる最大ファイル数は1万から1.5万だが実際は5000個くらいでやめておいたほうが

    あまりCNET向きとは言えない技術的過ぎるTIPSで恐縮なのだが。 Linuxのドキュメントには次のように記載されている。 現行の単方向リンクのリストによるディレクトリの実装で、一つのディレクト リ内のファイル数は、実運用上約 10-15k 個が上限になります。この制限はこ のような大きなディレクトリ内のファイルを作成および削除 (さらに検索) す る時のパフォーマンスの問題のためです。 JF: Linux Kernel 2.4 Documentation: ext2.txt より 注:これは現在主流のext3ではなく古いext2のものだが、実際問題としてこの制限はほとんど変わっていない。xfsになると話は別だが。 ということで、ひとつのディレクトリにつくれるファイル数は1万個くらいにしておいたほうがいいようだ。 だが筆者の経験上ではせいぜい5000個くらいでやめておいたほうがいい。

    tyki
    tyki 2006/08/21
  • sshで指定したコマンドしか実行できない公開鍵を作る - 技術メモ帳

    自動バックアップ処理をさせたいが シェル権限を与えたくないときとかに使える技。 やり方は簡単で $HOME/.ssh/authorized_keys の "コマンドを制限したい公開鍵" の行の先頭に 実行させたいコマンドを記述すればよい。 そのときのフォーマットはだいたい以下のようになる。 command="実行させたいコマンド",sshのオプションをカンマ区切りで書く command=hoge というのを付け足すことによって その公開鍵でアクセスがあったときに 指定したコマンドを実行させることができる。 たとえば、uptime を実行させたいときは、 以下のようにすればよい。 command="uptime",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa AAAABbBFERTWER....

  • 1