タグ

Unixに関するshintaksのブックマーク (21)

  • なぜUnixはUnixなのか(Unix考古学を読み始めた) - L'eclat des jours(2016-04-27)

    _ なぜUnixはUnixなのか(Unix考古学を読み始めた) アスキーの鈴木さんにUnix考古学を頂いたので読み始めて、シェヘラザードの代わりに寝台の脇に置いて何夜か過ぎて大体半分読んだ。 抜群におもしろい。単なる読み物としてもおもしろいのだが、おおそういう理由でそうだったのか/こうなっているのかという説明が(あとがきを読むと、筆者は類書をネタにしているのではなく(ゼロではないだろうけど)、当事者たちのログや論文を読むことで事実関係を掘り起こして推測して結論づけたりしている。なるほど、その作業は電子の地層から掘り起こして塵を払ってつなぎ合わせて当時を復元していく作業にそっくりだ。それで「考古学」なのだな)なかなかに快刀乱麻で読んでいて実に楽しいのだ。 まずまえがきにぶっとぶ。 読み進めて次の文章に腰を抜かした。 人づてに聞いた話だが、著者の藤田氏は1970年代生まれよりも若い年代に書を

  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD

    パイプライン は、最近のソフトウェアエンジニアリングにおいて、非常に便利な(そして驚くほど活用されていない)アーキテクチャパターンです。ソフトウェアでデータの流れを制御するためにパイプとフィルタを用いる考え方は、最初のUNIXシェルが作られた1970年代からあります。もしターミナルエミュレータでパイプ” | ”を使ったことがあるなら、”パイプとフィルタ”を活用できていることになります。以下の例を見てみましょう。 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l

    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
  • 立つハッカー、シェルを濁さず - Qiita

    おことわり このTipsは不作法だとして異論が出るかもしれないが、私自身がよくやるのでここで公開してみる。それは一体何かというと…… コマンドヒストリーが残るのイヤだ! と思うことってよくないだろうか? 開発環境で、後に再利用することは到底ありえないくらい長ーいワンライナーを書いたり、あるいは rm -rf * みたいなキケンなコマンドを実行したりして、ログアウト後にそういうのを残したくない、と思うこと。 そんなアナタにオススメのTipsだと思う。 次のコマンドを実行すればOK

    立つハッカー、シェルを濁さず - Qiita
  • プログラミング万能練習法

    暇な人はやってみるといいプログラミングの万能練習法 は良いトレーニングになる。 プログラムを自ら書きたいと思う人って、与えられたメニューをこなすだけの人間ではないと思うけどハッカーを目指している人には UNIX の勉強にもなるんじゃないだろうか。というわけで、実際の練習メニューは以下の通り。 プログラミング言語を選択する 書いてみようと思う POSIX のコマンド を決める man をはじめとするマニュアルを読んでコマンドの仕様を理解する 設計する(初回のコーディングと同時進行はやめたほうがいいかも) コーディング テストする。設計とコーディングの反復。 終了 C 言語で書いたならテストのあとにオリジナルのソースを読んで答え合わせするのですが、必ずしもオリジナルのコードが正解とは言い切れない。 自分が書いたプログラムが仕様どおりに動いているならアルゴリズムの違いなどは気にしなくていいと思う

    プログラミング万能練習法
  • Unix を使える学生は急速に減っている - 武蔵野日記

    午前3時から NLP(自然言語処理)若手の会シンポジウム・情報処理学会自然言語処理研究会関係の仕事を黙々とする。大学運営関係のお仕事は9月中旬までないので、いまのうちに溜まった仕事を片付け、9月の準備をしておき、10月以降に備えたい(授業が週3コマある)。 (2014-08-21 追記)タイトルだけ見て反応する人が多いので、よくあるコメントについて冒頭で説明しておく。 「最近の若い者はなっとらん」と言っているだけで、教育もしていないなら当然。→8月20日に追記したが、教員なので教育するのが仕事の一部であり、研究室に配属された学生は最初週20時間(1個2時間×10個)の勉強会に出てもらい、それぞれ合計すると演習を解いたりするのに週20時間かかるようなので、合計週40時間基礎勉強に使ってもらっている。(参考: 研究室の勉強会のスケジュール) 必要性がないとやらないのでは?→世の中の99%の人に

    Unix を使える学生は急速に減っている - 武蔵野日記
  • UNIXのワイルドカードがワイルド

    UNIXのワイルドカードがワイルド Back To The Future: Unix Wildcards Gone Wild 面白かったので.また気をつけようと思ったので. ワイルドな実例 例えば,以下のようなファイルとディレクトリがあるとする. $ ls -al total 0 drwxr-xr-x 9 taichi staff 306 8 18 22:31 . drwxr-xr-x 6 taichi staff 204 8 18 22:27 .. drwxr-xr-x 2 taichi staff 68 8 18 22:26 DIR1 drwxr-xr-x 2 taichi staff 68 8 18 22:26 DIR2 drwxr-xr-x 2 taichi staff 68 8 18 22:26 DIR3 -rw-r--r-- 1 taichi staff 0 8 18 22:2

    shintaks
    shintaks 2014/08/19
    ワイルドかー…どこがだよw
  • 現場で役に立たないsudoの使い方

    分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html

    現場で役に立たないsudoの使い方
  • bash 入門

    ここでは Linux の標準シェルである bash について, 個人的なメモを兼ね簡単な説明を行っている. なお,前提として読者は C シェルを多少は使ったことがあるものとしている. より詳しくは Cameron Newham & Bill Rosenblatt 著, QUIPU LLC / 遠藤 美代子 訳 「bash 入門」(アスキー出版) などを参考にしてもらいたい.

  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日語版刊行によせてRuby

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
  • Ken Thompson氏 | えびめも(2004-04-13)

    ■ Ken Thompson氏 古い話ですが、今日 Ken Thompson氏の有名なback door事件を知った(氏はUNIXを作った男の一人である)。backdoorとは、システムやプログラムの作者が、作者しか知りえない秘密の手順を組み込んでおき、あとでそのシステムへ侵入するための裏口を作っておくことである。広い意味で言えばゲームの裏技やアクションゲームの主人公の無限増殖などもこの類のものだろう。 氏は初期の(1970年代初頭の)UNIXシステムのlogin コマンドにバックドアを仕込んでおき、ログイン名ktと、とあるパスワードを入力すると、そのアカウントが存在しなくてもシステムに侵入できる仕掛けを入れておいた。しかもそれを氏が1984年に論文で発表するまで誰も見破れなかった。というのだ。 その恐るべき手法は次の通りである。もし login.c にバックドアを記述しておいたらすぐに見

  • 「UNIXをC++で分散OSに書き直せ」、幻に消えたBill Joyの野望とは - ITジャーナリスト星暁雄の"情報論"ノート

    UNIXの歴史にはある大きな転換点があり、そこには「もう一つの未来」の可能性が開けていました。この転換期に起こった出来事は「UNIX戦争」として知られていますが、その背景に「UNIXをC++で分散OSに書き直す」という野心的な計画があったことは、今ではほとんど語られることはありません。 私は、この一連の出来事の時期に、『日経エレクトロニクス』の記者としてUNIXの動向を追っていました。当時の出来事の概要を、取材者の視点から書き記しておきたいと思います。多くの読者にとって初耳の情報も含まれていると思います。 一連の出来事の発端は1987年に発表された、Sun、AT&T、Microsoftによる統合UNIXの発表です。この発表の前夜がどういう時代だったか、という話がまず必要でしょう。 統合前夜 1980年代後半は、コンピュータの歴史でも重要な時期でした。この時期、32ビット・マイクロプロセッサ

    「UNIXをC++で分散OSに書き直せ」、幻に消えたBill Joyの野望とは - ITジャーナリスト星暁雄の"情報論"ノート
  • Chromeの検索エンジンにUNIXのman検索を追加した - Glide Note

    社内のRuby開発環境勉強会で、Rubyのドキュメント検索のために、 Chromeの検索エンジンにるりまサーチを 追加すると良いと刺身さん教えて貰い、 ブラウザでmanを見るときに常用しているUNIXの部屋で同じことをやってみたのでメモ。 るりまサーチの追加については刺身さんのエントリーを参照ください。 Google Chrome の「検索エンジンの管理」にるりまサーチを追加する - 刺身☆ブーメランのはてなダイアリー 追加手順 UNIXの部屋にアクセス 検索フィールドで右クリックして、検索エンジンの追加的なやつをクリック。 man ワードで検索が出来るように、下記のような感じで設定。 ロケーションバーで、man 検索ワードでUNIXの部屋から検索ができるるようになりました。 これは便利!! command+lでロケーションバーに移動して、man hogeとかで 一気に調べ物が出来るように

  • ls(1)の由来とか - Plan9日記

    TwitterのTLでもMulticsの話がぽちぽち出るようになったので、今日は関連する小ネタを。 UNIXで無意識で使っているls(1)コマンド。manページには"list directory contents"とか書かれているので、listの短縮形だとばかり思っていたら、Wikipediaによるとlist segmentsの略なんだそうな*1。どうもその名前の由来はMulticsにありそうだ。 セグメントとはMultics用語でファイルのこと。ただしファイルとセグメントは等価ではなく、ファイルが二次記憶を抽象化した概念であるのに対して、セグメントは二次記憶であることを隠蔽する概念である。UNIXのメモリマップドファイルに近いけど、歴史的にワンレベルストアとか呼ばれる。Multicsの世界では、UNIXのopen/closeに対する操作がなくて、セグメント名が動的リンカによって解決される

    ls(1)の由来とか - Plan9日記
  • Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事

    絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows API

    Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事
  • なぜ,/var や /etc が /etc や /cfg というディレクトリ名ではないのか? - NO!と言えるようになりたい

    Unixを使っていると,/usr が全然ユーザー用じゃなくどう見てもシステムのための物だったり,/etc が事実上設定ファイル置き場となっていたり,/var がログファイル置き場となっていたりと,名が体を現していなくて奇妙な感覚を覚える.もっと分かりやすい名前の付け方があったんじゃないかと,Unixユーザーならば誰もが思うはずだが,これに対する解答がredditに投稿されており,その内容が非常に面白かったので,軽く翻訳してみた. Anyone know why /var and /etc weren't named something like /etc and /cfg? http://ja.reddit.com/r/linux/comments/cpisy/anyone_know_why_var_and_etc_werent_named/c0ua3mo 昔々,システム7が使われていてU

    なぜ,/var や /etc が /etc や /cfg というディレクトリ名ではないのか? - NO!と言えるようになりたい
  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • 初めてのOS source code reading(UNIX 6th source code readingのススメ) - やる気のないブログ(A boring diary)

    このエントリはhttp://d.hatena.ne.jp/takahirox/20120131/1328006885を和訳したものです。 はじめに 最近UNIX 6thのソースコードの読書メモを書き終えました。 みさなんにもUNIX 6thのソースコードを読むことをオススメします。 その理由をこのエントリで書いていきます。 まとめ UNIX 6thは初めてOSのソースコードを読む人にうってつけ! 今すぐ読み始めましょう! UNIX 6thのソースコードはこちらなどで読むことができます。 http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6 UNIX 6thのソースコードを読むことをオススメする理由 たったの10,000行 最近のLinuxカーネルのソースコードは100万行を超えています。全てを理解するのは至難の業です。 一方、UNIX 6thのカー

    初めてのOS source code reading(UNIX 6th source code readingのススメ) - やる気のないブログ(A boring diary)
  • Cygwinより手軽にUNIX風環境が手に入る「Gow」

    UNIX風環境をWindows OS上で使用してきた時代 黎明期からコンピューターを使ってきた方にとって、キーボードからコマンド名を入力して実行するスタイルは、ごく自然なものでした。GUI(グラフィカルユーザーインターフェース)が主流になってからも、コマンドラインによる操作は依然と残され、我々が使用するWindows 7にも、コマンドプロンプトやWindows PowerShellといったCUI(キャラクターユーザーインターフェース)が用意されていることからも、その重要性を理解できることでしょう。 そもそもコマンドプロンプトで実現するコマンドラインインタープリターは、Windowsが主流になる前のOSであるMS-DOSを基礎にしており、そのMS-DOSもQDOSという16ビットOSを元にしています。しかし、CUIを採用したOSの源流は、1970年代から大学や研究所などに普及したUNIXにあ

  • UnixのコマンドをWindowsのコマンドプロンプトで利用可能にする「Gow」NOT SUPPORTED

  • Geekなぺーじ : いいから殺せ。後はこっちでなんとかするから

    IT業界って怖いですね~(棒読み) 何でそうなった? そもそもの発端は、私が現在執筆中のLinuxネットワークプログラミング書に書いているコラムのための質問でした。 Wiresharkやtcpdumpを利用したパケットキャプチャによる通信プログラムのデバッグを解説する際にプロミスキャスモードとは何かという話を書いていたのですが、その最後にちょっとしたコラムを書くためのブレストとしてTwitterで質問をしました。 で、結局出来上がった原稿は以下のような感じです。 Twitterでコラムの内容を見たいと発言されている方がいらしたので、出版前ですが晒してしまいます。 コラム:ぁゃιぃ UNIX用語 (☆ 「あやしい」の部分は、xa xya イオタ xi です。) プロミスキャスモードを「無差別モード」と訳す場合が多いのですが、この「Promiscuos」という単語は性的な意味を含む英単語なので