Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Perl-Java-Web

KnaveWeb講座(Java&Perl)

Perl常用関数一覧

文字列関数
chomp 末尾が改行文字だった場合のみ改行文字を削除します。
chop 文字列の最後の文字を切り捨てて、その切り取った文字を返します。
chr 文字コードに対応する文字を返します。
getc FILEHANDLE につながれている入力ファイルから一文字を返します。
index 対象文字列 の中で、最初に 検索文字列 が見つかった位置を返します。
lc 引数を小文字に変換したものを返します。
lcfirst 引数の最初の文字を小文字に変換したものを返します。
length 引数の値の文字列長を返します。
substr 部分文字列を取り出して返します。
uc 引数を大文字に変換したものを返します。
ucfirst 引数の最初の文字を大文字に変換したものを返します。

数式関数
abs 引数の絶対値を返します。
cos 引数の余弦を返します。
hex 引数を16 進数の文字列と解釈して、10 進数の値を返します。
int 引数の整数値を返します。
oct 引数を 8 進数文字列と解釈して、10 進数の値を返します。
rand 0 から引数の値までの小数の乱数値を返します。
sin 引数の正弦を返します。
sqrt 引数の平方根を返します。
srand rand 演算子のためのシード値を設定します。

リスト処理
grep 引数に与える配列からパターンにマッチする要素からなる配列を戻します。
join 区切り文字列でリスト値を連結する関数です。
pop 引数の配列から末尾の要素を取り除き、取り除いた要素を返します。
push 配列の末尾に要素を追加します。
reverse 配列要素を逆順にし左辺へ代入します。
shift 配列の最初の要素を取り除いてその値を返します。
sort リスト値をソートします。
split 文字列を区切りパターンにより分割します。
unshift 配列の先頭に要素を追加します。

入出力処理
binmode FILEHANDLE をバイナリモードで使用します。
close FILEHANDLE に紐付けられたファイルをクローズします。
eof ファイルが終了か否かを判断します。
open FILENAME で指定されるファイルを open し、 FILEHANDLE と結び付けます。
print 指定されたファイルハンドルに出力データを出力します。
printf 文字列をフォーマットして出力します。
read 指定した FILEHANDLE から、バイト数のデータを読み込みます。
tell FILEHANDLE の現在のファイル位置を返します。

ファイル、ディレクトリ処理
chmod 操作対象に含まれるファイルの、パーミッションを変更します。
chown 操作対象に含まれるファイルの所有者 (とグループ) を変更します。
chrdir カレントディレクトリを移します。
closedir opendirで開いたディレクトリをクローズする。
mkdir ディレクトリを生成する。
opendir ディレクトリをオープンします。
readdir DIRHANDLEに紐付けたディレクトリの次のディレクトリエントリを返します。
rename ファイル名を変更します。
rmdir そのディレクトリを削除します。
stat FILEHANDLE又は名称で指定したファイルの情報を13要素の配列として返します。
telldir DIRHANDLE 上の readdir() ルーティンに対する現在位置を返します。
unlink ファイルを削除します。
utime 指定したファイルのアクセス時刻と更新時刻を変更します。

System処理
exec 外部コマンドを実行します。
system 外部コマンドを実行します。

時間
gmtime グリニッジ標準時を返します。
localtime ローカルタイムを返します。
time 1970年 1月1日からの連続秒数を返します。

スコープ
local グローバル変数を一時的に待避します。
my ブロック内のみの変数を宣言します。
package 新たな名前空間を宣言します。
require 別の名前空間を使う事を宣言します。

その他
defined 未定義変数か否かを判断します。
scalar 値をスカラーのコンテキストとして評価します。
undef 定義された変数を未定義状態に戻します。

Ruby とは

* Rubyはまつもと ゆきひろさんが開発しているフリーソフトウェアです。
* Rubyは, 手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。
* Windows で使える Ruby には cygwin版、mingw版、mswin版(ActiveRuby)と、 DOSで動作する djgpp版があります。
* GUI を必要としない外部変形は Windows版 よりも djgpp版が速いようなので、
 これを使っていますが、Windows版でも問題無く動作するはずです。
