Wiki内検索
最近更新したページ
最新コメント
Menu
ここは自由に編集できるエリアです。
タグ

linux/UNIX like tools


GCC




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 $<


そのほか

コマンド全般


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


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 directory 
libncurses5-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 リクエストをする方法とかいろいろ


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++ のコメントを除去したりできる


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




スマートフォン版で見る