SlideShare a Scribd company logo
UNIXことはじめ
ことはじめ
2011/09/14
はじめに
QNX は UNIX 系の OS
→Windows Automotive とはお作法が違う。
→UNIX の基本思想理解で効率 UP!
基礎知識おさらい
UNIXって?
→OSの一種。例:Solaris、FreeBSD、Mac OS X
POSIXとは?
→APIの規格。
UNIXはこの規格に準拠したAPIを備えている。
おまけ:LinuxがUNIX「ライク」なOSと呼ばれる理由は?
→「UNIX」は商標。The Open Groupで認証通さないと、UNIX
とは名乗れない。
UNIXの基本思想

「シンプル」
単機能なプログラムを組み合わせる
複雑なMultics開発失敗→UNIXの開発へ
プログラム組み合わせの例
“hoge”という文字列を含むテキストファイルを探す。
→3つのプログラムを組み合わせる。
# find . -type f -name "*.txt" | xargs grep "hoge"

find:ファイル検索
xargs:標準入力からコマンド作成
grep:文字列検索
UNIXの重要な3つのキーワード

「ファイル」
「リダイレクト」
「パイプ」
※あくまで個人の視点
あくまで個人の視点
個人の
一つめ「ファイル」

何でも「ファイル」として抽象化
ファイルを扱うプログラムを作れば、様々な場面で流用できる

シリアルポート
HDD

→ /dev/ser0
→ /dev/hdd

※これらは「スペシャルファイル」や「デバイスファイル」と呼ばれます。
「リダイレクト」と「パイプ」の前に
標準入力(/dev/stdin)
標準出力(/dev/stdout)
標準エラー出力(/dev/stderr)

→キーボード
→画面
→画面
※やっぱりファイルです。

※組み込みだと基本はシリアルに設定されている?
二つめ「リダイレクト」
入力元、出力先を切り替える
プログラムのログをファイルに保存
# hoge > hoge.txt
エラーもファイルに保存したい場合はこんな感じ
# hoge > hoge.txt 2>&1
※標準エラー出力(2)を標準出力(1)と同じものにリダイレクトする