* GUI を必要とするものについては mingw版で動作を確認しています。
* ActiveRuby は以前のバージョンでは動作確認をしていたのですが、面倒になって、やめました。(^^;;

Ruby And Tk Install

(1) One-Click Ruby Installer を使って Ruby をインストールします.

(2) 下記の手順でTkをインストールします。

まず、ここから「ActiveTcl」をダウンロードしてください。
1. カエル(?)っぽい絵の右側の「Get ActiveTcl」をクリック。
2. 「Download」をクリック。無償です。
3. 名前やメールアドレスの入力を求める画面が表示されます。何も入力しなくても「Continue」をクリックすれば先に進めます。
4. 「Windows」の下の「AS Package」リンクをクリック。 ActiveTcl8.4.13.0.261555-win32-ix86-threaded.exe を保存します。
※Rubyのバージョンと相応のTkバージョンの確認が行ってください。

次に、保存した ActiveTcl8.4.13.0.261555-win32-ix86-threaded.exe を実行してActiveTclをインストールしてください。必要なのはこの中の一部のファイルだけなので、細かい設定は気にせずとにかくインストールしてくれれば結構です。(この作業が完了したらすぐにアンインストールして構いません。)

ここから先はActiveTclを標準のインストール先である C:\Tcl にインストールしたものとして話を進めます。また、Rubyも同様に C:\Program Files\Ruby にインストールされているものとします。別の場所にインストールしている場合は、フォルダのパスを自分のインストール先に置き換えて読んでください。
C:\Tcl\bin の中にあるtcl84.dllとtk84.dllをRubyのbinフォルダにコピーします。
C:\Tcl\bin\tcl84.dll → C:\Program Files\Ruby\bin\
C:\Tcl\bin\tk84.dll → C:\Program Files\Ruby\bin\
同様に、C:\Tcl\lib の中にある全てのファイルとフォルダをRubyのlibフォルダにコピーします。
C:\Tcl\lib\全部 → C:\Program Files\Ruby\lib\
これで作業完了です。
Ruby Start 1
Ruby Start 2
ActiveTcl/Tk

Shell_Perl_Introduce

Shell Introduce 1
unixC Introduce
Unix Introduce

Perl Introduce 1
Perl Introduce 2

Date And Cal in Shell:
# 詳細日付の取得1
VeryDetailDate=`date +%Y%m%d%k%M%S%N`;
sed s/%VERYDETAILDATE%/$VeryDetailDate/ $filename > $fullDir/tmpFile;
sleep 0.2

# 詳細日付の取得1
detailDate=`date +%Y%m%d%H%M%S`;
sed s/%DETAILDATE%/$detailDate/ $fullDir/tmpFile |tee $fullDir/tmpFile 1>/dev/null;
sleep 1

# 日付と文字列の組合せ
result="LT"`date +%H`"-"`date +%M%S`;
sed s/%RESULT%/$result/ $fullDir/tmpFile |tee $fullDir/tmpFile 1>/dev/null;

# 日付の計算例
daysAgao=15;
calDate=`date --date ${daysAgao}' day 5 minutes ago' +%Y%m%d%k%M%S`;
sed s/%CALDATE%/$calDate/ $fullDir/tmpFile |tee $fullDir/tmpFile 1>/dev/null;

# 整数計算例
count=`expr $count + 1`;
# 浮動小数点計算例
dblVal=`echo "$vals + $loop" | bc -l`;
sed s/%$count%/$dblVal/ $fullDir/tmpFile > ${fullDir/tmpFile}.1;
mv ${fullDir/tmpFile}.1 $fullDir/tmpFile;

ln命令使用

#!/bin/sh

BAS=.../obj
BIN=$BAS/run/bin/current
LIB=$BAS/run/lib/current

rm -f $BIN/*
rm -f $LIB/*
rm -f $BAS/run.tar

cd $BAS
cp */*.so $LIB

cp .../ProcA/Proc1 $BIN
cp .../ProcB/Proc2 $BIN
cp .../ProcC/Proc3 $BIN
cp .../ProcD/Proc4 $BIN

tar -cvf run.tar run

ls -l $LIB $BIN
date
ls -l *.tar
pwd


tar -xvf run.tar


// binの変更
cd bin
ll --->元の指向のBackup : current -> 元フォルダ/
rm current --->シンボリックリンクの削除
ln -s .../run/bin/current current --->新しい指向の作成
// libの変更
cd ..
cd lib
ll --->元の指向のBackup : current -> 元フォルダ/
rm current --->シンボリックリンクの削除
ln -s .../run/lib/current current --->新しい指向の作成

探しと削除

grep find
grep -ri str path
grep -R str path
find path -name 'str' -print

rm [-dfirv] 名前
オプション
-d ディレクトリのリンクをはずします。管理者権限が必要です。
-f 存在しないファイルがあってもエラーを返しません。
-i ファイルを削除してよいかを確認します。
-r ディレクトリを再帰的に(中身ごと)削除します。
-v 経過を表示します。
名前 削除するファイルまたはディレクトリを指定します。
使用例:
$ rm file1* 「file1」ではじまるファイルをすべて削除します。
$ rm -r dir1 「dir1」ディレクトリをファイルごと削除します。

$$set echo on spool result.log select * from table order by cols; spool off$$

圧縮 解凍(Linux)2

rm [-dfirv] 名前
オプション
-d ディレクトリのリンクをはずします。管理者権限が必要です。
-f 存在しないファイルがあってもエラーを返しません。
-i ファイルを削除してよいかを確認します。
-r ディレクトリを再帰的に(中身ごと)削除します。
-v 経過を表示します。
名前 削除するファイルまたはディレクトリを指定します。
使用例:
$ rm file1* 「file1」ではじまるファイルをすべて削除します。
$ rm -r dir1 「dir1」ディレクトリをファイルごと削除します。


zip [-dlmqzr] [-圧縮率] 圧縮ファイル ファイル
オプション
-d 圧縮ファイル内から指定したファイルを削除します。
-l 改行コードを「LF」から「CR+LF」に変換します。「-ll」で「CR+LF」から「LF」に変換できます。
-m 圧縮ファイル内から指定したファイルを移動します。
-q クイック圧縮をします。
-z 圧縮ファイルにコメントを追加します。「unzip -z」でコメントを表示できます。
-圧縮率 圧縮率を1~9の数字で指定します。デフォルトは6です。数字が大きいほど
    圧縮率は高くなりますが、圧縮に時間がかかります。
-r recurse into directories
圧縮ファイル 圧縮ファイル名を指定します。一般的に拡張子は「.zip」です。
ファイル 圧縮するファイルを指定します。
使用例:
$ zip file1.zip file1 「file1」を「file1.zip」というファイル名で圧縮します。
$ zip -r file.zip file(ディレクトリ)

unzip [-lopzZ] 圧縮ファイル ファイル
オプション
-l 圧縮ファイル内のファイルをリスト表示します。
-o ファイルの上書き確認プロンプトを表示せずに強制的に上書きします。
-p 圧縮ファイルの内容を表示します。
-z 圧縮ファイルのコメントを表示します。「zip -z」でコメントを付加できます。
-Z 圧縮情報を表示します。「zipinfo」というコマンドと同様です。
圧縮ファイル 復元するファイル名を指定します。
ファイル 復元するファイルを指定します。

使用例:
$ unzip file1.zip 「file1.zip」を復元します。
$ unzip -o file1.zip 「file1」を復元します。ファイルは強制的に上書きします。


compress [-cdfvr] ファイル
オプション
-c 圧縮データを標準出力します。既存のファイルは変更されません。
-d 圧縮ファイル(*.Z)を復元します。復元するファイルの拡張子「.Z」は省略できます。
-f 圧縮後のファイルサイズが元ファイルのサイズを上回る場合でも強制的に圧縮します。
-v 圧縮結果(圧縮率等)を表示します。
-r ディレクトリ内の全ファイルを再帰的に圧縮します。
ファイル 圧縮(復元)するファイル(ディレクトリ)を指定します。
使用例:
$ compress -v *.html 拡張子「.html」のファイルを圧縮します。圧縮結果も表示します。

uncompress [-cfvr] ファイル
オプション
-c 圧縮データを標準出力します。既存のファイルは変更されません。zcat コマンドと同様となります。
-f 同名のファイルが存在する場合、上書きの確認用プロンプトを表示しないで強制的に上書きします。
-v 復元結果を表示します。
-r ディレクトリ内の全ファイルを再帰的に復元します。
ファイル 復元するファイル(ディレクトリ)を指定します。拡張子「.Z」は省略可能です。
使用例:
$ uncompress -v *.html 拡張子「.html.Z」のファイルを復元します。復元結果も表示します。

解凍例
gzip―→tar.gz
  tar zxfv xxxxxxx.tar.gz
  gunzip xxxxx.tar.gz
  tar xvf xxxx.tar
  gzip -d xxxx.gz
  tar -xvf xxx.tar
  gunzip < xxx.tar.tar | tar xvf -

zip―→zip
  unzip xxxxx.zip

bzip2―→tar.bz2
  tar jxfv xxxxxx.tar.bz2
  tar Ixvf xxxxxx.tar.bz2

tar―→tar
  tar xvf xxxxxx.tar

bin―→bin
  ./xxxxxx.bin

rpm―→rpm
  インストール -ivh
  rpm -ivh huga-1.0.0.i386.rpm

  アップデート(未対象ファイルのみ) -Uvh
  rpm -Uvh huge-1.1.0.i386.rpm
  アップデート(古対象ファイルのみ) -Fvh
  rpm -Fvh huga-1.1.0.i386.rpm

  パッケージ確認
  (***が存在するか?) -q
  rpm -q ***
  rpm -qa | egrep ***

  関連表示
  (***と一緒に入ったものは?) -ql
  rpm -ql huga

  アンインストール -e
  rpm -e ***

lzh―→lzh
  lha e compress.lzh


#include "unistd.h" // babylon //
#include "getopt.h" // dictconv //
Genius、Meikyo、南山堂、百科词典和知惠藏,都是最新版本。
http://info.babylon.com/glossaries/8FF6/Genius_English_Japanese.BGL
http://info.babylon.com/glossaries/C6AB/Genius_English_Japanese_Big.BGL
http://info.babylon.com/glossaries/93C5/Genius_Japanese_English.BGL
http://info.babylon.com/glossaries/C6C0/Genius_Japanese_English_Big_In.BGL
http://info.babylon.com/glossaries/A488/Meikyo_Japanese_Japanese.BGL
http://dn.altech-ads.com/babylon/nanzando.bgl
http://dn.altech-ads.com/babylon/mypedia.bgl
http://dn.altech-ads.com/babylon/chiezo2005.bgl

圧縮 解凍(Linux)1

解凍コマンド一覧拡張子 圧縮形式  コマンド例
.tar.gz          gzip       $ tar zxvf ファイル名
.tar.bz2         bzip2       $ tar jxvf ファイル名
.gz            gzip       $ gunzip ファイル名 または $ gzip -d ファイル名
.bz2           bzip2       $ bunzip2 ファイル名 または $ bzip2 -d ファイル名
.lha または.lzh      lzh        $ lha x ファイル名
.zip           zip        $ unzip ファイル名
.jar           jar        $ jar xf ファイル名
圧縮コマンド一覧拡張子 圧縮形式  コマンド
.tar.gz          gzip       $ tar zcvf ファイル名.tar.gz 圧縮対象
.tar.bz2         bzip2       $ tar jcvf ファイル名.tar.bz2 圧縮対象
.gz            gzip       $ gzip 圧縮対象
.bz2           bzip2       $ bzip2 圧縮対象
.lha           lzh        $ lha c ファイル名.lzh 圧縮対象
.zip           zip        $ zip ファイル名.zip 圧縮対象
.jar           jar        $ jar cf ファイル名.jar 圧縮対象

コマンドtar
複数のファイルを一つのファイルにまとめるアーカイブ形式の一つです。
gzipなどと組み合わせて使用されることが多いようです。
主なオプション
-c (create) : 新しいアーカイブを作成します。
-x (extract) : アーカイブからファイルを抽出します。
-v (verbose) : 処理したファイルの一覧を詳しく出力します。
-f (file)アーカイブファイルまたはデバイスを指定します。(デフォルトは/dev/rmt0)
-z (gzip,unzip) : アーカイブを gzip にファルタします。
-j (bzip2) : アーカイブを bzip2 にフィルタします。

gzip, gunzip
ファイル圧縮形式の一つです。 tarと組み合わせて使用されることが多いようです。
主なオプション
-d (decompress) : 解凍(伸展)します。
-c (stdout) : 出力を標準出力に書き出し、元ファイルは変更しません。
-l (list) : 圧縮された個々のファイルについての情報を列挙します。
-r (recursive) : ディレクトリ構造を再帰的にたどります。

bzip2, bunzip2
ファイル圧縮形式の一つです。 gzipやZIPといったデータ圧縮法と比べ、より高い圧縮率です。
主なオプション
-d (decompress) : 解凍(伸展)します。
-c (stdout) : 出力を標準出力に書き出し、元ファイルは変更しません。
-z (compress) : 起動された名前にかかわらず圧縮します。
zip, unzip
zip は、Windows でよく使われる圧縮形式です。

lha
lha は、Windows でよく使われる圧縮形式です。 LZH は日本人によって作られた圧縮形式です。
主なオプション
x : アーカイブファイルからファイルを抽出する
c : アーカイブファイルの作成する

jar
jarは、Javaプログラムの実行に必要なクラスファイルやデータファイル
を一つにまとめるために使われます。
主なオプション
c : アーカイブを新規作成します。
t : アーカイブの内容を一覧表示します。
x : 指定の(またはすべての)ファイルをアーカイブから抽出します。
u : 既存アーカイブを更新します。
v : 標準出力に詳細な出力を生成します。
f : アーカイブファイル名を指定します。
m : 指定のマニフェストファイルからマニフェスト情報を取り込みます。
O : 格納のみ.ZIP 圧縮を使用しません。
M : エントリのマニフェストファイルを作成しません
i : 指定の jar ファイルのインデックス情報を生成します。
C : 指定のディレクトリに変更し,以下のファイルを取り込みます。