タグ

UNIXに関するryochackのブックマーク (21)

  • Unixコマンド”yes”についてのちょっとした話 | POSTD

    知っているUnixのコマンドで一番シンプルなものは何ですか? 例えば echo という、stdoutに文字列を出力し true を返す – すなわち常に0の終了コードで終了するシンプルなコマンドがあります。 シンプルな、と言えば yes もそうでしょう。引数なしで実行すると、改行されたyが無限に出力され続けます。

    Unixコマンド”yes”についてのちょっとした話 | POSTD
  • コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている

    最近のコンピュータは複数のCPUコアを持っているので並列にコマンドを実行することができます。 たくさんの同じようなファイルに同じ処理を実行することは、私のやっているバイオインフォマティクスではよくあります。 しかし自分で並列に実行するスクリプトを書くことはそれほど簡単ではなく、ログや実行結果の確認など煩雑な処理を書かなければいけません。 この記事では、そうした処理を簡単にするGNU parallelというツールを紹介します。 GNU parallel UNIX系のOSではインストールはとても簡単です。MacでしたらHomebrewを使って、Linuxでは各ディストリビューションのパッケージマネージャからインストールできます。 詳しくはGNU parallelのウェブページを参照して下さい(http://www.gnu.org/software/parallel/)。 Homebrew: b

    コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている
  • http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%9F%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%82%BF%E3%82%A4%E3%83

    ryochack
    ryochack 2015/03/17
    タイムゾーンを指定してdateを実行
  • manページ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Manページ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2020年12月) manコマンドのmanページ manページ(マンページ)とは、UNIXおよびUnix系オペレーティングシステムの man システムのコンテンツであり、電子化されたドキュメントのこと。各ページは独立した文書として構成されている。ライブラリやシステムコールなどのコンピュータプログラム、標準や慣例、抽象的概念などに関するページがある。man コマンドを実行することでmanページを閲覧することができる。 使い方[編集] マニュアル内のあるページを閲覧するには、以下の

    manページ - Wikipedia
    ryochack
    ryochack 2015/01/17
    read(2)とかprintf(3)とかの()の数字はこのマニュアルの章番号を示すのか。(2)だとシステムコール、(3)だと標準Cライブラリ関数。気になっていたけど今までちゃんと調べてなかった
  • fork()は失敗するんだぜ、覚えときな

    fork() can fail: this is important あー、fork()のことね。プロセスがもっとプロセス作るためのやつな。いや、他にもプロセス作る方法はあるけどな。ま、面白い話がもうひとつあるから聞かせてやるよ。 forkは失敗するんだぜ。分かってるか? マジで分かってるか? マジだぜ。forkは失敗するもんだ。mallocと同じさ。失敗することもある。そんなに頻繁にってわけじゃないけどさ、でも失敗したら、無視できっこないぜ。ちっとは脳みそ働かせなきゃならん。 forkが0を返したら、そいつは子プロセスで、親なら正数を返すってことは、みんな知ってるよな。その値は子のpidだ。こいつを保存しといて、あとで使うってわけだ。 失敗を確認しない場合どうなるか知ってるか? そうだよ。お前多分、"-1"(forkのエラー通知)をpidとして扱ってるんだろ。 さて、問題の始まりだ。

    ryochack
    ryochack 2014/08/22
    これは恐ろしい…
  • Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん

    Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2

    Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん
  • tail -fしているファイルをmvしてもそのまま読み込み続ける事が出来るのはなぜか - 技術メモ帳

    せっかく教えていただいたので tail -f しているファイルをmvしても そのまま読み込み続ける事が出来るのはなぜなのかを調べてみた。 『詳解UNIXプログラミング(Advanced Programming in UNIX Environment)』 の CHAPTER.4 の 4.14 ファイルシステム に この件に関連する情報が記載されている。 コレを参考にボクの解釈した結果をまとめてみた。 間違っている箇所がありましたら 気軽にご指摘していただけますようよろしくお願い致します。 まず、事の発端から。 ボクのこの一文。 http://d.hatena.ne.jp/lurker/20070228/1172595016 そうそう、tail で思い出したが、GNUのtailはデフォルトで (たぶん/詳しくは知らない)inode番号を見ているため tail -f した状態で そのログファイル

  • Commentary on the Sixth Edition UNIX Operating System

    This directory contains a copy of John Lions' “A commentary on the Sixth Edition UNIX Operating System”. This form of the document is the one that Warren Toomey published on the USENET alt.folklore.computers newsgroup in May 1994, with corrections supplied by Brian Foley in 2014 and incorporated into the source by Conway Yee in August 2023. It's available in several forms: The book in PDF, for pri

    ryochack
    ryochack 2014/05/26
    Lions’ Commentary on UNIXがPDF公開されてる
  • パイプによるプロセス間通信 [Linux] - Web/DB プログラミング徹底解説

    起動されるプロセス 起動されるプロセスは次の通り、何の変哲もないプログラムです。ポイントは fread を使って stdin から READWRITE_BYTE (16) バイトだけ読み取り、その後 fwrite を使って stdout へ READWRITE_BYTE (16) バイトだけ書き出しているところです。このプログラムをここでは stdiotest.exe としてビルドしました。 #include <stdio.h> #include <stdlib.h> #include <memory.h> #define READWRITE_BYTE    (16) int main ( int argc , char* argv[] ) { int nTotalReadByte = 0; int nReadByte = 0; int nTotalWriteByte = 0; int n

    パイプによるプロセス間通信 [Linux] - Web/DB プログラミング徹底解説
    ryochack
    ryochack 2014/04/24
    pipeとdupを使った時の制御の流れがわかりやすい
  • Unix Philosophy と Node.jsのモジュールの作り方 - from scratch

    The Art of UNIX Programming 作者: Eric S.Raymond,長尾高弘出版社/メーカー: アスキー発売日: 2007/06/19メディア: 大型購入: 4人 クリック: 91回この商品を含むブログ (62件) を見る TL;DR Unix Philosophyにおいては、「一つのことをうまくやり、協調する仕組みを持つ」という事が大事 Node.jsのモジュールにおいても同じで、「一つのことをうまくやる、Stream APIで協調する」と良い 「一つのことをうまくやる」にはどうするのが良いのか、ということで substack のモジュール実装例 Simple と Easyの違い ちょっと今回長くて文字が多いので、最初と最後にまとめを用意しました。時間がない方はこれを読むだけでもいいかと。 Unix Philosophy さてさて、Unix Philosoph

    Unix Philosophy と Node.jsのモジュールの作り方 - from scratch
  • Linuxに勝てなかったPlan 9 - @IT

    2002年頃、とある雑誌でPlan 9の記事を6ページほど作ったことがある。冷静に考えると、とても流行するようには思えなかったのだが、私にはPlan 9はまぶしく輝いて見えた。それは紛れもなく未来のUNIXだったし、日々コンピュータやネットワークを利用する環境として、ぜひとも使いたいと思えるような機能が多くあった。 「Plan 9」(プラン・ナイン)はUNIXが生まれたベル研究所で、次世代UNIXとして開発されていた分散OSだ。UNIXやC言語を生み出したケン・トンプソン、デニス・リッチー、ロブ・パイクらのチームが、当時UNIXが抱えていた限界を打ち破るために、ネットワークやGUIを最初からUNIXの設計思想に基づいて取り入れた先進的なOSだった。それは、未来のUNIXとなるはずだった。 UNIXの大きな特徴として、デバイスをファイルにマッピングして抽象化するというものがある。各I/Oポー

    ryochack
    ryochack 2014/02/18
    「より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ」
  • Unix思想 - Strategic Choice

    Unix思想とは、Unix文化が伝承している、優れた設計やプログラミングを行うための、実践的で経験に根付いた「技」のことです。Unix哲学とも呼ばれています。ただ、それらは公式的なメソッドや標準のなかではなく、「ことば」にならない半分無意識の知識のなかにありました。いわゆる形式知ではなく暗黙知であったこの「知」を、エリック・レイモンドさんが書籍「The Art of UNIX Programming」で17個の原則としてまとめてくれています。プログラミング・設計の際の「心がけ」として自分にインストールすべく、写経します。一覧モジュール化の原則明確性の原則組み立て部品の原則分離の原則単純性の原則倹約の原則透明性の原則安定性の原則表現性の原則驚き最小の原則沈黙の原則修復の原則経済性の原則生成の原則最適化の原則多様性の原則拡張性の原則Unix思想のまとめ参考The Art of UNIX Pro

    ryochack
    ryochack 2014/01/11
    最も影響を受けた設計思想
  • 用語集:シェル記号類まとめ: UNIX/Linuxの部屋

    用語集 シェル記号類まとめ sh・csh・tcsh・bash などのシェル・シェルスクリプトの記号まとめ (> >> 2>&1 < << $$ >& & && ( ) | || <<- <& >| <>) 最終更新 2019-01-13 UNIX/Linux の sh・bash、csh・tcsh など、シェルやシェルスクリプト関連の記号類をまとめてみる。

  • UNIX v6 on simh - Plan9日記

    Lions' Commentary on UNIX読書会に参加した。いまだにLionsが大学の教科書として現役だという事実に驚いたが、読書会に集まる我々も五十歩百歩か。何はともあれ、一緒に読んだり教えたりしてくれるメンタがいれば、現代でも楽しめる一冊であることは確か。すでに読書会のメモがいくつか書かれているようだけど、@kotritさんがきっとまとめページを作ってくれるはずなので、期待! ここでは実際にUNIX v6が動いているところを見て理解の助けにしたいということで、PDP-11シミュレータsimhでUNIX v6を動かす方法について書いてみる。 PDP-11は古いマシンではあるんだけど、愛好者が多いのでウェブ上には非常に多くの情報が公開されている。シミュレータの開発や当時のディスクやテープのアーカイブもあるし、ソースコードも公開されている。最初はsimhのSoftware Kits

    UNIX v6 on simh - Plan9日記
    ryochack
    ryochack 2013/01/30
    simhエミュレータ
  • Voila, voila :: V6Unix install on SIMH

    V6 Unix を SIMH で実行するためのメモパッケージのダウンロード SIMH の Software Kits のページから Unix V6 のキットをダウンロードする。ダウンロードしたファイルを unzip する。 なお、以下で $ はホスト OS (Ubuntu を使用してます)のプロンプトでの作業を示している。 Windows でも SIMH は使用できるが、以下の記述で同じように動作するかは試してないので不明。Windows で行いたい場合には、 VMware Player や VirtualBox 上で Linux を動作させて SIMH を使用することも可能。 $ ls uv6swre.zip $ unzip uv6swre.zip Archive:  uv6swre.zip   inflating: README.txt                inflating

    ryochack
    ryochack 2013/01/29
    PDP-11エミュレータ上でUNIX V6を動かす
  • 「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)

    はじめに 「はじめてのOSコードリーディング 〜UNIX V6で学ぶカーネルのしくみ〜」というを2013年1月8日に技術評論社から出版します。 はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus) 作者: 青柳隆宏出版社/メーカー: 技術評論社発売日: 2013/01/09メディア: 単行(ソフトカバー)購入: 56人 クリック: 1,959回この商品を含むブログ (29件) を見る このエントリでは、そのの紹介を行います。もし興味を持ったならば、書店などで手に取っていただけると幸いです。 追記 追記 2013/08/17 PDP11エミュレータをJavaScriptで実装しました。WebBrowser(Crhome)上でUNIX V6の動作確認を行うことができます。デバッグ機能もありますので、読者の方はコードリーディ

    「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)
  • Unix V6 Manuals

    This are the manuals from Sixth Edition Unix. Thanks to aiju for helping getting this set up. TODO: For technical reasons Section 0 is not currently available. Manual Sections Section: 1 - General commands. - cat, sed, grep, etc. Section: 2 - System calls. - stat, open, wait, etc. Section: 3 - C library functions - printf, getpw, ttyn, etc. Section: 4 - Special files and devices - /dev/null, /dev/

    ryochack
    ryochack 2013/01/07
    UNIX V6のマニュアル。カーネルを読むには第2章と第4章が重要らしい
  • 初めての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)
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • 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