理工系研究者のための Mac OS X, Windows, Linux メモ
 
ホーム >> ソフトウェア >> 便利コマンド

UNIXの便利コマンド

  1. [paste] 2つのファイルを行単位で結合する
  2. [ls] ファイル作成日の詳細を表示
  3. [ifconfig] ホストの情報を見る
  4. [more, less] 日本語表示
  5. [renice] プロセスの優先度を変更する
  6. [xv] 壁紙を貼付ける
  7. [man] manで表示される文章を印刷する
  8. [ls] カラー表示にする
  9. [wc] 行数をカウントする
  10. [curl] 連番ファイルを一括ダウンロード
  11. [rsync] ディレクトリの同期をとる
  12. [printenv] 設定してある環境変数を確認する
  13. [find] ワイルドカード付きで検索
  14. [script] Terminal上の表示を記録する


[paste]2つのファイルを行単位で結合する

作成日:2005.11.19

次のような2つのテキストファイル file1.dat, file2.dat があるとする。

file1.dat

1
2
3

file2.dat

a
b
c
この2つのファイルを結合するするには、
paste file1.dat file2.dat > file3.dat
とする。すると各行が結合した file3.dat が作成される。

file3.dat

1 a
2 b
3 c

区切り文字は -d オプションで指定することが出来る。

参考:@IT

[ls] ファイル作成日の詳細を表示

作成日:2005.11.19

環境:Mac OS X 10.4.6

ls コマンドに -l に加えて、--full-time を付ける事でより詳細な日付情報を得る事が出来る。

$ ls -l --full-time

[ifconfig] ホストの情報を見る

作成日:2004.1.17

現在のIPアドレスをターミナルから調べるにはifconfigコマンドを用いる。

$ /sbin/ifconfig
/sbin 以下にあるので管理者用のコマンドだが、一般ユーザーでもフルパスで指定すれば実行できる。

[more, less] 日本語表示

作成日:2004.1.15

日本語を含む文章を表示するときにはオプション -r を付ける。

$ more -r euc_text

[renice] プロセスの優先度を変更する

作成日:2003.12.4

プロセスの優先度は -20 から+20まである。-20 が優先度が高く、より早く実行される。 数字が大きくなると優先度が下がり、+20では、ほかにプロセスがないときだけ実行されるようになる。

優先度を変更するには psコマンドでプロセスID(PID)を調べてreniceコマンドを用いる。 例えば PIDが513のプロセスの優先度を +2 にしたいならば、

$ renice +2 513
とする。

[xv] 壁紙を貼付ける

作成日:2003.11.2

xvを使って壁紙の画像を変更するには、

% xv -root -quit picture_name.jpg
とすればよい。同時に -quit オプションをつけると壁紙を貼付けた後、xvを終了する。 画像を拡大して背景いっぱいにするには -max オプションを付ける。

単に背景の色を変えるには

xsetroot -solid DarkSlateBlue &
とする。これは .xinitrc に書いておと良くとよい。

参考:AirKnight/背景を変更する

manで表示される文章を印刷する

作成日:2003.8.24

manコマンドで表示されるデータを単純にファイルに出力すると、整形のための記号が出力されてしまう。 colコマンドを用いると印刷用のテキストに変換できる。

% man xfs | col -b > man.txt

参考:ファイルの印刷The Linux Printing Usage HOWTO

[ls] カラー表示にする

作成日:2003.8.24

まずGNU lsをインストールする。これはGNU の Free SoftwareFileutils というパッケージの中に含まれている。 Mac OS Xの場合には、パッケージマネージャのFinkでインストールするのが簡単。

% sudo apt-get install fileutils
でインストールができる。 ls のカラー表示をするためには、
% ls --color
のように --color オプションを付けるとよい。 またオプション -F を付けると、ディレクトリには / 、実行権のあるファイルには * が付く。デフォルトでカラー表示をするようにするためには .cshrc などにエイリアスを作っておくとよい。
alias ls 'ls --color'

[wc]行数をカウントする

作成日:2003.8.16

wc コマンドを用いる。

% wc *.h
22 35 243 cmplx.h
17 21 216 mydefine.h
14 17 196 const.h
54 88 1305 struct_def.h
107 161 1960 total
のように表示される。表示順は
lines words bytes file_name
となっている。

[curl] 連番ファイルを一括ダウンロード

作成日:2003.1.25

ファイル名が連番からなる複数ページをダウンロードするには、

% curl -O http://pcweb.mycom.co.jp/special/2002/jaguar/images/0[1-9].jpg

参考:http://pcweb.mycom.co.jp/column/osx/osx033.html

[rsync] ディレクトリの同期をとる

更新日:2007.11.7

例えば、2つのディレクトリを全く同じものにするためには、

% rsync -auvz --delete ~/homepage/files/ ~/Site/
とする。

主要なオプションは以下の通り。

 -a可能な限りファイルの情報を保持してコピーする
 -u更新されたファイルだけをコピーする
 -v詳しいメッセージを表示する
 -zファイルを圧縮する
 -b古いファイルのバックアップを作成する
 --exclude指定したファイルを除外してコピーする
 -e sshsshでデータを暗号化してコピーする
 --delete送信元に存在しないファイルを削除する

例えば、ドットファイルを除外した場合には

rsync --exclude '.*'

excludeしたいファイルが複数あるときには

rsync --exclude file1 --exclude file2
とする。

参考:Linux Tips

[printenv] 設定してある環境変数を確認する

作成日:2002.6.9
% printenvf

[find] ワイルドカード付きで検索

作成日:2002.5.12
% find /usr -name "*.tfm" -print

[script] Terminal上の表示を記録する

作成日:2002.4.21

コンパイルしたりするときに、Terminal上を流れて行く表示をファイルに保存するには、scriptコマンドを用いるとよい。

% script log.txt
log.txt というファイルにterminal上の表示を全て記録する。終了するときは、
% exit
とする。

その他に、

% make |& tee make.log | less
% nohup make < /dev/null >& make.log & tail -f make.log
等でもよい。

参考:[macosx-jp:10358]