トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

unix_CommandMemo

UnixCommandMemo

最終更新時間:2006年12月21日 17時55分30秒

sed

ディレクトリ内の全ファイルでigaがあれば全てIGAに置換。(-i:入力ファイルを編集して出力 , -e:エディット)

% sed -i -e "s/iga/IGA/g" *

置換して標準出力に出力

% sed -e "s/aaa/IGA/g" *

RPM

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/049instrpm.html

インストールモジュール一覧表示

% rpm -qa

インストール

% rpm -i [*.rpm]

バージョンアップ

% rpm -U [*.rpm]

アンインストール

% rpm -e [package name]

chown, chgrp

ファイル、ディレクトリの所有者変更(サブディレクトリまで再帰的に変更する場合は-Rをつける。)

% chown username filename
% chown -R username filename
例 % chown -R iga:igagrp hoge_dir

参考文献:http://www.itmedia.co.jp/help/tips/linux/l0506.html

ファイル、ディレクトリのグループ変更(サブディレクトリまで再帰的に変更する場合は-Rをつける。)

% chgrp groupname filename
% chgrp -R groupname filename

apt

インストール

% apt-get install [package name]

update - upgrade

% apt-get update
% apt-get upgrade

ディストリビューションバージョンアップ

% apt-get dist-upgrade

パッケージ検索

%apt-cache search [word]
%apt-cache show [package name]

clean(パッケージファイル消去。cleanは全て、autocleanは古いもの)

% apt-get autoclean
% apt-get clean

アンインストール

% apt-get remove [package name]

PATH

■確認

echo $PATH

■.profile (シェルが bash, ksh, zsh, sh の場合)

(osx 10.3 console)

PATH=/opt/local/bin:$PATH

■.login (シェルが csh か tcsh の場合)

set path = ( /opt/softbench/bin /usr/bin/X11 $path )

■xterm(X11 console)

/etc/X11/xdm/xdm-config

DisplayManager*userPath: /sw/bin:/sw/sbin:/opt/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin

DisplayManager*systemPath: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

■xtermでbashのパスを受け継いで起動

% xterm -ls

console clear

コンソールのクリア

[ctrl]+[l] : ターミナルをクリア。現行ラインは保持。clearコマンドと同じ。
[ctrl]+[u] : 現行ラインのクリア。

grep

grep '検索語' [file名]
例)% grep 'hoge' *

find

% find [検索先ディレクトリ名] -name '[検索文字列]'
例)
% find . -name '*iga*'
% find . -type f | grep 'iga'

あるディレクトリ以下のファイル名とディレクトリ名で検索

% find [dir] -print | grep 'hoge'

findでひっかかった文字列を利用してコマンド実行する場合は-execオプション。

ある文字列を含むファイルを検索

% find [dir] -type f -exec grep "hoge" {} /dev/null ?;
grepの-lはファイル名表示、-nは行番号表示。{}にfindの結果が入る。

{}にfindの結果が入る。

/dev/nullを渡すのは検索結果が1つしかなかった時のためのダミー。

?;は-execコマンドの終わりを表す。エスケープしてある。

シンボリックリンク

% ln -s  [リンク先] [作成するリンクファイル]

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/119setlink.html

rsync

% rsync -vaz  -e ssh [コピー元ディレクトリ] [username]@[ServerName or IP address]:[コピー先ディレクトリ]
例) % rsync -vaz  -e ssh /work/iga igaiga@igamachine:/work/iga/rsynctest

sshRSA鍵を作っておくと良い。(なくてもパスワード入力で接続可。暗号化パスワードなので平文よりはまし。)

-v : 詳細な進捗表示

-a : アーカイブモード

-u : コピー先が新しい場合は上書きしない

-z : データ圧縮

--delete : コピー元にないファイルは削除

-n : 何が起きるかテスト(実際には何も行われない)

-e ssh : ssh接続

ディスク容量確認

ディスク全体

-kでKB単位,-mでMB単位。

% df -k

-hオプションを付けると単位を見易くしてくれる。

% df -h

ディレクトリ

並べ替えは、sortコマンドを使う。その際に、数値順に並べ替える-nオプションと、大きい順に並べ替える-rオプションを指定する。

