その時々

その時々で違うんです。特に決まっていないんです。

Linux全書

Linux全書を読んで新しく覚えたもののメモです。

psコマンドのオプション

psコマンドのps -efはSolaris V系、ps axやps
auxはBSD系の全プロセスを見るオプション

$ ps
  PID TTY          TIME CMD
3264
pts/0    00:00:00 bash
3281 pts/0    00:00:00 ps

$ ps j
PPID 
PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
3175 
3176  3176  3175 tty1      3176 S+    1000   0:00 -bash
    1  3201 
3176  3175 tty1      3176 Sl+   1000   0:01 gnome-settings-daemon
   
1  3202  3176  3175 tty1      3176 S+    1000   0:08 gnome-panel
   
1  3204  3176  3175 tty1      3176 S+    1000   0:00
/usr/lib/libgconf2-4/gc
    1  3258  3176  3175 tty1      3176 Sl+   
1000   0:10 gnome-terminal
3258  3263  3176  3175 tty1      3176
S+    1000   0:00 gnome-pty-helper
3258  3264  3264  3264 pts/0    
3282 Ss    1000   0:00 bash
3264  3282  3282  3264 pts/0     3282
R+    1000   0:00 ps j

$ ps ax
  PID TTY      STAT   TIME
COMMAND
    1 ?        Ss     0:00 /sbin/init
    2 ?       
S<     0:00 [kthreadd]
    3 ?        SN     0:00 [ksoftirqd/0]
   
4 ?        S<     0:00 [events/0]
    5 ?        S<     0:00
[khelper]
   17 ?        S<     0:00 [kblockd/0]
   18 ?      
S<     0:00 [kseriod]
   34 ?        S      0:00 [pdflush]
   
35 ?        S      0:00 [pdflush]
   36 ?        S<     0:00
[kswapd0]
   37 ?        S<     0:00 [aio/0]
  786 ?       
S<     0:00 [kjournald]
  964 ?        S<s    0:00 /sbin/udevd

    • daemon
      2145 ?        Ss     0:00 dhclient3 eth0
      2367 ?       

Ss     0:00 dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0
2630
tty4     Ss+    0:00 /sbin/getty 38400 tty4


メモリの使用状況

$
free
             total       used       free     shared   
buffers     cached
Mem:        256400     138208     118192         
0      10832      83124
-/+ buffers/cache:      44252     212148
Swap:          
0          0          0


viの操作

コマンドモード

H M L
 画面の上中下にカーソル移動
w        次の単語の先頭に移動
e        次の単語き最後に移動
b      
前の単語き先頭に移動
dw        右側の単語を削除
db        前の単語を削除
J         
次の行と連結
d$        カーソルから行末まで削除
d0        カーソルから先頭まで削除
削除するとバッファに
入る。
p       カーソルの後ろにペースト
P        カーソルの前にペースト
I       
先頭に移動し入力開始
A        行末に移動し入力開始

検索
/str    前方検索
?str   
後方検索
n        次を検索
N        前を検索

コロンモード

:w file   
名前をつけて保存
:r file    カーソルの後ろにファイルを読み込む
:e file    ファイルを開く
:f   
    現在のファイル情報
:s/str1/str2/    str1をstr2に置換
:s/str1/str2/g   
str1をstr2に全て置換(カーソルのある行)
:.,$s/str1/str2/g    現在のカーソル位置から最後まで置換
:1,$s/str1/str2/g   
全て置換
:3d    ファイルの先頭から3行削除
:.,$d    現在のカーソル位置から最後まで削除
:/str1/,/str2/d   
str1を含む行からstr2を含む行まで削除
:set number    行番号表示
:!command   
シェルコマンドの実行


シェルグロブ

$ ls /dev/tty?
/dev/tty0 
/dev/tty2  /dev/tty4  /dev/tty6  /dev/tty8
/dev/tty1  /dev/tty3 
/dev/tty5  /dev/tty7  /dev/tty9

$ ls /dev/tty[234]
/dev/tty2 
/dev/tty3  /dev/tty4

$ ls /dev/tty[5-7]
/dev/tty5  /dev/tty6 
/dev/tty7

$ mkdir {aa,bb,cc}


ヒストリ

!コマンドの先頭部
   最後に実行したコマンド

例:

$ ls -l
$ ls -a
$ !ls     ← ls -a
が実行される

!?コマンドの一部   文字列を含むコマンド
例:

$ ls /bin
$ ls /etc
$
!?bin     ←ls /binが実行される


シェル

readonly   
シェル変数を読み取り専用にする

例:
$ aa=1234
$ readonly aa
$ aa=5678
←エラーになる

read    ユーザの入力により変数へセット

例:
$ read aa
こんにちは
$
echo $aa
こんにちは

起動時に読む設定ファイルの順

~/.bash_profile
~/.bash_login
~/profile


ユーザ対象
/etc/profile


シェルスクリプト

for i in $*
do
 
echo $i
done

は次のように省略可能

for i
do
  echo $i
done