理工系研究者のための 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
を結合するするには、
paste file1.dat file2.dat > file3.dat
とする。すると各行が結合した file3.dat が作成される。
# file3.dat
1 a
2 b
3 c

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

▼参考サイト or 参考文献

[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 に書いておと良くとよい。

▼参考サイト or 参考文献

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

作成日:2003.8.24

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

$ man xfs | col -b > man.txt

▼参考サイト or 参考文献

[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

▼参考サイト or 参考文献

[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

▼参考サイト or 参考文献

[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
のような方法もある。

▼参考サイト or 参考文献

  • Mac OS Xメーリングリスト[macosx-jp:10358]