ファイルの指定した行数以降を表示するには? [Linux]
何らかのログを解析するときに、tail コマンドを利用することが多い。tail コマンドは
tail filename
とすると、末尾の 10 行を表示する。そして、
tail -n 100 filename
とすると、末尾の 100 行を表示する。
では、ファイルの先頭 200 行目以降からファイル末尾まで表示するにはどうしたら良いか?これは、
tail -n +200 filename
で可能だ。
応用としてこんな例が思いつく。ログに日付が書いてあって、ある日付以降のログだけを見たいとしよう。このとき、
grep -n "2010-01-01" filename
として必要な部分のログの行番号を調べた後、
tail -n +行数 filename
とすれば、 ある日付以降のログだけを見ることができる。
Linux 向け Acrobat Reader の旧バージョンを入手するには? [Linux]
色々な事情により古いバージョンの Acrobat Reader が必要になることがある。それも Linux 版の。
Acrobat Reader の旧バージョンは ftp://ftp.adobe.com/pub/adobe/acrobatreader/unix/ からダウンロードできる。日本語を表示させたい場合は、同サイトからダウンロード可能な jpnfont.tar.gz も必要。
Acrobat Reader はバージョン 7 以降、Adobe Reader という名称に変更された。こちらは ftp://ftp.adobe.com/pub/adobe/reader/unix/ からダウンロードできる。
ftp の上位ディレクトリには windows や mac など Linux 以外の OS 向けのソフトウェアも公開されている。
ちなみに、古いバージョンの Java JDK/JRE (要するに Java の実行環境と開発環境) を入手したい場合は 古いバージョンの JDK/JRE を入手するには? を参照。
konsole 上で rdic のバックスケープを有効にするには? [Linux]
konsole とは KDE に標準で付属する端末。rdic とは英辞郎という英日辞書を検索するための ruby プログラムである。
konsole 上で rdic を動作させるとなぜか Backspace が効かない。rdic 以外のアプリケーションは問題なく Backspace が効いている。これを修正するにはあらかじめ、.rdic1.8/keymap を
addkey backspace backspace
addkey delete backspace
addkey M-v prev_page
addkey C-v next_page
と記述する(ここでは、Delete も Backspace と同じ機能にしている。また、C-v を next_page、M-v を prev_page に設定している)。そして、次のように起動すると良いらしい。
stty erase ^H
rdic -bp --indent=4 ~/jisho/EIJIRO52.euc ~/jisho/RYAKU52.euc ~/jisho/OTOJIRO.euc ~/jisho/WAEIJI52.euc
stty erase ^?
ファイルシステムをマウントするには? [Linux]
Linux の TIPS のメモ。ファイルシステムのマウント関連の話。
Linux から別の Windows PC のディレクトリをマウントしたい。
/bin/mount -t smbfs or /usr/bin/smbmount
これらのコマンドは、SMB ファイルシステム(Windows でのファイル共有)をマウントする。
例えば、Windows マシン 192.168.0.1 の 共有名 data を /mnt/data にマウントするには次のように記述する。
# mount -t smbfs -o uid=XX,username=XX //192.168.0.1/data /mnt/data/
ここで uid は /mnt/data の所有者、username は 192.168.0.1 に接続するときに使われるユーザ名である。
Windows XP Home Edition のように、共有してもユーザ名によるアクセス制限をかけることができない場合は
mount -t smbfs -o uid=XX //192.168.0.1/data /mnt/data/
でマウントできる。/etc/fstab に書けば自動的にマウントさせることもできるが、当然 192.168.0.1 が Linux よりも先に起動していなければ自動的なマウントは失敗する。
尚、Windows上のリソースをLinuxから使うとき (smbclient/smbmount/mount -t smbfs) は LAN の設定で、NetBIOS over TCP/IP を有効にしておく必要がある。
samba、samba-client の違い
- samba-client パッケージは Windows上のリソースをLinuxで使うときのコマンド。
- samba パッケージは Samba サーバ。Linux 上のリソースをWindowsからでも利用できるようにする。
/bin/mount -t ntfs
デュアルブート環境や外付け HDD が NTFS でフォーマットされている場合、NTFS をマウントしたいことがある。-t ntfs オプションは、NTFS をマウントするためのオプションだ。
カーネル2.6では書き込みもサポートしているようだが、カーネル 2.4 の場合は読み込みのみ対応。
/etc/fstab に例えば、次のように追加すれば、/dev/hda9 の ntfs パーテーションを /mnt/ntfs に所有者(uid=500)としてLinux を起動するごと自動的にマウントできる。
/dev/hda9 /mnt/ntfs ntfs auto,users,ro,uid=500 0 0
Linux 向けコマンドのメモ [Linux]
/sbin/update-alternatives
- 様々なシンボリックリンクを変更するコマンド。デフォルトでは/etc/alternativesにシンボリックリンクの一覧がある。これにより、プログラムの複数のバージョンを切り替えたりできる(Java に使えば、j2sdk1.5.xとj2sdk1.4.xを切り替えるのに便利)。
- 例えば gcc のバージョンを変更するには
# /sbin/update-alternatives --config gcc
とする。gccの場合はg++などもバージョンを合わせといた方がなにかと便利。
/usr/bin/a2ps
- ascii to postscript.ソースコードなどのテキストを印刷するのに適したPSファイルに変換する。
- 各行の左端に行番号を出力するには、
$ a2ps in.txt --line-number=1 -o out.ps
とする。"1"を変更すれば、N行ごとになる。
/usr/bin/gs
- gs は GhostScript の略。GhostScript は Postscript/PDF のインタプリタ兼ビュアーである。
- 例えば、gs を使うと次のように記述することで PostScript ファイルを連結できる。
gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=out.ps -c save pop -f in1.ps in2.ps ...
/usr/bin/ssh-agent
SSH-AGENT (1) によると ssh-agent とは
ssh-agent は (RSA や DSA の) 公開鍵認証で使われる認証鍵を保持するプログラムです。基本的には、まずssh-agent を X セッションあるいはログインセッションの始めに起動させ、これ以外のすべてのウインドウやプログラムがそのssh-agent プログラムのクライアントとして起動するようにします。エージェントは環境変数を使うことにより、他のマシンにssh (1) を使ってログインするときに自動的に検出され、認証に利用できます。
とある。ちなみに bash で使うなら、
eval `ssh-agent -s`
として、起動したあと、ssh-add して認証鍵を追加すればよいらしい。
kplayer
kplayer は、動画や音声の再生ソフトウェア mplayer のフロントエンドである。Windows で言えば Windows Media Player が該当するだろうか。kplayer はプレイリストを xmms みたいにビデオウィンドウにくっつけたりできて便利。- kplayer-0.5.1 は gcc 2.95.3 ではなく、gcc 3.3.2 でないと /configure を実行させるたとき qt-mt が存在しないというメッセージが出る。
- 少なくとも qt-devel、kdelibs-devel が必要っぽい。
ただし、上記は kplayer バージョン 0.5.1 のときの話。現在は 0.7 なので変化があるかもしれない。
シェルスクリプトで日付を得るには? [Linux]
ファイル名に日付を付けたいことがある。場合によってはシェルスクリプト中で何かのファイルのファイル名を日付付きで変更したい場合もあるだろう。
例えば、log.txt → log20100101.txt みたいな。
指定した書式で日付を得るには date コマンドを使うと便利だ。
例えば、
%date '+%Y%m%d'
20060312
%date '+%a'
Sun
のような結果が得られる。
CUPS/LIPS4 で割り付け印刷をするには? [Linux]
PostScript ファイルを Linux 上で印刷するときのメモ。
PostScript ファイルを 1シート2ページの割り付け印刷を行いたい場合、
psnup -nup 2 input.ps output.ps
とすれば良い。しかし、こうして得られた output.ps を CUPS/LIPS4 を経由しプリンタで印刷すると紙のサイズが80用紙になってしまう。このとき、psnup のオプションで紙のサイズを指定しても変わらない。一方、PostScript プリンタで印刷する場合は、オプションを追加しなくとも正常に印刷される。
この状況を暫定的に解決するには、ps2ps を通してラスタライズすれば一応、指定したサイズで印刷される。
ps2ps -r600 -sPAPERSIZE=a4 input.ps output.ps
KDE アプリケーションの KIconLoader 警告を非表示にするには? [Linux]
前回とは打って変わって Linux 関連の話。
例えば、kplayerなどKDEのアプリをshellから動かすと、
などの警告が出力されることがある。
これをとりあえず非出力にするには、
を起動し、デバッグエリア: 264 kdecore (KIconLoader) の「警告」欄の出力を「なし」にすれば良い。
もっとも、上記で表示されているような Icon 関連の問題であれば、適切なアイコンをインストールすれば直るとは思うけど。
参考文献