パッチを当てる
# patch < dir.diff
三つめ「パイプ」
コマンドの出力結果を別のコマンドの入力に
Cソースファイルの個数を数える
# ls -l | grep '¥.c$' | wc –l
「ls –l」 でファイル一覧表示
↓
「grep ‘¥.c$’」でCソースファイル名のみ表示
↓
「wc –l」で表示されたファイル名の行数をカウント
3つを組み合わせる
つを組み合わせる
Windowsでは面倒なHDDのイメージバックアップ
→標準的なコマンドの組み合わせで実現可能
HDDをバックアップ
# dd if=/dev/hdd | gzip -c > hdd.dump.gz
HDDをリストア
# gzip -dc < hdd.dump.gz | dd of=/dev/hdd
他に重要なキーワード
シンボリックリンク
→リンクの一種。Windowsのショートカットより高機能。
UNIXでは多用される。
環境変数
→各プログラムが参照する共通の変数。実行ファイルのパ
スや、共有ライブラリのパスなど。
ディレクトリ構成
マウント
シェル
マイクロカーネル
etc
おまけ:便利なコマンド(QNX向け)
向け)
おまけ:便利なコマンド(
use
コマンドの説明を表示
export
環境変数を表示、設定
ldd
実行ファイル、ライブラリの依存関係を表示
まとめ
OSは一つの文化
→OSごとに違いはある。日本とアメリカの文化が
違うのと同じ。
UNIXはシンプルなコマンドたくさん
→組み合わせて使いこなせば大幅に効率アップ。
お作法・思想
→OSに限らず、なぜこうなったのか背景を理解す
ると無駄を排除できる かも。
おわり

ご清聴ありがとうございました。

More Related Content

PDF
1 Linux入門 第1章 UNIX/Linuxとは
PPT
Linuxとオープンソースの世界
PPTX
Visual StudioでWixをビルドしてみた
DOC
06 後期勉強会一年の部【加藤】
PDF
Kernel overview
PPTX
Linuxのファイルシステムについて調べてみた
PDF
勉強会資料 LT会 zfsで遊んでみた_公開版
PDF
SPL-005_オープンソースから見たマイクロソフト
1 Linux入門 第1章 UNIX/Linuxとは
Linuxとオープンソースの世界
Visual StudioでWixをビルドしてみた
06 後期勉強会一年の部【加藤】
Kernel overview
Linuxのファイルシステムについて調べてみた
勉強会資料 LT会 zfsで遊んでみた_公開版
SPL-005_オープンソースから見たマイクロソフト

What's hot (20)

PDF
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
PDF
Windows subsystem for linuxで始める組み込みlinux ラズパイ3のブートイメージを作ってみる-
ODP
第11回医療オープンソースソフトウェア協議会セミナー基調講演
PDF
輪講_Awamoto_20170601
PDF
Open Apostille
PDF
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
ODP
第10回医療オープンソースソフトウェア開会の挨拶
PPTX
小規模環境におけるNutanix Filesの活用を考える
PDF
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
PDF
Unixの歴史
PDF
クリミ2013年12月26日(Gentoo Linux)
KEY
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
PDF
LINQ基本のキ
PDF
[data security showcase Sapporo 2015] D27:運用担当者のための OpenSSL 入門 by ユーザーサイド株式会社...
ODP
PPTX
Windows+VirtualBoxで作るTensorFlow環境
KEY
PPTX
アーカイブ・リポジトリシステムで遊ぼう!
PDF
Linux ディストリビューション開発者になる4つの理由
PDF
AzureでopenSUSE Leap42.1が使えるよ!
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
Windows subsystem for linuxで始める組み込みlinux ラズパイ3のブートイメージを作ってみる-
第11回医療オープンソースソフトウェア協議会セミナー基調講演
輪講_Awamoto_20170601
Open Apostille
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
第10回医療オープンソースソフトウェア開会の挨拶
小規模環境におけるNutanix Filesの活用を考える
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
Unixの歴史
クリミ2013年12月26日(Gentoo Linux)
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
LINQ基本のキ
[data security showcase Sapporo 2015] D27:運用担当者のための OpenSSL 入門 by ユーザーサイド株式会社...
Windows+VirtualBoxで作るTensorFlow環境
アーカイブ・リポジトリシステムで遊ぼう!
Linux ディストリビューション開発者になる4つの理由
AzureでopenSUSE Leap42.1が使えるよ!
Ad

Viewers also liked (20)

PDF
Editor縮小のススメ
PPTX
エンジニアにMacを薦める理由
PPTX
GPUによる多倍長整数乗算の高速化手法の提案
PDF
講座Linux入門・サーバOSとしてのLinux
PDF
私がお世話になった技術書たち
PPTX
SIMDで整数除算
PDF
徒手空拳で挑むサーバ管理
PPTX
Unixコマンド入門
PDF
Xeonphiハッカソンでexpを作ってみた
PDF
Boost.SIMD
PDF
PFI Seminar 2010/02/18
PDF
Unix 基礎
PDF
サーバーから始めるItインフラ入門
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PDF
Unixカーネルの設計 7 プロセスの制御
PPT
サーバ/インフラ構築入門(1)
PDF
1時間でざっくり教えるサーバ運営超入門
PDF
Unixファイルシステムの歴史
PDF
百万件くらいのデータの扱い方
PDF
【幕張読書会】Unixカーネルの設計 3(バッファキャッシュ)
Editor縮小のススメ
エンジニアにMacを薦める理由
GPUによる多倍長整数乗算の高速化手法の提案
講座Linux入門・サーバOSとしてのLinux
私がお世話になった技術書たち
SIMDで整数除算
徒手空拳で挑むサーバ管理
Unixコマンド入門
Xeonphiハッカソンでexpを作ってみた
Boost.SIMD
PFI Seminar 2010/02/18
Unix 基礎
サーバーから始めるItインフラ入門
(初心者向け) Vim の機能紹介@nagoya.vim #1
Unixカーネルの設計 7 プロセスの制御
サーバ/インフラ構築入門(1)
1時間でざっくり教えるサーバ運営超入門
Unixファイルシステムの歴史
百万件くらいのデータの扱い方
【幕張読書会】Unixカーネルの設計 3(バッファキャッシュ)
Ad

Similar to UNIXことはじめ (16)

PDF
Unix コマンド入門
PDF
2017-12-04 Linuxの基本構造とBashでの扱い方
KEY
KEY
PDF
Unix architecture
PDF
NGS速習コース:UNIXの基礎の理解/Linux導入
ODP
みんな大好き! Hello, World
PDF
ZynqMPのQEMU
PPTX
ロボットシステム学2015年第5回
PDF
Linux女子部第二回勉強会usp友の会
PDF
UNIX/32V
PDF
2011.09.18 v7から始めるunix まとめ
PDF
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
PPTX
Functions
ODP
カーネルモジュールプログラミング超入門 #1(仮)
Unix コマンド入門
2017-12-04 Linuxの基本構造とBashでの扱い方
Unix architecture
NGS速習コース:UNIXの基礎の理解/Linux導入
みんな大好き! Hello, World
ZynqMPのQEMU
ロボットシステム学2015年第5回
Linux女子部第二回勉強会usp友の会
UNIX/32V
2011.09.18 v7から始めるunix まとめ
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
Functions
カーネルモジュールプログラミング超入門 #1(仮)

UNIXことはじめ