Unix command

バックアップツール ddコマンドの使い方

ddコマンドの書式  

dd [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv=code]

オプション

if=file 読み込むファイルを指定する。指定がない場合は標準入力を表す
of=file 出力ファイルを指定する。指定がない場合は標準出力を表す
ibs=bytes 一度に指定したバイトのブロックを読み込む
obs=bytes 一度に指定したバイトのブロックを書き込む
bs=bytes 一度に指定したバイトのブロックを読み書きする
cbs=bytes 一度に指定したバイトのブロックを変換する
skip=blocks 入力ファイルの先頭から指定したブロックをスキップする
seek=blocks 出力ファイル中の指定したブロックをスキップする
count=blocks 入力から出力へ指定したブロックをコピーする
conv=code コード変換を行する。指定できるコードは後述のコード表を参照

コード表

ascii EBCDICをASCIIに変換
ebcdic ASCIIからEBCDICに変換
ibm ASCIIから別のEBCDICに変換
block 改行で区切られたレコードをcbsで指定したサイズに合わせ る。不足分は空白が使われる
unblock cbsで指定したブロックの末尾の連続した空白を改行に変換
lcase 大文字を小文字に変換
ucase 小文字を大文字に変換
swab 奇数と偶数バイトを入れ替える
noerror 読み込みエラーが発生したとしても継続する
notrunc 出力ファイルを丸めない
sync isbで指定したブロック数に合わせる。不足分はNULLが使 われる

使用例


dd if=/dev/fd0 of=fd.1.img bs=512 count=1    fd.1.img = 512 byte
dd if=/dev/fd0 of=fd.1.img bs=512 count=2    fd.1.img =  1024byte

dd if=/dev/fd0 of=fd.1.img bs=1k count=1    fd.1.img = 1024 byte
dd if=/dev/fd0 of=fd.1.img bs=1k count=2    fd.1.img = 2048 byte

dd if=/dev/fd0 of=fd.1.img    2880+0 records in     2880+0 records out    fd.1.img = 1474560 byte
dd if=/dev/fd0 of=fd.1.img bs=1k count=1k   1024+0 records in  1024+0 records out  fd.1.img = 1048576 byte




DOS領域の吸い取り

ad0s1にXPをインストール  ad0s3a のFreeBSDから次のように実行する

 dd if=/dev/ad0s1 of=XP.img bs=1k count=1440   XPの始めの部分のイメージをとる

dd if=XP.img of=/dev/fd0  上のイメージを FDのべたがきする
そしてFDをいれたままrebootしてみる
結果は
FreeBSDのbootマネージアーは無視されXPが起動したそしてFDを抜けば以前の起動順で起動が始まり
FreeBSDが起動した



1K×100=(100K)  or 1000kバイトのバイナリファイルを作る。

dd if=/dev/zero of=foo.img bs=1k count=100

dd if=/dev/zero of=foo.img bs=1k count=1k


CD-ROMのイメージ吸い取り
# dd if=/dev/acd0 of=/FreeBSD5.1R.iso bs=2048

ハードディスクのコピーや消去を行うためには、 上記の例に示したように、dd(8) コマンドを使うので、 これをフロッピーに入れておく必要があります。 また、ついでなので、 「ちゃんと消去できたか」をチェックするプログラムなどを 仕込んでおこうとすると、dd以外にもecho(1), test(1),expr(1) などのシェルスクリプト用のコマンドも入れておく必要があります。 そこで、必要最小限の機能だけを持ったカーネルと これらのコマンド類が入ったフロッピーを作ります。    wipe.flp

FDDのイメージ吸い取り

cat /dev/fd0 > fd.img  -->  dd if=fd.img of=/dev/fd0  これでもOK

ディスクの中身を消去
# dd if=/dev/zero of=消したいディスク

dumpコマンド とrestore

これでシングルユーザモードになります
# init 1; exit

HDDの 0cylinder.、0track、1sectorの512byteはMBRと呼ばれ、この中には、BIOSから呼び出され、 boot処理を行うプログラムと、そのHDD全体のパーテション情報を格納しているパーテションテーブルが存在する

