Linuxコマンド 一覧


CentOSでパッケージ管理を行う際は yum というコマンドを使います。
yumの設定は /etc/yum.conf で行います。

■/etc/yum.conf
cachedir=/var/cache/yum    //キャッシュディレクトリ
logfile=/var/log/yum.log    //ログファイルのパス


■yumのサブコマンド
サブコマンド 内容
check-update アップデート対象のパッケージリストを表示
update パッケージ名 指定したパッケージをアップデート
install パッケージ名 指定したパッケージをインストール
remove パッケージ名 指定したパッケージをアンインストール
info パッケージ名 指定したパッケージの情報を表示
list 全パッケージ情報をリストで表示
repolist リポジトリ一覧を表示
search キーワード パッケージ情報をキーワード検索する
search all キーワード パッケージをキーワード検索する
(パッケージ名だけでなく説明文なども検索)
grouplist パッケージグループをリスト表示
groupinstall グループ 指定したグループのパッケージをインストール


サブコマンドを全部使うことなんてほとんどないと思いますので、
主要なサブコマンドだけ覚えておくだけで、かなり役立ちます。

インストールとかアップデートって簡単だなって思ってしまいますが、
yumコマンドが素晴らしいだけなんですよね。。。






apt-getよりも高度な機能を持っているのがaptitudeコマンドです。

と参考書などには書かれていますが、個人的にあまり使う機会がありません・・・
パッケージの検索などに正規表現が使えるというのが強みのようです。

update パッケージデータベースを更新
show パッケージ名 パッケージ情報を表示
search パターン(正規表現) 指定したパターンでパッケージを検索
install パッケージ名 パッケージをインストールまたはアップグレード
remove パッケージ名 設定ファイルを残してパッケージをアンインストール
purge パッケージ名 設定ファイルも含めてパッケージをアンインストール
download パッケージ名 パッケージファイルをダウンロード
dist-upgrade Debianのシステムを最新にアップデート
upgrade システムの全パッケージを安全にアップデート


以上のようなサブコマンドが用意されています。
例えば、apacheをインストールしたい場合は、

# aptitude install apache2


という感じでコマンドを実行します。

さて、aptitudeの本領は正規表現を使えるところですが、
正規表現を使って検索するには、以下のような記述方法を用います。


~n[正規表現] [正規表現]にマッチするパッケージを検索
(パッケージ名を検索)
~d[正規表現] [正規表現]にマッチするパッケージを検索
(パッケージの説明文を検索)
~V[正規表現] [正規表現]にマッチするパッケージを検索
(パッケージのバージョンを検索)
~i インストール済みのパッケージを検索
~U 更新可能なパッケージを検索
~M 自動的にインストールされたパッケージを検索


使い方は以下のような感じです。

//apache2という文字列を含むインストール済みのパッケージ名を検索
# aptitude search "~napache2~i"


ダブルクォーテーションで括ったり、オプションとパターンが連なっていたりして、
普段使っているコマンドと違っているので違和感ありますが、
これに慣れると柔軟にパッケージの検索ができそうですね。



viで開いたファイルに行番号を表示する方法は紹介しましたが、
それにプラスして指定行へジャンプする方法も覚えておくと、さらに便利です。

指定行へジャンプするには、viでファイルを開いた後に
「:n」と入力してEnterキーを押下します。
nにはジャンプしたい行数を入力します。


      4     
      5     Movable Type Read Me
      6                                                                                                                                                                       
      7     
:50  //←入力後にEnterキーを押下すると50行目にジャンプします


行数の多いファイルは、行番号の表示と指定行へのジャンプ機能を使えば、
比較的楽にファイル操作が行えると思います。






行数の少ないファイルは特に使いづらさを感じませんが、
行数が多くなるとviでファイルを開いた後の編集は不便ですよね。

プログラムのデバッグなどで何度も修正するとき、
毎回修正箇所を探すのはかなりの労力になります。

そんなときは行番号を表示すると便利です。
ここでは、movabletypeのreadmeファイルを開いてみます。

    
    Movable Type Read Me
    
    



見にくいですよね。
これを改善するために行番号を表示します。

行番号を表示するには、viでファイルを開いた状態で「:set nu」と入力します。


    
    Movable Type Read Me
    
    
:set nu  //←入力したらEnterキーを押下




入力後は以下のように表示が変わります。


     4     
      5     Movable Type Read Me
      6                                                                                                                                                                       
      7     


これだと使いやすさがそれほど伝わりませんが、
実際に使ってみると効果は抜群です。
どこで改行してるのかってのもわかりやすいですしね。

あとは、指定行にジャンプできるともっと便利ですが、
それは別の記事で紹介したいと思います。






最近はRedHat系のディストリビューションが主流だと思いますので、
パッケージをインストールする際によく使うコマンドは yum だと思います。
依存関係をチェックしながらインストールやアップデート、アンインストールが行えます。

Debian系のディストリビューションで、
そういったパッケージ管理を行うコマンドが apt-get コマンドです。
オプションも少なく、サブコマンドもわかりやすいので
dpkgコマンドよりも取っつきやすいと思います。

■apt-getコマンドのオプションとサブコマンド
オプション説明
-d ファイルをダウンロードする(インストールはしない)
-s システムを変更せず動作をシミュレートする
サブコマンド説明
clean 取得済みのパッケージを削除
dist-upgrade Debianのシステムを最新にアップグレード
install パッケージをインストール、もしくはアップグレードする
remove パッケージをアンインストールする
update パッケージデータベースを更新する
upgrade システムの全パッケージを安全にアップグレードする

