LinuxコマンドTips


指定ポートが使用中かどうか確認する
シェルのおまじない
スクリプトログのファイル名に日付を自動で入れる
ライブラリファイルの中身を調べる
ログ出力
ファイルシステムがext3のハードディスク/dev/hdb1を/mnt/hdb1にマウントする
アンマウントする
起動時に自動的にマウントする
ハードディスク/dev/hdb1をファイルシステムext3でフォーマットする
拡張ハードディスクのフォーマット
同一コマンドの連続実行
nm結果
ファイルエンコード形式の変換(-w8:UTF8 それ以外はmanを参照)
大文字小文字の区別無く(i)、再帰的に(r)、行番号表示で(n)、指定ディレクトリ以下(./*)をgrep
拡張子指定(--include="*.c")のgrep
単語の完全一致(w)検索
大文字と小文字の区別をなくしたい
シンボリックリンクをはる
ext3でフォーマットする
起動時のログを確認する
指定ディレクトリ配下のサイズ(ブロックサイズ)を知る
rpmパッケージをインストールする
環境変数を永続的に追加する
bashrcを修正した後に、再起動せずに反映させるコマンド
環境変数を全部出力するコマンド
PATHを追加する
tar解凍
tar.gz圧縮
tar.gz圧縮(日付入り)
コンソールログ記録
bashヒストリーから検索
grep方法
ディスクの使用率を知る
ディスク容量を知る
簡易なファイル検索
簡易なファイル検索用インデックスの手動更新


指定したポートが使用中かどうか確認する。
/usr/sbin/lsof -i:"port_number"

シェルのおまじない
#! /bin/bash

スクリプトログのファイル名に日付を自動で入れる
以下をbashrcに記載しておく
export LOG_START="script /mnt/hgfs/share/LOG/`date +%Y%m%d%H%M`.txt"


ライブラリファイルの中身を調べる
nm libAAA.so

ログ出力
stderrへの書き込みも,stdoutと同様にリダイレクションが可能
この二つの出力を全く違うところにリダイレクションすることもできる
stderrのリダイレクションは次のようにして行う

% UNIXprogram >& errors.log

stdoutのリダイレクションには「>」を使ったが,stderrのリダイレクションには「>&」を使うことになる
(注記:以上はCシェルの場合.Bシェル系(shやbash)の場合は,「>&」ではなく「2>」を使うこと).
stderrとstderrの両方をそれぞれ別のファイルにリダイレクトする場合は次のようにして行う

% (GMTprogram > output.d) >& errors.log

ファイルシステムがext3のハードディスク/dev/hdb1を/mnt/hdb1にマウントする
mount -t ext3 /dev/hdb1 /mnt/hdb1

アンマウントする
umount /mnt/hdb1

起動時に自動的にマウントする
vi /etc/fstab
↓追加する
/dev/hdb1 /mnt/hdb1 ext3 defaults 0 0

ハードディスク/dev/hdb1をファイルシステムext3でフォーマットする
mkfs -t ext3 /dev/hdb1

拡張ハードディスクのフォーマット
mke2fs -j /dev/sda    -j:ext3でのフォーマット(ext2の場合はオプション無し)

ハードディスクの認識は以下を参照
SATA0 /dev/sda
SATA1 /dev/sdc
SATA2 /dev/sdb
SATA3 /dev/sdd

# vi /etc/fstab
↓追加する
/dev/hdb1 /mnt/hdb1 ext3 defaults 0 0

同一コマンドの連続実行
while true
do
"command"
sleep 3
done

"Ctrl+C"で停止

nm結果
T: テキスト領域(プログラム)
U: 未解決シンボル
B: 初期化されていないデータ領域
   (ロード後に必要となるサイズだけが示されてる)
D: データ領域

大文字:グローバル(extern)
小文字:非グローバル(static)

ファイルエンコード形式の変換(-w8:UTF8 それ以外はmanを参照)
nkf -w8 file_name > new_file_name

大文字小文字の区別無く(i)、再帰的に(r)、行番号表示で(n)、指定ディレクトリ以下(./*)をgrep
grep -irn "Linux" ./* 

拡張子指定(--include="*.c")のgrep
grep -r --include="*.c" --include="*.h" "keyword" ./

単語の完全一致(w)検索
grep -w "Linux" /tmp/*

大文字と小文字の区別をなくしたい
grep -i "Linux" /tmp/*

シンボリックリンクをはる
ln -s リンク先 リンクファイル名
ex:ln -s /usr/local/bin bin

"/dev/sda1"を"/mnt/dst"にmountする
mount -t ext3 /dev/sda1 /mnt/dst

ext3でフォーマットする
fdisk /dev/sda
mkfs -t ext3 /dev/sda1

起動時のログを確認する
gmesg | less

指定ディレクトリ配下のサイズ(ブロックサイズ)を知る
du -s [directory]	キロバイト表示
du -sm [directory]	メガバイト表示
du -smh [directory]	メガバイト表示

rpmパッケージをインストールする
rpm -ihv ***.rpm

環境変数を永続的に追加する
vi ~/.bashrc

ARGUMENT_NAME=/home/name/	※既存の変数に追加する場合:ARGUMENT_NAME=$ARGUMENT_NAME:/home/name/
export ARGUMENT_NAME

bashrcを修正した後に、再起動せずに反映させるコマンド
source ~/.bashrc

環境変数を全部出力するコマンド
env

PATHを追加する
export PATH=$PATH:/sbin/ (←":"以降は追加したいディレクトリ)

tar解凍
(.tar.gz)	tar zxvf ***.tar.gz
(.tgz)		tar xvfg ***.tgz
(.tar)		tar vxf ***.tar
(.tar.bz2)	tar xjvf ***.tar.bz2

tar.gz圧縮
tar czvf [dirName].tar.gz

tar.gz圧縮(日付入り)
tar czvf [dirName]_`date +%Y%m%d`.tar.gz

コンソールログ記録
script [filename]

bashヒストリーから検索
[Ctrl]+[r]で先頭文字

grep方法
grep [keyword] [*.c(対象ファイル)]
find . -print0 | xargs -0 grep "keyword"

ディスクの使用率を知る
du -S | sort -n

ディスク容量を知る
df

簡易なファイル検索
locate [filename]

簡易なファイル検索用インデックスの手動更新
slocate -u
最終更新:2011年04月18日 16:49