fdiskはMBR内にある4つのパーテションエントリをもつパーテションテーブルを編集するパーテションテーブルエディタである。一方、fdisk /mbrは、MBR内にbootプログラムを書き込むものである。
ところで、MBRは、1sectorにあり、0 sectorではない。では、0 sectorには何があるのか?ここには、BPB:BIOS Parameter Blockと呼ばれるHDDの基本情報が入っているらしい。

CD をドライブにいれ、mount せずにイメージを抜く
dd if=/dev/racd0a of=image.iso エラーになりました。cat /dev/racd0a | dd of=image.iso   ok
dd if=/dev/racd0a of=image.iso bs=2048   ok

uniqを使って、重複する行を削除する

$ sort happybirthday.txt | uniq
便利メモ
tbz tgz  変換    press NO 13 P 46
bzcat  xxx.tbz | gzip -9 > xxx.tgz
#bzcat bash-2.05b.007.tbz | gzip -9 > bash-2.05b.007.tgz

chmod

chmod 700 .ssh(ディレクトリ  自分だけが読み書きできるように)
chmod 600 authorized_keys2 (自分だけが読み書き可)
chmod 644 file2     file2を644(rw-r--r--)に変更    u 所有者 g グループ o その他 a 全て
chmod 751 ディレクトリ名 …通常の ディレクトリは第三者実行許可のみです。
chmod 644 ファイル名 …通常の HTMLファイルや画像データなどの場合で、第三者も読み込み可。
chmod 755 ファイル名 …CGIなどの 実行が必要なファイルの場合。
chmod 666 ファイル名 …アクセスカウ ンターのカウンターファイルのように書き込みが必要な場合。
chmod 777 ディレクトリ名 …掲示板の ようにディレクトリ内に随時新規ファイルを作成する場合。

読み出し可r 書き込み可w 実行可能x
4 2 1

chmod *** の三桁の内、百の位が自分(オーナー)十の位がグループ一の位が第三者と して表の許可する項目の数値を足し算して並べます。不許可の場合は0です。

例えば、
chmod 700 だと、自分のみ読み・書き・実行可能。
chmod 641 だと、自分は読み・書き可能、グループは読みのみ可能、第三者は実行のみ可能となります。こんな場合はたぶんな いと思いますが。





UNIX 一般コマンド


find . -atime 0 -print			今日更新されたファイルを検索
find / -name "ファイル名" -print		ファイル名を検索する
nkf -j < ファイル1 > ファイル2	#ファイル1をテキストで読み込みJISコードに変換してファイル2に出力
ln -s ファイル1 ファイル2 #ファイル1へのシンボリックリンクをファイル2にはる
# kill -HUP inetdのプロセス名

# killall -HUP inetd (inetd ;ポートを見張り、クライアントからのリクエストがあるとサーバプログラムを起動する。)
# cdcontrol -f /dev/acd0 eject   ( cdcontrol コマンドは FreeBSD 2.1 から登場しました。。)
#cdcontrol -f /dev/acd0 close

#rehash ハッシュテーブルを再構築する。csh・tcsh の内部コマンド

windows 拡張領域のmount  (4.10R  )

cd /dev  ;  ./MAKEDEV ad1s5e
mount_jamsdos /dev/ad1s5e /mnt    でOK


tar

tar.gz     tar zxf (package name)
tgz          tar zxf (package name)
tar bz2    tar jxf (package name)
tar Z         tar Zxf (package name)
zip           unzip (package name)
lzh           lha e     (package name)















●viエディタ
h カーソルを左に移動
j カーソルを下に移動
k カーソルを上に移動
l カーソルを右に移動
Ctrl+f 次のページに移動
Ctrl+b 前のページに移動
i インサートモード
a 追加モード
Escキー 入力モードを抜ける
x 1文字消去
dd 1行切り取り
o 1行追加
r 1文字上書き
R 上書きモード
u 直前の処理を取り消す
yd 1行コピー
p 貼り付け
/文字列 文字列を検索する
n 次の文字列を検索する
N 文字列を上方向に検索する
:w 上書き保存
:w filename filenameという名前で保存する
:wq 保存して終了
SHIFT+ZZ 保存して終了
:q! 保存せずに終了