Simple
Sand
Samples
プログラミング言語サンプル集
TOPへ
Hello World!(各言語のTOP)
awk AWKコマンド
banner 花文字(バナー)
basename パスからファイル名抽出
cal カレンダー表示
cat ファイルの連結、内容表示
cd ディレクトリ変更
cksum CRCチェックサム
cp ファイルコピー
cut テキスト列抽出
date 日付と時間
dd バイナリ生成
diff ファイル比較
dirname パスからディレクトリ名取得
expand タブスペース変換
ed エディタ
find ファイル検索
gdb GNUデバッガ
git バージョン管理
global ソースコードTAGGING
grep 文字列検索
hd バイナリ16進ダンプ
head テキスト先頭抽出
hexdump バイナリダンプ
join フィールド一致行結合
ld リンクコマンド
ln シンボリックリンク
ls ファイルリスト
lv 文字コード変換
md5sum MD5メッセージダイジェスト
mkdir ディレクトリ作成
mv ファイル名(ディレクトリ)変更
netdiscover コンピュータ検索
nl 番号付け
od バイナリダンプ
paste ファイルを横に並べて表示
patch パッチを当てる
perl Perlコマンド
pr ページ付け、段組
printf 書式付き表示
pushd,popd ディレクトリ変更復帰
pwd カレントディレクトリ表示
rename ファイル名を一括変更
rev テキスト左右反転
rmdir 空のディレクトリ削除
scp リモートファイルコピー
sed ストリームエディタ
seq 数列生成
sort ソート
split ファイル分割
sleep 指定時間遅延
sum チェックサム
svn バージョン管理
tac テキスト上下反転
tail テキスト末尾抽出
tar 書庫操作、圧縮、解凍
touch タイムスタンプ更新
tr 文字一括置換
unexpand スペースタブ変換
uniq ソート済テキストの重複削除
vim vimエディタ
wc 単語数行数カウント
xargs 引数作成
zip,unzip ZIP圧縮解凍

説明のないとってもシンプルなサンプルプログラム集
COBOL awk C言語 D言語 GO言語 Lua Vim
bash Perl Gauche Clojure CLISP EmacsLisp VimScript
tcsh Ruby Groovy Java C# VBScript JavaScript
Io言語 Python Erlang Scala VB.NET Excel/VBA PHP
Tcl Haskell OCaml PowerShell Windows Unix/Linux

Linuxコマンド > GNU GLOBAL source code tagging system

1
2
3
4
5
6
7
8
9
global [-adEFGilMnNqrstTvx][-S dir][-e] pattern
global -c[dFiIMoOPrsT] prefix
global -f[adlnqrstvx][-L file-list][-S dir] files
global -g[aEGilMnoOqtvVx][-L file-list][-S dir][-e] pattern [files]
global -I[ailMnqtvx][-S dir][-e] pattern
global -P[aEGilMnoOqtvVx][-S dir][-e] pattern
global -p[qrv]
global -u[qv]
gtags [-ciIOqvw][-d tag-file][-f file][dbpath]

ソースからインストール

~$ wget hftp://ftp.gnu.org/pub/gnu/global/global-6.5.3.tar.gz
~$ tar xzf global-6.5.3.tar.gz
~$ cd global-6.5.3
~$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes 
checking for a thread-safe mkdir -p... /bin/mkdir -p

           *snip*

config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
~$ make
make  all-recursive
make[1]: Entering directory '/home/hoge/global-6.5.3'

           *snip*

libtool: link: gcc -g -O2 -o gtags-cscope gtags-cscope.o alloc.o 
make[2]: Leaving directory '/home/hoge/global-6.5.3/gtags-cscope'
make[2]: Entering directory '/home/hoge/global-6.5.3'
make[2]: Leaving directory '/home/hoge/global-6.5.3'
make[1]: Leaving directory '/home/hoge/global-6.5.3'
~$ sudo make install
make[1]: Entering directory '/home/hoge/global-6.5.3/libglibc'
make[2]: Entering directory '/home/hoge/global-6.5.3/libglibc'

           *snip*

 /usr/bin/install -c -m 644 AUTHORS COPYING COPYING.LIB ChangeLog 
make[2]: Leaving directory '/home/hoge/global-6.5.3'
make[1]: Leaving directory '/home/hoge/global-6.5.3'



globalの確認用にLinuxカーネルソース取得

~$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.6.tar.xz
~$ tar xJf linux-4.4.6.tar.xz
~$ 

タグ打ち

~$ cd linux-4.4.6
~/linux-4.4.6$ gtags
~/linux-4.4.6$ 

タグの定義ソースを探す

~/linux-4.4.6$ global start_kernel
arch/alpha/boot/bootp.c
arch/alpha/boot/bootpz.c
arch/alpha/boot/main.c
init/main.c
~/linux-4.4.6$ 

ソース内の全タグ表示

~/linux-4.4.6$ global -f init/main.c
DEBUG              12 init/main.c      #define
mark_rodata_ro     97 init/main.c      static i
MAX_INIT_ARGS     115 init/main.c      #define 
MAX_INIT_ENVS     116 init/main.c      #define         *snip* 
set_reset_devices  153 init/main.c      static 
obsolete_checksetup  167 init/main.c      stati

           *snip*

~/linux-4.4.6$