[トップページ] [星雲紀行] [MLXS] [WPGen] [自作音楽] [モデル] [vi/vim] [tips] [自己紹介]

unix

目次

  1. このページは
  2. textutils
  3. マニュアル
  4. words ファイル
  5. 特別なファイル
  6. kernel
  7. リダイレクト
  8. 設定
    1. 言語
    2. bashrc
    3. 環境変数
  9. windows 上のエミュレータ
  10. 参考文献・参考ウェブページ
  11. 履歴

このページは

unix についての自分用メモ, tips。
ここではPC-UNIX, Linux もunix としている。

シェルのページも統合した。
shell はlinux などのターミナル上でシステムを制御するソフトウェア。
シェルスクリプトについては別ページに記載している。

[content]

textutils

GNU が配布しているテキスト処理パッケージ。
textutils というコマンドがあるわけではない。
コマンド群の組み合わせで強力なテキスト処理が可能になる。 パイプ・ストリームなどの機能がある。
以下コマンドを含む。
cat, cksum, comm, csplit, cut, expand, fmt, fold, head, join, md5sum, nl, od, paste, pr, sort, split, sum, tac, tail, tr, unexpand, uniq, and wc

参考文献・参考Webpage

[content]

マニュアル

unix はマニュアルを内蔵している。
調べるときには以下のコマンドを使えばよい。

$ man SEARCH_WORD

    tips
  • ファイルの形式はセクション5 に記録されている。
    参照時には以下のようなコマンドを使用する。
    システムによってはセクション7の時もある。
    $ man 5 passwd

man の検索

文字列「copy」を含む man マニュアルを検索する

	$ man -k copy
	$ apropos copy
	

[content]

words ファイル

以下の場所にwords(単語)ファイルがあり、単語が登録されている。

/usr/dict/words
/usr/share/dict/words
/usr/share/lib/dict/words
...
その他"word list" などで検索すると単語ファイルが見つかる。
なお、任意のテキストファイルも以下のコマンドを用いることにより、 words ファイルと同じ形式に変換できる。
$ cat file(s) | tr A-Z a-z | tr -c a-z\' '\n' | sort -u

この単語ファイルをつかってクロスワードパズルのヒントを作成する プログラムを作成することが可能。
#! /bin/sh
# search-words.sh
# compute egrep matching within word-list-file.
# usage
# search-words.sh
FILES="
/usr/dict/words
/usr/share/dict/words
/usr/share/lib/dict/words
/usr/share/lib/dict/words.*
"
pattern="$1"

# -h : hidden, -i : ignore (big and little letter)
egrep -h -i "$pattern" $FILES 2> /dev/null | sort -u -f
使い方の例としては、b で始まり、7文字目にx z が入る10文字の単語を 以下の様に調べることができる。
$ search-words.sh '^b......[xz]...$' | fmt
また、母音以外の文字が6文字以上続く単語を調べるには以下の様に調べる。
$ search-words.sh '[^aeiouy]{6}' /usr/dict/words
短縮系がマッチしないようにするためには以下のコマンドを追加すればよい。
egrep -i '^[a-z]+$'

[content]

特別なファイル

  • /dev/null
    このファイルに送られるデータは消去される。
  • /dev/tty
    必ず端末にリダイレクトされる
    printf "input new password."
    stty -echo (do not display)
    read pass < /dev/tty
    printf "retype new password."
    read pass2 < /dev/tty
    stty echo (display)
[content]

kernel

kernel はunix エンジンの核。

[content]

redirect

プログラムには データの入力元(標準入力)、処理結果の出力先(標準出力)、エラーの報告先(標準エラー出力)がある という観点からリダイレクトの仕様が決まった。

redirect の主な方法は以下

  1. 標準出力のリダイレクト
    $ command > OUTPUT_FILE
  2. エラー出力のリダイレクト
    $ command 2> OUTPUT_FILE
  3. 標準出力とエラー出力のリダイレクト
    $ command &> OUTPUT_FILE
  4. 標準入力のリダイレクト
    $ command < INPUT_FILE
  5. 標準出力の追記のリダイレクト
    $ command >> OUTPUT_FILE

[content]

設定

言語

  • i18n
    internationalization はi のあとに18文字あってn がきているからi18n としている。 国際化。
    /etc/i18n
  • l10n
    localization はl のあとに10文字あってn がきているからl10n としている。
[content]

bashrc

bashrc ファイルの書き方

  1. 環境変数の表示
    ca::ctrlaltdel:/sbin/shutdown -t3 -r now
command意味・動作
set -o vi コマンドラインの操作をvi ライクに。 デフォルトはEmacs になっている。
set -o viraw コマンドラインの操作をvi ライクに。 より高機能だが、cygwin には存在しない。
set -o emacs コマンドラインの操作をemacs ライクに。
[content]

環境変数

  1. $shell シェル
  2. $PATH パス
    $ export PATH=$PATH:DIRECTORY_NAME
    とすること。そうでないと今までの設定が上書きされてしまう。
  3. export 環境変数を指定する。 シェルによる移植性を確保するために、以下のような書き方が望ましい。
    VALNAME=VALUE export VALNAME
    export VALNAME=VALUE ともかけるが、上記の方が bash 以外のshell に対しても互換性が高い。 また、現在の環境を表示するためには以下のコマンドが使える。
    $ export -p
  4. alias
    $ alias
    で現在のalias の設定を確認できる。 設定の方法は
    $ alias ALIAS_NAME="COMMAND [OPTIONS]"
    解除設定の方法は
    $ unalias ALIAS_NAME
  5. unset
    export した関数・変数が消去される。
  6. readonly
    変数の値を変更できなくする。 シェルによる移植性を確保するために、以下のような書き方が望ましい。
    BAR=anothervalue export BAR
環境変数
環境変数意味
$LINES 現在のWINDOWS の幅。
$COLUMNS 現在のWINDOWS の高さ。
[content]

windows 上のUNIX エミュレータ

  • cygwin
    cygwin.dll がシステムコールを再現
  • DJGPP
  • MKS Toolkit
    o'reilly 好評価
  • AT&T UWIN
    posix.dll がシステムコールを再現
[content]

参考文献・参考ウェブページ

  1. 詳解 シェルスクリプト
  2. 入門bash UNIXの基本操作(初心者向け解説)
  3. debian install manual よくできたマニュアル。
  4. jman
  5. www.linux.org/
  6. Linux magazine
  7. Linux World online etcナビゲーション
    /etc ディレクトリのファイルの説明。
  8. Unix Programming Frequently Asked Questions 日本語訳
  9. Programming UNIX Sockets in C - Frequently Asked Questions 日本語訳
  10. Linux Personal Workstation(Linux パーソナルワークステーション)
[content]

履歴

  • 2006/09/05 新規作成・分岐版・シェルのページとマージ
[content]
ご意見、ご感想、誤字、間違い等、お気づきの点がありましたら KGussan@Gmail.com まで連絡ください。
このウェブページの注意・免責事項 Copyright (C) 2004-2012 KGussan. [トップページ]
[PR:元国税局勤務の起業家向け、遺産相続の相談なら植村洋税理士事務所:一時間無料税理士相談。お気軽に。]