Linuxコマンド集     合計:
昨日:
今日:

更新日:2012/6/28

ホームへ戻る シェル(Bash) シェルスクリプト

デバイス管理コマンド dfsmartctl
テキスト処理コマンド sedgrep
ファイル管理コマンド

findlocatecpmkdirchmodchgrpdutmpwatchlsrsync

インストール関連コマンド rpmyum
プロセス管理コマンド pskill
テキスト表示コマンド cat
システム管理コマンド shutdownreboot、、
その他 htpasswdpdbeditsmbpasswdsmbstatus
   
 

リンクのLinux関連の情報を参考にしてまとめています。
□この文字は、対象によって変える

コマンド 使用例 説明
パイプ "|" の使い方 ls -al | more ←1画面ずつ結果を見ることができる パイプとはコマンドの実行結果を,次のコマンドの入力として扱えるようにする接続記号である。「|」で表され,左のコマンドの結果を右のコマンドに入力として引き渡す。パイプを用いることで,複数個のコマンドを1回の操作で実行できるようになる。また,中間結果を一時保存するためのファイルを作成する必要がなくなる。
useradd    useradd centos リモート接続許可のユーザー作成
useradd -s /sbin/nologin centos リモート接続禁止のユーザ作成
chroot-useradd centos /sbin/nologin リモート接続禁止のchrootユーザ作成
chroot-useradd centos リモート接続許可のchrootユーザ作成
userdel  userdel centos ユーザ削除
userdel -r centos  ホームディレクトリも同時に削除
     
passwd passwd centos パスワードの設定
chown  chown centos. /var/www/html   所有者の変更(左記の表記だと、グループも同時に変更:(コロン)でもOK)
chown -R centos. www wwwディレクトリ以下すべての所有者をcentosに変更
cron 奥が深いため、コンテンツを別に立ち上げています

ここを参照、定期的に実行する

du このサイトを参照

ディスクの使用状況を確認する。ディレクトリ内のファイル容量を表示する

du -s /var/
12964220 /var/ ←左記のように表示される

ディレクトリ内の各ディレクトリの情報を表示せず,指定したディレクトリの総容量だけを知りたい場合は「-s」オプションを付ける。

touch   指定したファイルやディレクトリのタイム・スタンプを変更する。オプションを何も付けない場合は現在の時刻にタイプ・スタンプが書き換えられる。また,存在しないファイル名を指定した場合は新規に空ファイルが作成される。
デバイス管理コマンド TOP
df df [オプション] [ファイルシステム] ディスク・ドライブの使用量を表示する
オプション
-k 容量をKバイト単位で表示する
-i iノードの使用量を表示する
-h サイズに応じた単位で表示する

使用例

df -k ↓下記のように表示される

Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      66344624  31904892  31069544  51% /
/dev/hdb1               101086     21845     74022  23% /boot
none                    257484         0    257484   0% /dev/shm 
smartctl smartcrl [オブション] [デバイス] smartでハードディスクのチェック
 
 
 
テキスト処理コマンド TOP
sed sed [ オプション ] [ コマンド ] [ ファイル名 ]
sedコマンドは文字列の置換、削除、挿入が行えます。
オプション
-e 次にくるのがコマンドとする。
-f 次にくるのがスクリプトとする。
-i 上書きモード(拡張子がある場合はバックアップをとる)


コマンド
d 行を削除
-s/// それぞれの行で最初に一致した文字列だけ置換(s/パターン/置換文字列/)
-s///g 全体を置換(s/パターン/置換文字列/g)
-s///数値 それぞれの行で指定した数値番目の文字列だけ置換(s/パターン/置換文字列/数値)
$sed '1,4d' week.txt week.txtの1から4行目を削除する。
$sed 's/本/book/g' book.dat book.datファイル中の本という文字をbookに置換する。
$sed 's/^/私は/g' days.txt
days.txtの行頭に「私は」を挿入する。
sed -i.bak 's/STRING_A/STRING_B/g' ./index.html index.htmlのSTRING_AをSTRING_Bに置換。(index.html.bakにバックアップ)
grep grep [オプション] [正規表現] [ファイル名] ファイル中から一致した行を表示します。
オプション
-c 一致した行の数だけ表示。
-i 比較のときに大文字と小文字を区別しない。
-n 一致した行の前に行番号を付加する。
-v パターンに一致しなかった行だけを表示
-w 検索文字と完全一致 した行を表示。
-cv マッチしなかった行の数を表示。

使用例

