linux/UNIX like tools
- GCC
- そのほか
GCC
- http://gcc.gnu.org -- GNU Compiler Collection
- http://www.gnu.org/software/binutils/ -- アセンブラやリンカ
- 特集 Linux徹底詳解 -- Interface 2002年7月号 特集
- GNU開発ツール|オーバーシー・パブリッシング --
売り切れてた。第2版を予約してみた。 - http://www.linux.or.jp/JF
- Binary Hacks - O'Reilly Japan -- 2006/11/11 発売、3,360円 (税込)、412ページ
gdb
make
Makefile テンプレート
# # sample.make # CC = gcc OBJS = sample.o VPATH = . TARGET = sample all: $(TARGET) $(TARGET): $(OBJS) $(CC) -o $@ $(OBJS) clean: -rm -f $(TARGET) $(OBJS) .c.o: $(CC) -Wall -O -g -c $<
そのほか
コマンド全般
- Linuxコマンド集 INDEX -- 基本,シェル | ファイル操作 | システム/ユーザー管理 | ディスク関連 | テキスト操作 | ジョブ管理 | ネットワーク関連 | 圧縮・展開,バックアップ | パッケージ管理 | マニュアル閲覧
- Linuxコマンド逆引き大全 Index
Cygwin
- Cygwin Information and Installation -- Cygwin の配布元
- Cygwin Package List -- package の検索に便利
まとめ
- Life with Cygwin -- Cygwin のインストールと使い方が詳しい
- 1. Cygwin とは?
- 4. 環境設定 -- ls で日本語のディレクトリ名が化けないようにする設定など。
- Unix系OSの代価に「Cygwin」を利用してみる
Tips
- CygTerm - Yet another Cygwin console -- いわゆる DOS 窓ではなく、Tera Term などの VT100 ターミナル・エミュレータから Cygwin のシェルを操作するためのツール。CygTerm を使う理由は Windows の日本語 IME やクリップボードを利用できるから。あとフォントを自由に変えられるのもいい。
- UTF-8 TeraTerm Pro with TTSSH2 -- こんなのもある。Ubuntu などはターミナルの文字エンコードが UTF-8 みたいなので便利かも。
- Cygwin memo -- Windows のクリップボードをシェルで操作する getclip, putclip コマンド、日本語文字コードを変換する nkf コマンドなどの解説がある
- Cygwinで X Window System を利用する?
Cygwin のシェルで Windows の任意のパスに cd する
Windows のパスを ' (シングルクォート) で括ると便利だ。例えばこんな感じ。
$ cd 'C:\Documents and Settings\username\My Documents'
共有フォルダならこんな感じ。
$ cd '\\Hqwkdev02'
Cygwin のホームディレクトリと Windows のマイドキュメントを同じにする
例えばこんな感じ。(username は echo $USERNAME で表示された文字列に置き換えればいい。)$ mount --binary --user 'C:\Documents and Settings\username\My Documents' /home/username
mount した設定はレジストリの HKEY_CURRENT_USER\Software\Cygnus Solutions\ に保存されるので、
一度 mount すればいい。再起動しても勝手に mount される。
umount は以下のようにする。
$ umount --user /home/username
sh
- http://dsas.blog.klab.org/archives/51060184.html -- シェルスクリプトで標準入力を加工する際の注意点
JVim
- JVim 3.0 -- ShiftJIS, EUC-JP, UTF-8 に対応している vi クローン
最近の Vim は機能がごちゃごちゃしているのでこれをつかってる。
マクロを書かなくても -b でバイナリを閲覧・編集できるのもいい。
Tera Term から Ubuntu にログインして使うときの設定
Ubuntu だけでなく、文字エンコーディングが UTF-8 の環境に応用できる(と思う)。- Terminal の設定
- Kanji(recieve): UTF-8
- Kanji(transmit): EUC
JVim のオプションで jmask code を以下のように設定する。
$ vim -K ETT
JVim 3.0 がビルドできないとき
こういうエラーが出てビルドがこけたら、term.c:27:23: error: termcap.h: No such file or directorylibncurses5-dev を入れるとかする。
$ sudo apt-get install libncurses5-dev
こういうエラーが出てビルドがこけたら、
unix.o: In function `vim_dirname': unix.c:(.text+0x48d): undefined reference to `errno'
unix.c に以下の行を加えるといい。
#include <errno.h>
telnet -- telnetで HTTP リクエストをする方法とかいろいろ
- http://www.nurs.or.jp/~telnet/
- http://www.nurs.or.jp/~telnet/tips.html -- HTTP proxy を経由してリクエストする方法とか
ssh でログインしたリモートマシンの X の画面を手元のマシンに飛ばす
まず、リモートマシンの /etc/ssh/ssh_config でForwardX11 yesが有効になっていることを確認する。
手元のマシン (X Server が動作している必要あり) の ~/.ssh/config に
ForwardX11 yesを追加する。
あとは、普通にリモートマシンにログインすればいい。
$ ssh username@remote_machine
pgrep, pkill
screen -- Unix like な CUI 環境がより便利になるツール[#p289a123]
Subversion (svn)
- ./Subversion?
smbmount -- Ubuntu で Windows共有ディレクトリをマウントする
samba と smbfs パッケージを apt-get install する。例えば以下のように実行すると /tmp/smb_dirname にマウントされる。
$ mkdir /tmp/smb_dirname $ sudo mount -t smbfs //smb_hostname/dirname /tmp/smb_dirname \ -o username=win_domain\\username
sudo パスワードと Windowsドメインのパスワードを間違えないように注意。
filepp -- C/C++ のコメントを除去したりできる
- http://www.cabaret.demon.co.uk/filepp/
- http://x68000.q-e-d.net/~68user/unix/pickup?filepp -- UNIX の部屋 検索:filepp
Ubuntu なら apt-get install できる。
cvs -- HTTP proxy 越しに checkout するとか
たぶんこんなカンジ。$ cvs -d ":pserver;proxy=<proxy_server>;proxyport=8080:anoncvs@cvs.freedesktop.org:/cvs/xapps" checkout transset
HTTP の CONNECT メソッドが利用可能かどうかを調べる方法
$ telnet <proxy_server> Trying 157.78.32.241... Connected to <proxy_server> Escape character is '^]'. CONNECT cvs.freedesktop.org:2401 HTTP/1.1
※ Enter を2回入力する
HTTP レスポンスが
HTTP/1.1 200 Connection establishedなら成功、
405 method not allowedが返るなら CONENCT メソッドが使えるように設定されていない
Ubuntu
VMware images
C のプログラムがビルドできないんだけど?
まっさらな Ubuntu には libc などが入ってない (いわゆる hello,world プログラムすらコンパイルできない)。そこで、手っ取り早く build-essential というパッケージを入れるとよい。
$ sudo apt-get update $ sudo apt-get install build-essential
参考:
2007年12月01日(土) 16:58:18 Modified by f_okb