●09-A.Linux基本コマンド一覧
●09-000.基本コマンドに関して
Linuxの基本的なコマンドを紹介します。ここに掲載しているものが全てではありません。
サーバーを自前、もしくはレンタルサーバーでSSHでログインしてからコマンドを叩くことになります。
レンタルサーバーで以下のコマンドが全て許可されているとは限りません。
●09-001.コマンド・プログラムを実行
ホーム・ディレクトリなど,通常はパスを通していないディレクトリにあるプログラムを実行したいときは,パスを含めて対象プログラムを指定すればよい。例えば,カレント・ディレクトリにあるプログラムであれば,
$ ./program-name
のように,"./"をプログラム・ファイル名の前に付ける。
●09-002.現在設定されているパスを確認
どこにパスが通っているのかは
$ echo $PATH
で調べられる。
●09-003.パスを通す
「/usr/local/bin」にパスを通す
$ PATH=/usr/local/bin:$PATH
●09-004.コマンドの別名を付ける
コマンドなどを別名として登録できる。例えば,ファイル一覧する際にドット・ファイル(隠しファイル)も含めて表示させるには「ls -a」と入力するが,
$ alias lsa='ls -a'
としておくことにより,以降は「lsa」で同様の結果が得られるようになる。
●09-005.「ls -l」を「ll」で実行
$ alias ll='ls -l'
●09-006.空でなくてもrmdirで削除
$ alias rmdir='rm -rf'
●09-007.別名定義されている内容を一覧
$ alias
●09-008.aliasによる別名の定義を削除
$ unalias rmdir
●09-009.複数のプログラムを実行
1つのターミナル上で複数のプログラムを動作かすには,プログラムをバック・グラウンドで動作させればよい。バック・グラウンドで動かすには,実行の際にコマンドの最後に"&"を付ける。すると,実行直後にプロンプトが戻ってくるので,すぐに次のコマンドを入力できる。
$ grep "2000/10" temp.log >
result &
←バックグラウンドでの処理
[1] 16550 ←実行プログラムのジョブとプロセス番号
$ vi work.text
←他のプログラムをすぐに起動できる
また,実行時に"&"を付けなかった場合でも,動作中のプログラムをバックグラウンドに移行可能である。それには,実行しているプログラムを[Ctrl]キーと[z]キーを同時に押してプログラムを一時停止させ,一時停止したジョブをbgコマンドで指定すると,プログラムがバック・グラウンドで実行される。
$ grep "2000/10" temp.log >
result
Ctrl+z ←実行後に[Ctrl]+[z]でプログラムを停止する
[2]+ Stopped grep "2000/10" temp.log > result ←プログラムが停止する。
[ ]内はジョブID
$ bg %2
←2番のジョブをバックグラウンドで動かす
[2]+ grep "2000/10" temp.log > result & ←バックグラウンドで動作し始める
$ vi work.text
←他の作業を行える
●09-010.デフォルトのシェルを変更
$ chsh
"hoge-user"のシェルを変更します。
Password: **********
新しいシェル [/bin/csh]: /bin/bash
シェルを変更しました。
●09-011.使用中のシェルを変更
$ /bin/sh
現在使用中のシェルを別のシェルに切り替える。Linuxには「sh」,「csh」,「bash」といった数種類のシェルが用意されており,それらを簡単に切り替えられる。シェルはたいてい「/bin」ディレクトリに格納されている。また,「/etc/shells」に使用できるシェルが記載されている。シェルから抜けるには「exit」コマンドを使用する。
●09-012.ログアウト
ログアウトするときに使うのが「exit」である。また,konやshといった他のシェルやプログラム,ユーザー変更コマンドの「su」で他ユーザーになった場合でも,それらの状態から抜け出すのに「exit」を用いる。
$ exit
●09-013.システムを再起動
# reboot
レンタルサーバーで管理権限があっても使用できないか、使用しないほうがいいでしょう。
●09-014.システムをすぐにシャットダウン
# shutdown -h now
または
# halt
レンタルサーバーをシャットダウンはコマンドでできますが、起動は手動なのでまずこのコマンドを打つ事はありません。
●09-015.指定時刻にシステムをシャットダウン
# shutdown -h 0:0
●09-016.リダイレクト
ソートした結果をファイル"result"に書き込む
$ sort target > result
ログからftp接続の情報を抜き出し,ftp.logに追記する
$ grep "in.ftpd" /var/log/secure >> ftp.log
temp.logから"2000/10"の文字列を検索する
$ grep "2000/10" < temp.log
数行のテキスト・ファイルを作る
$ cat <<_END_ > result
> Hello!!
> Happy Linux
> _END_
←ここで終了
$ cat result
←作成されているかを確認
Hello!!
Happy Linux
●09-017.パイプ
ファイル一覧をlessで閲覧できるようにする
$ ls -l | less
"hoge.shtml"に"xxx.yyy.co.jp"からアクセスしているログをlessで閲覧する
$ grep "/hoge.shtml" access.log | logresolve | grep "xxx.yyy.co.jp"
| less
●09-018.ディレクトリ内のファイルを一覧する
ディレクトリ内のファイルを一覧したい場合には「ls」コマンドを用いる。コマンド・オプションを付けずに用いると,カレント・ディレクトリ内のファイル,ディレクトリおよびシンボリック・リンクを一覧する。
$ ls
bin book.txt images list.txt sorce work
ファイル名の最初に「.」(ドット)が付いたファイルは,ドット・ファイルと呼ばれる隠しファイルである。隠しファイルは「ls」コマンドだけでは一覧に表示されない。このドット・ファイルも一覧に含めたい場合は,「-a」オプションを付ける。
$ ls -a
. .bash_logout .kde .xauth images work
.. .bash_profile .kderc bin list.txt
.Xdefaults .bashrc .screenrc book.txt sorce
また,ファイル・サイズなどのファイルの詳細を知りたい場合は,「-l」オプションを付ける。
$ls -l
合計20
drwxrwxr-x 2 hoge-use hoge-use 4096 Jul 15 02:51 bin
lrwxrwxrwx 1 hoge-use hoge-use 23 Jul 15 02:56 book.txt -> work/book.txt
drwxrwxr-x 2 hoge-use hoge-use 4096 Jul 15 02:51 images
-rw-rw-r-- 1 hoge-use hoge-use 308 Jul 15 02:54 list.txt
drwxrwxr-x 2 hoge-use hoge-use 4096 Jul 15 02:51 sorce
drwxrwxr-x 7 hoge-use hoge-use 4096 Jul 15 02:55 work
●09-019.拡張子でソートしてファイルを一覧する
$ ls -lx
ファイル名の最後のドット以下の文字列を拡張子とみなし,拡張子でソートしてファイルを一覧する。
●09-020.ファイル・サイズの小さい順にファイルを一覧
「--s」オプションを付けると,ファイル・サイズの小さな順にソートされる。また逆に,「--r」オプションを付加することによりファイル・サイズの大きな順にソートできる。
$ ls -lsr
●09-021.ディレクトリを移動する
ディレクトリを移動するには「cd」コマンドを使用する。cdの後ろに,移動先のディレクトリを記述する。ディレクトリの指定方法には,現在のディレクトリ(カレント・ディレクトリ)からのパスを記述をする相対パスによるものと,ルート(ディレクトリ構造の最も上)からのパス指定する絶対パスによるものがある。
相対パスでは,現在の位置から目的のディレクトリに至るパスを指定することになる。
$ pwd
/home/hoge-user
$ cd work
$ pwd
/home/hoge-user/work
絶対パスの場合は,ルートを表す「/」からのパスを指定する。
$ pwd
/home/hoge-user/work
$ cd /etc/httpd
$ pwd
/etc/httpd
●09-022.現在のディレクトリの位置を知る
$ pwd
/home/hoge-user/work
●09-023.pushdで記憶しているディレクトリを知る
pushdでディレクトリ移動をした場合に保存されているディレクトリを一覧する。出力は,最も左が現在のディレクトリ(カレント・ディレクトリ)で,右に行くほど古いディレクトリとなる。popdによりディレクトリを戻る際は,左から2番目のディレクトリに移動する。
$ dirs
/etc /var/log ~/work ~/
$ popd
/var/log ~/work ~/
●09-024.ファイルをコピーする
$ cp from-file.txt to-directory/
$ cp from-file.txt to-file.txt
ファイルをコピーしたい場合には「cp」コマンドを用いる。cpの後ろに,コピーしたいファイル名(コピー元)とコピー先を記述する。コピーしたいファイルは1つに限られず,複数のファイル名を記述することもできる。また,ワイルドカードを使った指定も可能である。コピー先にファイル名を指定すると,コピーと同時にファイル名を指定したものに変更する。コピー先に指定したファイルが存在する場合は,上書きされる。上書きする場合に警告が表示されるようにするには,「-i」オプションを付ける。
●09-025.ファイルの属性を変更せずコピーする
$ cp -p target_file copy_file
パーミッションや変更時間,ファイルのオーナーやグループを変更せずにコピーする。
●09-026.同名でタイムスタンプが新しいとコピーしない
$ cp -u from-file.txt to-directory/
「-u」オプションを付けると,同名で更新日が同じかまたは新しいファイルがコピー先ディレクトリにある場合にはコピーしない。
●09-027.ファイルを消す
$ rm list.txt
ファイルを削除するには,「rm」を用いる。「rm」の後ろに消したいファイルやシンボリック・リンクを指定する。複数ファイルを指定す ると,1度に複数のファイルを削除できる。また,ワイルドカードも使用できる。ただし,この方法ではディレクトリの削除はできない。
●09-028.ファイル名にスペースが存在するファイルを消す
$ rm "hoge file"
ファイル名にスペースが含まれている場合,ファイル名をそのまま指定すると,複数のファイルとして認識されてしまう。この場合は,ファイル名を「"」で囲む。
●09-029.1文字目がマイナス(-)のファイルを消す
$ rm ./-target_file
ファイル名がマイナスで始まっているファイルをそのまま指定すると,オプションとして扱われてしまう。この場合は,ファイルをパスを付けて指定する。カレント・ディレクトリのファイルの場合にはファイル名の前に"./"を付ける。
●09-030.ファイルを移動する
$ mv test.txt work/document/
ファイルの移動には,「mv」を用いる。mvの後ろに移動したいファイル(移動元)を指定し,次に移動先を指定する。また,移動したいファイルには複数ファイルを指定できる。ワイルドカードも利用可能。
戻る
|