トップに戻ります
00-本サイトについて
00-01.サイト運用者
00-02.当サイトの運用環境
|
●09-F.Linux基本コマンド一覧
●09-151.zipファイルを圧縮・伸張
zip方式は,Windowsでよく使われる圧縮方式である。zipファイルは拡張子が「zip」となる。
zipファイルを展開するにはunzipコマンドを用いる。
$ unzip zipfile.zip
圧縮の場合は「zip」コマンドを用いる。単一ファイルなどの場合は次のようにする。
$ zip file.zip target-file
圧縮するファイルを複数列挙することもできる。また,ワイルドカードによる指定も可能だ。
ディレクトリごと圧縮する場合は「-r」オプションを使用する。
$ zip -r directory.zip target-dir
●09-152.lzhファイルを圧縮・伸張
lzh方式は,日本でWidows環境において広く使われている圧縮方式である。lzhファイルの拡張子は「lzh」である。
lzhで圧縮されたファイルを展開するには,オプションに「e」を付け,その後ろに展開するlzh圧縮ファイルを指定する。
$ lha e decompress.lzh
逆に圧縮したい場合は「a」オプションを用い,その後ろに圧縮後のファイル名,圧縮するファイルまたはディレクトリを指定する。ディレクトリを指定した場合はそのディレクトリごと圧縮される。
$ lha a make.lzh make-dir
また,圧縮ファイルの内容を閲覧したい場合は「l」オプションを用いる。
$ lha l temp.lzh
●09-153.tarファイルを作成・展開
ファイルやディレクトリのパッケージ化や,パッケージの展開を行う。tarのみでは圧縮・伸長が行われない。圧縮・伸長が必要な場合は,gzipやcompress,bzip2などを併用する。詳しくは「gz,tar.gzファイルを圧縮・伸張する」,「bz2,tar.bz2ファイルを圧縮・伸張する」を参照すること。
tarファイルを展開するには,
$ tar xvf package.tar
と入力する。展開後,元のパッケージ・ファイルは削除されずに残る。
逆にパッケージを作成したい場合は,
$ tar cvf package.tar package-dir
●09-154.フロッピ・ディスクにバックアップ
パッックアップ先にフロッピ・ディスクを指定すれば,フロッピ・ディスクにバックアップできる。また,オプションに「M」を付加すると,マルチボリューム対応になる(フロッピ・ディスクがいっぱいになったら,次のディスクに連続的に書き込む)。また,「z」,「Z」,「I」オプションを用いて圧縮しながらバックアップすることも可能。ただし,圧縮する場合はマルチボリュームを併用できない。
$ tar cvfM /dev/fd0 ~/
このコマンドはレンタルサーバーでは必要ありません。
●09-155.tarでフロッピ・ディスクにバックアップしたデータを復元
「フロッピ・ディスクにバックアップする」でバックアップしたデータを復元する。マルチボリュームの場合は,途中で次のディスクへの入れ替えを求められる。また,圧縮した場合はそれぞれのオプションを付けて伸長する必要がある。
$ tar xvfM /dev/fd0
このコマンドはレンタルサーバーでは使用しないと思います。
●09-156.CD-Rにバックアップ
CD-Rにバックアップするには,まずCD-Rに書き込むデータを一時的に納めるためのディレクトリを適当な場所に作成する。ルート権限を持つ状態で行う場合の手順は以下の通り。
# mkdir /root/cd-backup
その後,必要なデータをこのディレクトリ内にコピーする。もし,「/home/hoge-user/」以下すべてをバックアップするのであれば,以下のようにコピーする。
# cp -a /home/hoge-user/* /root/cd-backup
次に,CDのイメージを作成する。
cd /root
# mkisofs -r -J -o cd-image.iso cd-backup/
イメージが正常に作成されたら,次にCD-Rに書き込む。それにはまず,CD-Rドライブを調べるため,
# cdrecord -scanbus
と入力する。ここで表示されたCD-Rの行の先頭にある数字3文字を覚えておく。ここでは「1,0,0」であったとする。次に書き込みを行うため,
# cdrecord -v dev=1,0,0 speed=12 -multi -data cd-image.iso
と入力する。さきほど覚えておいた数字は,"dev="の後ろに記述する。もし,書き込みが正常に行われなかった場合は,書き込み速度を指定する「speed=」を落としてみる(小さな数字を指定する)とよい。また,BURN-Proof対応のCD-Rドライブの場合は,BURN-Proof機能を使うにはオプションとして「driveropts=burnproof」を付加する必要がある。
書き込みが正常に終了したら,CD-Rをマウントしてみてファイルが正常かどうか確かめる。
# mount /mnt/cdrom
# ls -l /mnt.cdrom/
# umount /mnt/cdrom
最後に,CD-R作成のための一時ファイルを削除する。
# rm -rf /root/cdrom /root/cd-image.iso
CD-Rはレンタルサーバーでは関係有りません。
●09-157.テープに定期的にバックアップ
バックアップは定期的に行うのが有効である。人手でバックアップしていたのでは,手間と時間がかかるため,定期実行しづらい。そこで,テープ・メディアに定期的に自動バックアップする簡単な方法を紹介する。
テープ・ドライブの接続方法の説明は省略する。
まず,バックアップをとるためのスクリプト・ファイルをテキスト・エディタで作成する。ここでは,ファイル名を「/root/backup/backup」とする。スクリプトを以下に示した。
#! /bin/sh
DIR=/root/backup
LOG=${DIR}/backup.log
#
cd /home
case $1 in
### Help ########################################
-h | -help )
echo usage backup \[ -f \| -i \]
echo "option -f ....Processed Full Backup"
echo "option -i ....Processed Incremental Backup"
;;
### Full Backup under "/home" ###################
-f )
echo "Full Backup....Start!!" >> ${LOG}
date >> ${LOG}
OUTDEV=/dev/st0
tar cf ${OUTDEV} . >> ${LOG} 2>&1
touch ${DIR}/DataFlag
date >> ${LOG}
echo "Full Backup....End!!" >> ${LOG}
echo "" >> ${LOG}
;;
### Incremental Backup for Newer Files ##########
-i )
echo "Incremental Backup....Start!!" >> ${LOG}
date >> ${LOG}
OUTDEV=/dev/nst0
find . \( -type f -a -cnewer ${DIR}/DataFlag \) -print > \
${DIR}/newer_list.tmp
echo '#!/bin/sh' > ${DIR}/incre_backup.sh
echo "tar cf ${OUTDEV} \\" >> ${DIR}/incre_backup.sh
awk 'BIGIN{}{print "\"" $0 "\"" "\\";}END{print
">> '"${LOG}"' 2>&1"} \
${DIR}/newer_list.tmp >> ${DIR}/incre_backup.sh
chmod +x ${DIR}/incre_backup.sh
${DIR}/incre_backup.sh && touch ${DIR}/DataFlag
date >> ${LOG}
echo "Incremental Backup....End!!" >> ${LOG}
echo "" >> ${LOG}
;;
esac
このスクリプトでは,オプションに「-f」を付けることでフルバックアップを,「-i」を付けることで差分バックアップを行う。また,フルバックアップではテープを巻き戻すのに対し,差分バックアップではテープを巻き戻さない。
バックアップ対象ディレクトリは,/home以下である。もし他の場所をバックアップするのなら,5行目の「cd /home」を変更すればよい。
定期的なバックアップにはcrontabを用いることになる。ルート権限を得て,
# crontab -e
により,crontab の編集を行う。
ここでは,「1週間に1回フルバックアップする」,「1日1回フルバックアップする」,「日曜日に1回フルバックアップ,平日は差分バックアップする」の3つの方法の設定を紹介する。いずれも,バックアップの開始時間は午前3時とする。それぞれ,以下のようにcrontabに追加すればよい。
1週間に1回フルバックアップする
0 3 * * 0 /root/backup/backup -f
1日1回フルバックアップする
0 3 * * 1-6 /root/backup/backup -f
日曜日に1回フルバックアップ,平日は差分バックアップする
0 3 * * 0 /root/backup/backup -f
0 3 * * 1-6 /root/backup/backup -i
これで,指定時間が来るとバックアップが始まる。ただし,「日曜日に1回フルバックアップ,平日は差分バックアップする」の場合は,土曜と日曜のバックアップ後(翌日のバックアップが始まる前まで)に,フルバックアップ用テープと差分バックアップ用テープを入れ替える必要がある。
この操作はレンタルサーバー業者が行うものです。
●09-158.RPMパッケージをインストール
Red Hat系のLinuxでは,RPMパッケージを使用することによりソフトウエアを容易にインストールできる。RPMパッケージの多くは,バイナリとソースが両方用意されている。バイナリの場合は,拡張子に".i386.rpm"や".alpha.rpm"といったハードウエア名が記載されている。また,ソース(SRPMと呼ばれる)の場合は,拡張子が".src.rpm"である。
パッケージのインストールには,ルート権限が必要がある。レンタルサーバーの場合は管理権限が必要です。
バイナリ・パッケージをインストールするには,
# rpm -ivh package-x.x.x.i386.rpm
と入力する。また,多くのパッケージをまとめてインストールした場合は,ワイルドカードで指定すると便利である。ただし,インストールするパッケージの順番が決まっている場合もあるので,注意が必要である。また,「ファイルが競合する」というメッセージが現れた場合でも,「---force」オプションを付けることで(強制)インストールが行える。
ソース・パッケージの場合は,
# rpm --rebuild package-x.x.x.src.rpm
と入力する。
●09-159.RPMパッケージをアップデート
インストールしたいRPMパッケージの古いバージョンが既にインストールされている場合は,アップデートにより新パッケージと入れ替えることになる。アップデートするにはオプション「-Uvh」を指定する。アップデートの場合もルート権限が必要である。
# rpm -Uvh package-x.x.x.xxx.rpm
こちらもレンタルサーバーでは管理権限が必要です。
●09-160.RPMパッケージがインストールされているか調べる
あるRPMパッケージが既にインストールされているかどうか調べるには,オプションに「-q」を付け,その後ろに調べたいパッケージ名を指定する。
$ rpm -q samba
samba-2.0.5aJP2-7vl3
しかし,これでは指定したパッケージしか表示されない。develといった関連の深いパッケージを同時に調べたい場合は,導入済みの全パッケージを表示する「-qa」オプションを指定し,grepによりその中から指定した文字列が入っているパッケージだけを抜き出すようにするとよい。
$ rpm -qa | grep "samba"
samba-2.0.5aJP2-7vl3
samba-client-2.0.5aJP2-7vl3
samba-common-2.0.5aJP2-7vl3
●09-161.RPM パッケージをアンインストール
RPMパッケージをアンインストールするには「-e」オプションを付け,その後ろにパッケージ名を指定する。パッケージのアンインストールにはルート権限が必要である。
関連パッケージがある場合は,パッケージ名を詳細に指定する必要が生じる。詳細なパッケージ名を知る方法については,「RPMパッケージがインストールされているか調べる」を参照してほしい。
なお,依存関係に注意が必要である。以下のようなエラー・メッセージが現れた場合は,削除しようとしているパッケージが他のパッケージにより使われているので,消すことは望ましくはない。削除したい場合は,それを使っているパッケージを先に削除する。
# rpm -e gnome-core
エラー: これらのパッケージを必要としているパッケージがあります
gnome-core = 1.0.55 がgnome-core-devel-1.0.55-1vl3 に必要です
libpanel_applet.so.0 がpygnome-1.0.50-1vl1 に必要です
libpanel_applet.so.0 がxchat-1.4.0-0vl2 に必要です
アンインストールはレンタルサーバーでは管理権限が必要。
●09-162.debパッケージをインストール
Debianでは,debパッケージを用いてソフトウエアをインストールできる。インストールする際は,パッケージ・マネージャであるdpkgを用いる。パッケージには通常,「.deb」という拡張子が付いている。
パッケージをインストールする場合は,オプションの「-i」を指定し,その後ろにパッケージ・ファイルを記述する。
# dpkg -i package-x.x.x.deb
また,依存関係を無視してインストールする場合は「--force-depends」オプションを指定する。
# dpkg -i --force-depends package-x.x.x.deb
●09-163.deb パッケージがインストールされているか調べる
インストールされているdebパッケージを閲覧したい場合は「--list」オプションを指定する。その後ろにパッケージ名を指定すると,そのパッケージの内容が表示される。指定しない場合はすべてのパッケージを表示する。
$ dpkg --list
$ dpkg --list package
●09-164.deb パッケージをアンインストール
debパッケージを削除するには「-r」オプションと共に,削除するパッケージ名を指定する。ただし,「-r」オプションでは設定ファイルまでは削除しない。すべてを削除したい場合は「-pureg」オプションを用いる。
また,アンインストールの際に依存関係により問題が生じた場合でも,「--force-depends」オプションを同時に用いることで強制的に削除することができる。
# dpkg -r package
# dpkg -pureg package
●09-165.インストールされたdebパッケージの情報を確認
インストールされているパッケージの詳細情報を確認するには「-s」オプションを用いる。
$ dpkg -s package
●09-166.debパッケージ・ファイルの情報を確認
パッケージ・ファイルの情報を閲覧する場合は「-I」オプションと共に,対象パッケージ・ファイルを指定する。この情報の「Depends」には,依存関係がある(必要となる)パッケージが記載されている。
$ dpkg -I package-x.x.x.deb
●09-167.「tar,gz」ソース・パッケージをインストール
「tar.gz」のソース・パッケージを導入するには,コンパイルしてからインストールする。
また,「tar.bz2」のようにbzip2を用いたパッケージについても同様にインストール可能だ。この場合は,展開するコマンド「tar zxvf package-x.x.x.tar.gz」を次のように変更すればよい。
$ tar zxvf package-x.x.x.tar.gz
$ cd package-x.x.x
$ ./configure
$ make
$ su
password : ******
# make install
# exit
レンタルサーバーではmake installに対して管理権限が必要です。
●09-168.コマンドのマニュアルを表示
manコマンドの後ろに指定したコマンドの使用方法(マニュアル)を閲覧できる。また,ディストリビューションによっては,日本語マニュアル(日本語manページ)を閲覧する場合には「man」ではなく「jman」を使うものもある。
$ man ls
●09-169.コマンドの使用方法を検索
指定した語句を含むマニュアルを一覧表示する。
$ man -k passwd
●09-170.セクションを指定してコマンドの使用方法を閲覧
passwdのようなコマンドは,マニュアルが複数のセクションに存在する。この場合は,セクション番号を指定することで特定のマニュアルを閲覧できる。
$ man 5 passwd
●09-171.コマンドを探す
whichコマンドの後ろにコマンドを指定すると,そのコマンドのありか(パス名)が表示される。ただし,パスの通っていないディレクトリは,検索対象にならない。
$ which perl
●09-172.コマンドの使用方法を簡潔に表示
多くのコマンドは,「--help」オプションを指定すると,そのコマンドの使用方法が簡潔に表示される。また,「--version」オプションを指定すると,コマンドのパージョンを調べられる。
$ cp --help
使用法: cp [オプション]‥‥ SOURCE DEST
又は cp [オプション]‥‥ SOURCE... ディレクトリ
又は cp [オプション]‥‥ --target-directory=ディレクトリ SOURCE...
SOURCE を DEST にコピーする。あるいは複数の SOURCE(s) を DIRECTORY へコピーする。
-a, --archive -dpR と同じ
--backup[=CONTROL] ファイルを上書きする際バックアップをつくる
-b 引数を取らないこと以外は --backup と同じ
:
:
●09-173.infoでコマンドのマニュアルを閲覧
Emacsを用いてコマンドのマニュアルを閲覧できる。起動は「info」で行うが,目的のコマンドが分かっている場合はその後にコマンド名を指定する。
操作は基本的にEmacsと同じである。
$ info
$ info grep
戻る
|
−− 弊社メインサイト −−
ホームページ製作、システム開発はMSweb - 大阪
ホームページ製作・作成、システム開発、サーバー構築・保守にはMSwebをご利用下さい
携帯サイト 
−− 弊社姉妹サイト −−
ホームページ製作 発注企業に理解して欲しい内容
ホームページ発注企業、製作会社向けの内容です。
−− 弊社姉妹サイト −−
WEBシステム開発|PHPとPostgreSQLの開発例
入門者用のPHPとPostgreSQLを使ったWEBシステムの開発演習です。
−− 弊社姉妹サイト −−
ホームページ製作 大阪 | 製作手順の紹介−MSweb
ホームページ製作の手順をご紹介しています、デザイン、HTML、スタイルシートなどについて記載しています。
オープンソース・サンプル
MSweb OpenPNE 大阪
オープンソースのSNSです。ご興味があり使用されたい方は、
ID「msweb@msweb.biz」、パスワード「gua8hkj3」で管理ページにログインできます。
管理ページ
オープンソース・サンプル
MSweb ブログ
オープンソースのブログです。ご興味があり使用されたい方は、
ID「admin」、パスワード「bd0e86」で管理ページにログインできます。
管理ページ
オープンソース・サンプル
XOOPS
代表的なCMSのXOOPSです。ご興味があり使用されたい方は、
ユーザ名「msweb」、パスワード「as4g3mz」で管理者でログインできます。
オープンソース・サンプル
EC|CUBE(メイン・ページ)
EC|CUBE(管理ページ)
オープンソースの通販システムです。ご興味があり使用されたい方は、
ID「msweb」、パスワード「fd4upd2」で管理ページにログインできます。
オープンソース・サンプル
Joomla(メイン・ページ)
Joomla(管理ページ)
オープンソースのCMSです。ご興味があり使用されたい方は、
ID「admin」、パスワード「A2gT6B7F」で管理ページにログインできます。
▼ オープンソース・サンプル
SquirrelMail
オープンソースのWEBメールのシステムです、OP25Bの影響を受けません。
▼ オープンソース・サンプル
Mailman
Mailman(管理ページ)
オープンソースの電子メールでの討論やメルマガの配送リストを管理するためのシステムです。
サンプルのため投稿はできません。
|