オプションも2つで、サブコマンドも英単語なので覚えやすいですよね。
試験対策的には「dist-upgrade」「update」「upgrade」、
この3つの違いをしっかり覚えておくことは重要になりそうです。





DebianやUbuntuなどのDebian系ディストリビューションでは、
Debian形式のパッケージ管理方式が使われます。

最近はCentOSなどRedHat系が一般的になってる気がしますので、
馴染みが薄いかもしれませんが、LPICでは避けて通れません。

オプションについてはしっかり覚えておかないと、
試験の時には自信なく答えることなると思います。


■dpkgコマンドの主なオプション
オプション説明
-i [パッケージ名]
(--install)
[パッケージ名]をインストールする
-r [パッケージ名]
(--remove)
設定ファイルを残して[パッケージ名]をアンインストールする
-P [パッケージ名]
(--purge)
設定ファイルを含め、完全に[パッケージ名]をアンインストールする
-l [検索パターン]
(--list)
[検索パターン]にマッチするインストール済みパッケージを検索して表示する
-S [ファイル名検索パターン]
(--search)
[ファイル名検索パターン]で指定したファイルが、どのパッケージからインストールされたかを表示する
-L [パッケージ名]
(--listfiles)
[パッケージ名]からインストールされたファイル一覧を表示する
-s [パッケージ名]
(--status)
[パッケージ名]の情報を表示する
--unpack [パッケージ名][パッケージ名]を展開する(インストールはしない)
-E既に同じバージョンがインストールされていればインストールしない
-G既に新バージョンがインストールされていればインストールしない

勉強している方はご存じだと思いますが、
アンインストールの設定ファイルを残す、残さないってやつは重要です。
(「--remove」か「--purge」かってやつです)
参考書の練習問題では確実に問われていると思いますし、
実際の試験でも高確率で出題されるんじゃないでしょうか。

もちろん、それ以外のオプションが問われることもあると思うので、
結局は全部しっかり覚える必要があるんですけどね。。。

意外と大変ですが、覚えるしかないんです。





shutdownコマンドは、システムをシャットダウンしたり再起動したりします。
主に、安全にシャットダウンや再起動を行いたい時に利用します。

shutdownコマンドのオプションには以下のようなものがあります。

オプション 内容
-h シャットダウン完了後にシステムを停止
-r シャットダウン完了後にシステムを再起動
-f 次回起動時にfsckを省略
-F 次回起動時にfsckを強制
-k 実際にはシャットダウンせず、警告メッセージのみ表示
-c 実行中のシャットダウン処理をキャンセルする


Linux系のOSというのは、基本的に多数のユーザーが同時にログインできます。
従って、いきなりシャットダウンすると他のユーザーに迷惑が掛かってしまいます。
そういうことを回避するためにシャットダウンコマンドのオプションを活用してください。

//5分後にシャットダウン
# shutdown -h +5 "5分後にシャットダウンしますので、速やかにログアウトしてください"
上記の例では、5分後にシャットダウンするわけですが、 他のユーザーには「5分後にシャットダウンしますので、速やかにログアウトしてください」 という警告文が通知されるため、他のユーザーも準備することが可能です。
//5分後にシャットダウン
# shutdown -k +5 "5分後にシャットダウンしますので、速やかにログアウトしてください"

実際にはシャットダウンしないが、他のユーザーのログアウトを促したいときは
オプションを「-k」に変更することで、シャットダウンなしに警告が可能です。

オプションでは「-h」や「-r」あたりをよく使うことになると思います。

//19時にシャットダウン
# shutdown -h 19:00

//今すぐ再起動
# shutdown -r now


shutdownコマンドを使うと、
それ以降、あのユーザーはログインできなくなります。
shutdownコマンドを利用して、他のユーザーに迷惑の掛からない
シャットダウンや再起動処理を実現できるといいですよね。




このシェルスクリプトは問題なく動くんだろうか?!
そんなときに使いたいコマンドです。

このコマンドを使うと実行した時に
どういったエラーが出るのかを事前に知ることが出来ます。
もちろん、エラーが出ないってことも知ることが出来ます。

// *****をファイル名に変更
# sh -x *****.sh


シェルスクリプトの勉強中には役立ちますね。






サーバーにあるファイルの文字コードを調べます。

# nkf -g [ファイル名]

もしくは

# nkf -guess [ファイル名]

//結果 ※括弧内は改行コード
UTF-8 (LF)


サーバーにあるファイルの文字コードを変換したい場合は、
以下のように記述すれば実現できるでしょう。


# nkf -w --overwrite [ファイル名] //UTF-8に変換
# nkf -s --overwrite [ファイル名] //SJISに変換
# nkf -j --overwrite [ファイル名] //JISに変換
# nkf -e --overwrite [ファイル名] //EUCに変換


これを実行した後に、上の文字コードを調べるコマンドを実行すると
実際に文字コードが変わっているのがわかると思います。




Linuxコマンド備忘録

役立ちそうだけど滅多に使わないから忘れそう。。。
そんなLinuxコマンドを残していきたいと思います。

このページの上部へ

サイト内検索

連絡先

未熟者ですので何かと間違い等あると思います。 優しくご指導いただける方は以下のメールアドレスまでお願いいたします。
その他のご連絡もこちらまで。
連絡先

広告