grep -i "abc" test.txt 大文字と小文字を区別せずにtest.txtファイルの中から"abc"が含まれる行を表示
   
   
ps aux | grep "httpd"
httpdのプロセス情報を得る
   

   

 

     
ファイル管理コマンド TOP
find find [検索の開始パス] [オプション] [アクション] findコマンドはファイルがどこにあるか探したい場合に使用します。 検索の開始パス以下の全てのサブディレクトリ内のファイルも検索対象です。ワイルドカードが使えます。
オプション
-depth ディレクトリ本体の前にディレクトリ内を先に評価する。
-follow シンボリックリンクの参照先を検索する。
-xdev 他のファイルシステムのディレクトリは探索しない。

検索方法
-name pattern ファイル名がpatternと同じファイルを検索する。ワイルド・カードを用いることができる
-perm mode ファイルのアクセス権がmodeであるファイルを検索する。modeには8進数を用いることができる
-type filetype 指定したfiletypeでファイルを検索する。
-size [+ or -]n 指定したサイズ(n)よりも大きい(+)または小さい(-)ファイルを検索する。
-atime[+ or -]n 指定した時(n)よりも前にアクセスされた(+)または後にアクセスされた(-)ファイルを検索する。
-mtime[+ or -]n 指定された時(n)よりも前に更新された(+)または後に更新された(-)ファイルを検索する。
-empty 空なファイルや中身のないディレクトリを検索する

アクション
-print 検索したファイルのファイル名のみ出力する。
-fprint file 検索結果をfileに書き出す。同名のファイルがある場合は上書きをする
-ls 検索したファイルの詳細情報を出力する。
-exec command \; 検索後,commandを実行する。このとき{ }をコマンドで用いることにより,検索結果をコマンドに引き渡す
-ok command \; -execと同様に検索後commandを実行する。ただし,ユーザーに問い合わせる
   

使用例

find ./ -name '*.txt' -print
ファイル名が.txtで終わるファイルをカレントディレクトリ以下から検索し、そのファイル名を出力する。
find ./ -name '*.dat' -size +30k -ls ファイル名が.datで終わり、ファイルサイズが30kバイト以上のファイルをカレントディレクトリ以下から検索し、そのファイルの詳細情報を出力する。
find /bin-name core -exec rm {} \; ファイル名がcoreというファイルを/binディレクトリ以下から検索し、そのファイルを削除する。
find ./ -perm -a+w -type f カレント・ディレクトリ以下のすべてのユーザーに実行権限があるファイルを探す。このとき「-typef」によりファイルのみを対象としている。また,「-prem」の後ろにアクセス権限を指定することにより,それに合致したファイルを探してくれる。
   

locate locate [-d path] [--database=path] [--help] pattern... ファイルを高速に検索できる。あらかじめ作成したデータベースを使って検索するため,findコマンドより高速に検索が行える。

オプション

-d path, --database=path ファイル名データペースからpathに指定したデータベースに切り替えて検索を行う
--help locateコマンドの使用法を表示する
pattern 検索パターンを記述する
   

使用例

locate httpd.conf httpd.confを高速に検索する
   
   

 
updatedb updatedb locateコマンド用のデータベース更新コマンドです。cronでも、一日に一回はやっていますが、すぐに更新したいときに使います
cp cp [ オプション ]  コピー元ファイル名・ディレクトリ  コピー先ディレクトリ・ファイル名 コピーコマンドです。
オプション

-f 指定されたファイル名のファイルが既に存在しても強制的に上書きする。
-i コピー先に同じ名前のファイルが既に存在する場合、ファイルを上書きするか確認する。
-p 元ファイルの属性情報もコピーする。
-R --recursive ディレクトリを再帰的にコピーする
-r ディレクトリを再帰的にコピーする。(-Rオプションと通常大きな違いはない。)
   

使用例

cp file1 file2 file1をfile2というファイルとしてコピー
cp -r hoge1 hoge2 hoge1ディレクトリの内容をすべてhoge2にコピー
cp *.html public_html 拡張子がhtmlの ファイルをpublic_htmlディレクトリにコピー
   
   

mkdir mkdir [ オプション ] ディレクトリ名 ディレクトリの作成に使用

オプション

-m ディレクトリのモードを指定して作成
-p
サブディレクトリを含んだディレクトリを一気に作成する
-v ディレクトリを作成するごとにメッセージを出力する

使用例

mkdir -p web/img
サブディレクトリも同時に作成
mkdir -m +w temp
作成と同時に書き込み権限を与える