% du -s /home/* | sort -nr
 10472   /home/nori
 4252    /home/tanaka
 112     /home/suzuki
 112     /home/sato

ディリクトリ強制削除(注意して使ってね。)

% rm -rf [ディリクトリ名]

tar

作成 : % tar cvf [固めた先ファイル名] [元のファイル名orフォルダ名]

% tar cvf dst.tar ./source/

展開 : % tar xvf [tarファイルの名前]

tar+gzip作成 : % tar czvf [固めた先ファイル名] [元のファイル名orフォルダ名]

tar+gzip展開 : % tar xzvf [tarファイルの名前]

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/059expandtar.html

カーネルのバージョンなどのシステム情報を調べるには[linux]

% uname -a
Linux hoge 2.4.18-0vl3 #1 Thu Mar 7 18:23:04 JST 2002 i686 unknown

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/068infokernelver.html

chkconfig 起動時のデーモン制御

OS起動時に起動するデーモンを制御する。

# chkconfig
chkconfig version 1.2.17 - Copyright (C) 1997-2000 Red Hat, Inc. 
このソフトは GNU Public License の下で自由に配布を行うことができます.
 
使用法:  chkconfig --list [name]
         chkconfig --add <name>
         chkconfig --del <name>
         chkconfig [--level <levels>] <name> <on|off|reset>)

例えばsmb(samba)をOS起動時に自動的に起動したい場合は

# chkconfig --list
smb             0:off   1:off   2:off   3:off    4:off   5:off    6:off

runlevelいくつで起動してるかしらべて、、、

# runlevel
N 3

runlevelを指定して起動。

# chkconfig --level 5 smb on
# chkconfig --level 3 smb on
# chkconfig --list
smb             0:off   1:off   2:off   3:on    4:off   5:on    6:off

userの追加[linux]

useradd -m -g [group名] [user名]

-mはホームディレクトリが無ければ作成、-gは属するグループを指定

# useradd -m -g mygroup iga

パスワードの変更

rootユーザーならば、他のユーザーのパスワードを変更できる。

パスワードを忘れた場合などに使う。

# passwd iga 

less で tail -f

[shift]+f

現在のシェルを表示(solaris,linux)

% echo $SHELL

crontab(solaris,linux)

% crontab -l (表示)
% crontab -e (編集)

ログは一般的には/var/log/cronに出力される。

#min hour day month week command
#* * * * *   ~iga/update.cgi

起動時自動実行

~/.bashrc (bash)
~/.cshrc (csh)

aliasなどはここに設定しておくと良い。

top (CPU占有率などを表示)

% top

http://www.spang.uk.eu.org/top/#sshot

ps -el (プロセスの使用メモリ量SZを表示)

より正確には、プロセスがシステムに要求するページファイル量。

% ps -el

使用メモリ量 = pagesize × SZ

pagesizeコマンドでページサイズを調べることができる。

topコマンドが使えない環境で便利。

man

% man 2 chmod

数字の意味は以下参照。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/073mannum.html

sudo

ユーザーにsudo権限を与えるにはrootで以下のコマンドを実行する。

# visudo

構文

[user] [machine]=([実行user]) [command]

fsck[solaris]

ファイルシステムの整合性をチェックする。

アンマウントした状態で実行する。

fsck /dec/rdsk/c<n>t<n>d<n>s<n>

tcpdump

パケットをキャプチャする。

rootで実行する必要があるかも。

$ tcpdump -xX

curl

CUIダウンローダー

$ curl -LO http://hogehoge.com/[00-99].jpg

Lオプションはリダイレクト指示を受付、Oオプションはファイル名をxx.jpgにする。

date(日付取得)

$ date +%y%m%d
051024
$ date +%Y%m%d
20051024

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/240datefilename.html

変数

使うときには$をつける。数値計算の時はexprを使う。スペースを入れる、入れないに注意。間違えると意図通り動かないことも。

$ value=1;echo $value;value=`expr $value + 1`;echo $value
1
2

for (全ファイルに対してコマンド実行とか)

繰り返し。inを使うと全ファイルに対して操作可。

例1:拡張子が.tiffのファイルを.tifへファイル名変更
$ for fname in *.tiff; do ←拡張子がtiffのファイルが存在する限り、以下の命令を繰り返す 
> mv $fname ${fname%.tiff}.tif;  ←fname%.tiffで、ファイル名から.tiff削除
> done
または以下のようにスペースでつないで1行でも書ける。
$ for fname in *.tiff; do mv $fname ${fname%.tiff}.tif; done
例2:拡張子が.JPGのファイルを日付をつけて連番を振ってファイル名変更(20051024_1.JPG)
$ num=1;for fname in *.JPG; do  ←numが通し番号
> mv $fname $(date +%Y%m%d)_$num.JPG; ← _は任意に変えてOK
> num=`expr $num + 1`;  ← numを1増やす
> done

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/248chngext.html

参考文献

http://www.linux.or.jp/JF/JFdocs/Path-9.html