Archive for category UNIX

tarコマンドのメモ

ターミナルを使う時はメチャクチャ使うんだけど、使わない時は全く使わない昨今。
なんと、tarコマンドまで忘れてしまう始末。
しかも、欲しい形での情報が見つからないことしばしば。
なので、自分向けメモを残すことに。
自分向けだから、よく使うオプションのみ:P

オプション オプション内容
c アーカイブを作成
x アーカイブを展開
j bzip2で圧縮(cモード – 圧縮モード – のみ)
z gunzipで圧縮(cモード – 圧縮モード – のみ)
v 冗長(詳細)表示出力
f ファイルの指定

例)
bunzip圧縮

% tar cjvf filename.tar.bz2 /path/to/dir_name

gunzip圧縮

% tar czvf filename.tar.gz /path/to/dir_name

※拡張子は自分で付けるっぽい。

bunzip解凍

% tar xjvf filename.tar.bz2

gunzip解凍

% tar xzvf filename.tar.gz

※FreeBSDでは書庫を自動判断してくれるっぽい。(恐らくLinuxでも。)

詳しくは

% man tar

まで。

そんだけ。

Post to Twitter

, ,

No Comments

dateコマンドを英語で出しつつmkdir

まぁ、小ネタなんだけれども、cygwinでもmacでもちょっとした作業はコマンドラインでやってしまいたいもの。
で、IDEで開発していて「アレ?このコード動くのかな?」と言う時、突然試したくなるのが人の性。
だもんで、忘れないように「年/英語表記月頭三文字_日付/」と言うディレクトリを掘っていたりする。
例えば「~/source/2010/Jun_15」と言った具合。
今まではこれいちいち月の省略形を思い出しつつ日付を見て作成していたと言うものスゴイUNIXらしくないことしてたわけ。

そもそもの原因は

% mkdir `date +"%b_%d"`

が上手く動いてくれなかったことに起因したりする。
その原因はLANGが日本語になっていたから。

% echo $LANG
ja_JP.UTF-8

と言うわけで、一瞬だけLANGをenにすればいいらしい、と。
なので、こんなのを書いてみた。

#!/bin/sh
export LANG=en
mkdir `date +"%b_%d"`

引数とってどこに作るかを設定しても良いかもしれないなぁ、なんて思ったり。
PHPで仕事はしていたけど、PerlやShellは書いたこと無かったりする俺でした。
猛省。

そんだけ。

Post to Twitter

,

No Comments

hostnameを変更する

FreeBSDサーバでの話。
要はこのサーバね。

メールサーバを立てようと四苦八苦してるんですよ、実は。
で、ホスト名がfreebsd.localhostというふざけた名前だから行けないのかなぁ、と。
ここは一つ、alterroots.comと改めなければと反省。

まず、ホスト名を表示するには、

% hostname
freebsd.localhost

です、と。

このうちサーバ名は最初のドットまでで、

% hostname -s
freebsd

となります、と。

で、メールサーバとして例えばmail.alterroots.comとする場合は

% hostname mail.alterroots.com

として、更に起動スクリプトに書かれている方も修正する。
そのファイルの場所は/etc/rc.conf。
このファイルのhostname=となっているところを修正して完了。

でもメールサーバの構築は失敗している。
理由はサーバ用に取得したプロバイダがBB.exciteで、メールアカウントを持ってないから。。
(プロバイダのメールサーバを中継しないと行けないらしい)

そんだけ。

Post to Twitter

, ,

No Comments

fetch、wget、cURLは基本的に便利。

やはりUNIX系コマンドのお話。
大概ネットに繋がっていることがあり、ファイルを落としたいなんてこともある。
で、Zipとかの書庫やらファイルを落としたい時がある。
そんな時に活躍するのがfetch、wget、cURL。
なんで3つも種類があるかと言うと、fetchがFreeBSDのもの。
wgetがLinuxとか。
cURLがMacでは標準。
機能的には恐らくfetch<wget≦cURLかな?

使い方としては

% fetch http://www.google.com

とか。

で、wgetとかcURLだと再起的に取ってきたり、連番で取ってきたりできるっぽい。
例えば

% curl -O http://www.hogehoge.com/img_[1-100].jpg

とすれば、img_1.jpg〜img_100.jpgをDLできる。

これからもお世話になりそう。

そんだけ。

Post to Twitter

, , , , , , , ,

No Comments

MacPorts

最近のMacを弄っていると驚くほどUNIXなことに気がつく。
MacPortsもそんな一つ。
http://www.macports.org/
これはFreeBSD由来のPorts CollectionのMac版で、そのOSで使えるUNIXプログラムのソースコードを取ってきて、設定、およびインストールをしてくれると言う優れもの。
今回はその使い方をメモついでに書いておくことに。
(よく手帳を読み返すんだよね、これ。。)

準備するもの。

  • OSX 10.4 以降が走るMac
  • OSX 10.4 以降のMacOS X
  • ネット環境
  • Xcodeの最新版

最低でもこれくらいは必要かと。
で、総本山に行って、最新版のMacPortsを落としてくる。
http://www.macports.org/install.php
ここの「Mac OS X Package (.pkg) Installer」と書いてある場所の該当OSをクリック。
macpotrs.org_download_page
で、dmgからインスコしてとりあえずインストール完了。

更に、シェルにパスを通さないとportとだけ書いても動かないので、下記の記述を.bashrcなどに追加する。
(ついでにマニュアルも記述しておく)

export PATH=/opt/local/bin:/op/loca/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

あとはインストールしたいUNIXツールを見つけたら

% sudo port install ソフトウェア名

と言った感じ。

こっから先はコマンドリファレンス的なもの。
Read the rest of this entry »

Post to Twitter

, , , ,

No Comments

Man Pageの表記とか

FreeBSDとか、Unixの話。
manというマニュアルを呼び出すコマンドがあります。が、その表記でいつも気になることがありました。例えば「ls(1)」の(1)の部分。
これが何かを調べたところ、常識的すぎるためか、皆さん気にならないのか、なかなか見つかりませんでした。
Linuxのman pageを開設したサイトでは、下記のような形で紹介されていたり。
http://www.kaimei.org/note/mag/unix_doc.html

1 ユーザコマンド
2 システムコール (カーネルの提供する関数)
3 サブルーチン (ライブラリ関数)
4 デバイス (/dev のスペシャルファイル)
5 ファイルフォーマットの説明
6 ゲーム
7 その他 (マクロパッケージや取り決め的ドキュメント)
8 システム管理用ツール
9 Linux 独自のカーネルルーチン用ドキュメント
n 新しいドキュメント (よりふさわしい場所に移動すべきもの)
o 古いドキュメント (猶予期間として保存されているもの)
l 独自のシステムについてのローカルなドキュメント

Read the rest of this entry »

Post to Twitter

, , ,

4 Comments