chmod chmod [オプション] [権限] [ファイル名] ファイルやディレクトリのパーミッションを変更するコマンド

オプション

-c パーミッションが変更されたファイルのみ詳細情報に表示する
-f パーミッションを変更できなかった場合にもエラーメッセージを表示しません。
-v 経過を表示します。
-R ディレクトリとその中のファイルを再帰的に変更します。
   

権限

ユーザ
演算子
権限
 
u 所有者 + 権限を追加 r 読み込み  
g グループ - 権限を削除 w 書き込み  
o その他 = 権限を変更 x 実行  
a 全ユーザ          

使用例

chmod 777 test (chmod a+x testでも同じ) すべてのユーザーに権限を与える(read,write,excute)
   

   
chgrp chgrp [オプション] [グループ名] [ファイル名] ファイルの所有グループの変更に使用します

オプション

-c --changes グループが変更されたファイルのみ詳細に表示する
-f --silent グループを変更できなかった場合でも,エラー・メッセージを表示しない
-v --verbose グループの変更を詳細に表示する
-R --recursive ディレクトリとその中身のグループを再帰的に変更する
     
     
du du [オプション] [ディレクトリ・ファイル名] ファイルやディレクトリの使用量を表示します

オプション

-a (all) ディレクトリだけでなくすべてのファイルについて表示します
-b (bytes) バイト単位で表示します
-k (kilobytes) キロ・バイト単位で表示します
-m (megabytes) メガ・バイト単位で表示します
-s (summarize) ディレクトリを指定した場合、合計サイズのみを表示します
-h ( human-readable) M(メガ)やk(キロ)といった記号を付けて表示します
-L ディレクトリを指定した場合、ディレクトリに含まれるシンボリックリンクについてはシンボリックリンクが指し示すファイル・ディレクトリのサイズを表示します
-S (separate-dirs) ディレクトリを指定した場合、サブディレクトリの使用量を計算に入れません (各サブディレクトリを別々に計算します)
   

使用例

du | sort -nr | more
並び替えも同時に行えます
du -s target-dir
2990 ./target-dir
target-dirの総容量だけを表示する
   
   
   
tmpwatch

tmpwatch [オプション] [hour] [ディレクトリパス]

しばらく更新されていないファイルを削除する

オプション

-a(all) 全ての種類のファイルを対象とする
-u ファイルのアクセス時刻(atime)(デフォルト)
-m(modify) ファイルの更新時刻(mtime)
-c(change) ファイルの管理情報(inode)を変更した時刻(ctime)
-t テストモードで実行する。実際に削除は行わない。
-f(force) 強制削除
-v(verbose) 処理の内容を表示する

使用例

tmpwatch -tv 24 /home/samba/.recycle 24時間以上経過したファイルでどれが削除されるかテストモードで確認
tmpwatch -fv 24 /home/samba/.recycle 24時間以上経過したファイルを強制削除
tmpwatch -mcfa 24 /home/samba/.recycle 更新・変更して24時間以上経過したファイルを強制削除
tmpwatch -m 24 -d /home/hoge/test 更新して24時間以上経過したtestディレクトリは残しその中身を削除
tmpwatch -m 24 -x /home/hoge/test/pri priディレクトリは除外する

 

ls ls [オプション] [ファイル名] カレントディレクトリ内のファイルを一覧表示、または指定ファイルの属性情報

オプション

-a 隠しファイル(.で始まるファイル)も表示
-l ファイルを詳細に一覧表示
-t 日時順に並べ替え
   

使用例

ls -al
隠しファイルも含めすべてのファイルを表示する
ls -al
合計 16
drwxr-xr-x  2 root root 4096 11月 11  2008 .
drwxr-x--- 49 root root 4096 12月  5 20:54 ..
-rwxr-xr-x  1 root root   44 11月 11  2008 index.html
ファイルの詳細も同時に表示する
   
   

 

rsync
rsync [オプション] [コピー元ディレクトリ] [コピー先ホスト名]:[コピー先ディレクトリ] ファイルのバックアップに使用します。異なるマシンにもコピー可能

オプション

-v
--verbose
詳細を表示
-a
--archive 
ファイルの属性を保持したままコピー
-z
--compress
圧縮して転送する
-c
--checksum
常にチェックサムを行う
-u
--update
アップデートのみ許可 (上書き禁止)追加されたファイルだけをコピーする
     
-e
--rsh=コマンド
 
  --exclude=PATTERN PATTERNにマッチするファイル/ディレクトリは除外する (--exclude 'パターン'と書いてもよい)
 
