unix_CommandMemo
- UnixCommandMemo
- sed
- RPM
- chown, chgrp
- apt
- PATH
- console clear
- grep
- find
- シンボリックリンク
- rsync
- ディスク容量確認
- ディリクトリ強制削除(注意して使ってね。)
- tar
- カーネルのバージョンなどのシステム情報を調べるには[linux]
- chkconfig 起動時のデーモン制御
- userの追加[linux]
- パスワードの変更
- less で tail -f
- 現在のシェルを表示(solaris,linux)
- crontab(solaris,linux)
- 起動時自動実行
- top (CPU占有率などを表示)
- ps -el (プロセスの使用メモリ量SZを表示)
- man
- sudo
- fsck[solaris]
- tcpdump
- curl
- date(日付取得)
- 変数
- for (全ファイルに対してコマンド実行とか)
- 参考文献
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