--delete
バックアップ元で削除されたファイルはバックアップ先でも削除する
     
     
     
     

使用例

     
     
     
     
     

   
インストール関連コマンド TOP
rpm rpm [option] [package名] [package名]・・・ rpmパッケージのインストール

オプション

-i パッケージをインストール    
--test インストールテスト
--percent インストールの進行状況をパーセント表示する
-U パッケージをアップグレードする。前パージョンのパッケージが存在しない場合は新規にパッケージをインストール --oldpackage 既にインストール済みのパッケージよりも古いパッケージをインストールする
--replacefiles インストール済みの他のパッケージに含まれるファイルを置き換えてしまう場合
--replacepkgs インストール済みのパッケージを再インストールする
-F パッケージをアップグレードする。ただし,システムに前パージョンがインストールされている必要がある --force 上記の3っつを集約したもの、強制的にインストールする
--nodeps パッケージの依存関係を無視する
   
       
-h インストールの進行状況を「#」で表示する
--test 実際にインストールは行わず、検査のみ
-v 詳細情報を表示する
--import 公開鍵のインポート
使用例
rpm -ivh package名.i386.rpm RPMパッケージpackage名.i386.rpmをインストールするには、オプション -i(Install;インストール)を使います。
オプション-v (verbose)と-h (hash)を用いるとインストール中にハッシュマーク(#)が出て、インストールの進む様子がわかります。
rpm -Uvh 新しいpackageバージョン.i386.rpm 新しいpackageバージョン .i386.rpmにバージョンアップしたいときには、オプション -U (Update;更新)を用います。
rpm -e package インストールしたpackageを削除(アンインストールする場合は、オプション-e(erase;削除)を用います。
rpm -q vnc
    vnc-4.1.1-1 ←このように表示される
vncのバージョンを知りたいとき、インストールされているか調べるとき
rpm -qa インストールされている全てのパッケージを表示する
rpm -qa | grep パッケージ名の一部 指定した名前が含まれるパッケージが表示される
rpm -ivh package1 package2 依存関係があり、エラーが出る場合は同時にインストールする
rpm -ivh --nodeps package名 依存関係を無視してインストール
rpm --import RPM-GPG-KEY-EPEL-6 公開鍵RPM-GPG-KEY-EPEL-6のインポート
   
yum yum [option] [command] [package] パッケージを取得してインストール/アップデートをする

オプション

-y 問い合わせがあったときにすべて「y」と答える
-c 設定ファイル yumの設定ファイルを指定する。Fedora Coreでこれを指定しないと,通常は/etc/yum.confファイルが利用される
-R 時間 タイムアウトを設定する。単位は分

コマンド

install パッケージをインストールする
update パッケージをアップデートする
check-update アップデート可能なパッケージを一覧する
remove パッケージをアンインストールする
list インストール可能なパッケージを一覧する
search キーワード 指定したキーワードでパッケージを検索する
info パッケージの情報を表示する
clean パッケージと古いヘッダーを削除する
   
   

 

   
テキスト表示コマンド TOP
cat cat [オプション]  [ファイル名] テキストファイルの内容を閲覧やファイルの連結に使用します。

オプション

-b 空白以外に行番号を付加する。
-n 全てに行番号を付加する。
-s 連続した空白を1行の空白にする。

使用例

cat a.dat b.dat > ab.dat a.datとb.datを結合しad.datに出力する。
   
   

 

   
   
その他 TOP
htpasswd htpasswd [option][passwordfile][username][password] パスワードファイルを作成するコマンドです。
オプション
-c 新しいパスワードファイルを作成します
-n どのような結果になるかのみを標準出力して終了します
-m パスワードをファイルに書き込む際、MD5?でハッシュします
-d パスワードをファイルに書き込む際、CRYPT?でハッシュします(デフォルト)
-p パスワードをファイルに書き込む際、ハッシュしないで、プレーンなテキストのまま書き込みます
-s パスワードをファイルに書き込む際、SHA?でハッシュします
-b パスワードを、対話式入力ではなくて、コマンドライン引数として指定できるようにします


使用例

htpasswd -b -c /etc/httpd/conf/.htpasswd centos centospass /etc/httpd/conf/に.htpasswdというファイルを作成しcentosユーザーのパスワードcentospassを作成します
   
   
pdbedit pdbedit -a centos 登録済みのユーザをSambaアクセス用ユーザとして新規登録。パスワードが求められるので既存のパスワードで応答する
smbpasswd smbpasswd -a centos (root権限) sambaユーザの追加とパスワード変更。パスワードが求められるので適当なものを登録する
smbpasswd -x centos (root権限) sambaユーザのユーザとパスワード削除
smbstatus   sambaサーバに接続中のクライアント、利用中の共有リソース、ロックファイルなどを表示させる
     
プロセス管理コマンド TOP
ps ps [オプション]  
オプション
-a 全てのプロセスを表示する
-f ツリー状に表示する
-l 詳細に表示する
-u ユーザを表示する
-w 1行で表示できない場合、1行追加して表示する
-x 端末制御でないプロセスも表示する
   

使用例
pa aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2028   380 ?        Ss   Aug10   0:04 init [5]  
                           
root         2  0.0  0.0      0     0 ?        S    Aug10   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   Aug10   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S    Aug10   0:00 [watchdog/0]
root         5  0.0  0.0      0     0 ?        S<   Aug10   0:00 [events/0]
root         6  0.0  0.0      0     0 ?        S<   Aug10   0:00 [khelper]
root         7  0.0  0.0      0     0 ?        S<   Aug10   0:00 [kthread]
root        10  0.0  0.0      0     0 ?        S<   Aug10   0:10 [kblockd/0]
root        11  0.0  0.0      0     0 ?        S<   Aug10   0:00 [kacpid]
実行中のプロセスをユーザを含めて表示する
   
   
kill kill [シグナル or 番号] プロセスID プロセスを終了します
シグナル
HUP 終了後再起動
INT 割り込み、一時停止
KILL 強制終了
TERM 終了(デフォルト)

番号
1 終了後再起動
2 割り込み、一時停止
9 強制終了
15 終了(デフォルト)

使用例

kill -KILL 1234 1234番のプロセスを強制終了する
kill -9 1234 上と同じ動作
   
   


   
システム管理コマンド TOP
reboot reboot システムの再起動
shutdown shutdown -h now すぐにシャットダウンする
shutdown -r 13:00 13:00時に再起動します
 

 

シェル(Bash)について <<TOP

ここを参照してください

bash はいくつかあるシェルの内の1つで Bourne シェルを拡張したものです。
シェルとはカーネルと人間の通訳的存在です。シェルのプロンプトでコマンドを実行するとコマンドはシェルにより 通訳されカーネルに渡されます。
カーネルのメッセージもシェルにより通訳され人間に表示します。
またシェルとカーネルは独立して存在しています。カーネルを包み込んでいるという意味でshell(貝殻)と名づけられました。

ショートカットキーについて

Ctrl + a 行頭へ移動
Ctrl + b 1文字戻る
Ctrl + c 現在のコマンドを強制終了
Ctrl + d カーソル位置にある文字を削除
Ctrl + e 行末に移動
Ctrl + f 1文字進む
Ctrl + k カーソル位置から行末まで削除
Ctrl + l 画面をクリアします。(現在の行は画面の一番上に残る)
Ctrl + m コマンドを実行
Ctrl + n コマンド履歴の1つ後ろのコマンドの表示
Ctrl + p コマンド履歴の1つ前のコマンドの表示
Ctrl + q 画面出力を再開
Ctrl + s 画面出力を停止
Ctrl + t カーソル位置の文字とその左側の文字を入れ替える
Ctrl + u 行頭からカーソル位置まで削除
Ctrl + w カーソル位置からその左側の最初のスペースまで削除(スペースが無い場合は行頭まで削除)
Ctrl + y 削除した文字を貼り付ける
Ctrl + z 現在のコマンドを一時停止
!! 1つ前に実行したコマンドを再実行

 

ディレクトリやファイル名の展開

チルダ展開

チルダ展開というものもあります。これは「~」はカレントユーザのホームディレクトリを表します。
例えば centos ユーザがホームディレクトリに移動したい場合にチルダ展開を利用すると次のようになります。

絶対パス指定

$cd /home/centos

チルダ展開

$cd ~

またあるユーザが他のユーザのホームディレクトリを表す場合は「~ユーザ名」となります。
例えば root ユーザが centosユーザのホームディレクトリに移動したい場合にチルダ展開を利用すると次のようになります。

絶対パス指定

#cd /home/centos

チルダ展開

#cd ~centos

 

シェルスクリプト(Bash)について <<TOP

ここを参照してください

シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。
またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。
シェルスクリプトを実行するには実行権限および読み込み権限が必要です。
またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。

◆広告等 <<TOP
 
TOPへ

Copyright(C) 2005-2012 arisonserver. All rights reserved.