玄箱を操作するにはコマンドラインからの入力しかありません。。Linuxサーバの基本はやはりコマンド入力だと思います。
デスクトップ型だとGUIのエディタでの編集が多いんでしょうが TelnetやSSHでのリモート操作となるとやはり必要になってくるのでコマンドを扱えるようになったほうがいざというときに 重宝します。
コマンドを全部覚える必要はなく、文庫本サイズのリファレンスを机の横やパソコンの近くにおいておけば 必要なコマンドをサッと探すことが出来るので一冊は持っていたほうがいいかもしれませんね。
ここでは私がよく使用しているコマンドを紹介します。
コマンド | 説 明 |
---|---|
ls | 指定したディレクトリのファイル一覧を表示 |
cd | 指定したディレクトリへ移動 |
pwd | 現在自分がいるディレクトリがどこなのかを表示 |
cp | ファイル、ディレクトリをコピー |
mv | ファイル、ディレクトリの移動 |
vi | テキストエディタ |
mkdir | ディレクトリの新規作成 |
mount | 別のパーティション領域や外付けストレージを操作できるように、任意のディレクトリとリンクさせる |
rm | ファイル、ディレクトリの削除 |
grep | 検索結果などのテキストから任意の文字を検索する |
cat | テキストファイルの中身を表示 |
su | ユーザの変更 |
apt | Debianパッケージのメンテナンス |
tar | ファイルやディレクトリの圧縮・解凍 |
insmod | カーネルモジュールの組み込み |
reboot, shutdown | 再起動、シャットダウン |
「ls」はおそらくもっとも多用するコマンドではないでしょうか。ファイルやディレクトリの一覧を表示するためのコマンドです。
Windowsで言うとフォルダを開いてアイコン一覧が表示されるのを、コマンドと文字だけでやってしまう、 と考えていただければイメージがわきやすいと思います。
■実際に使ってみましょう
と入力すると現在自分がいるディレクトリ内のファイルやフォルダの一覧を表示します。
コマンドの後に「/」スラッシュを入力していますがこれはディレクトリの最上層である「ルート」のディレクトリを表示させています。
Linuxのディレクトリはこの「/」を頂上としてピラミッド状にディレクトリが分岐しています。
コマンドの後にディレクトリを指定するとそのディレクトリ内の一覧を表示します。
上記コマンドに「-al」を付けるとファイル名やディレクトリ名だけでなく、隠しファイルや細かい情報も表示できます。
「cd」はディレクトリを移動するコマンドです。上記「ls」でディレクトリの場所を確認したらこのコマンドで移動します。
ディレクトリを移動する必要があるのか?と言われるかもしれませんが、移動しなくてもたいていの作業はできます。 ですが後々入力する文字数が多くなるし、特定のディレクトリに移動してから出ないと出来ない操作もあるので注意しましょう。
■実際に使ってみましょう
コマンドの後に「/」ディレクトリを指定していますのでピラミッド状ディレクトリの最上層へ移動します
移動したいディレクトリのフルパス(ルートから始まる完全な名前)を指定して移動します。
上記に続いて、移動したいディレクトリの相対パス(現在自分がいるディレクトリ内のディレクトリ名のみ) を指定するとフルパスを入力する手間がなく移動できます(自分がいるディレクトリ内のディレクトリ移動に限る)。 上記例だと「/var/log/」に移動してから「/var/log/news/」ディレクトリに移動したことになる。(スラッシュの位置に注意しましょう)
一つ上のディレクトリに移動する。
「pwd」は現在自分がいるディレクトリを確認するコマンドです。「今、どのディレクトリにいるんだっけ?」と思ったらこのコマンドを入力してみましょう
■実際に使ってみましょう
結果例:「/etc/apt」と表示されたらそのディレクトリに自分がいます。そのままですね。
「cp」はファイルやディレクトリを別の場所にコピーするコマンドです。
使い方は# cp 「コピー元」 「コピー先」
■実際に使ってみましょう
「/etc/network/interfaces」のファイルを「/root/」ディレクトリにコピーしました。
「-r」オプションを付けるとディレクトリごとコピーすることが出来ます。「network/」ディレクトリごと「/root/」ディレクトリ内にコピーしました。
「mv」はファイルやディレクトリを別の場所に移動するコマンドです。
また、ファイル名やディレクトリ名の名前変更にも使われます。移動先が違えば移動、移動先が同じなら名前変更ということです。
使い方は# mv 「移動元」 「移動先」
名前変更するには# mv 「元のファイル名」 「変更後のファイル名」
■実際に使ってみましょう
上記「cp」コマンドでコピーさせた「/root/network/」のディレクトリを「/tmp/」ディレクトリに移動しました。
「interfaces」ファイルは「interfaces_rename」ファイルという名前に変更されました。
「vi」はテキストファイルを編集するエディタです。Linux設定を変更するにはテキストファイルを編集させないといけませんが このテキスト編集操作が一番難しいところだと思います。詳しくはこちらのページに記載しています。
Windowsで言う「メモ帳」感覚で編集をすることは出来るのですが癖のある操作方法なので マニュアルを見ながら操作しないとなにがなんだか分からなくなってしまいます。
■実際に使ってみましょう
「/root/」ディレクトリに「newtext」ファイルが存在していなければ、新規作成して編集モードに入ります。
すでに存在するファイルを編集するにはファイル名を指定すれば編集モードに入ります(例として上記で作成保存したものを指定)。
「mkdir」はディレクトリを新規作成するコマンドです。
■実際に使ってみましょう
「/root/」ディレクトリに「newdir/」ディレクトリを新規作成します。
別のパーティションを操作するのには、mountコマンドで自分のいるパーティションとを連結させてからでないとできません。基本的には「/mnt」ディレクトリ内にマウントポイントとなるディレクトリを作製して、そこと連結させます。
接続したストレージがどのデバイス名で認識されているかをまずは調べます。
# dmesg (USB機器を接続した後にコマンド入力するとずらずらと文が出てくる
scsi 0:0:0:0: Direct-Access BUFFALO HD-PCTU2 0108 PQ: 0 ANSI: 4
sd 0:0:0:0: [sda] 976773167 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 1c 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 976773167 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 1c 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 < sda5 > ←ここのsda1とかsda5とかがデバイス名になります
sd 0:0:0:0: [sda] Attached SCSI disk
usb-storage: device scan complete
マウントするには以下に書式を記載します。-tコマンドはext3(linuxで使われる形式)なら省略しても大丈夫です。
例:内蔵HDDの第1パーティションをマウントする。
例:windowsフォーマット(fat32)のUSBメモリをマウントする。ファイルタイプ指定はvfat
例:windowsフォーマット(NTFS)の外付けHDDをマウントする。(カーネル再構築が必要) (ntfs-3gプログラムが必要)ファイルタイプ指定はntfs-3g
マウントを解除してデバイスを外す。
「rm」はファイルやディレクトリを削除するコマンドです。
最も恐ろしいコマンドだと思います。重要なファイルも簡単に削除されてしまい、 Windowsで言うゴミ箱のようなものはありませんので一発勝負です。 使い方を誤れば全てを無に帰す事が可能なコマンドなので使用するときは慎重に確認しながら行いましょう。
■実際に使ってみましょう
「newtext」ファイルを削除します。
「newdir/」ディレクトリを削除します。
「-rf」オプションを付けるとディレクトリも削除でき、そのディレクトリの中のファイルも全て削除できます。 このオプションを付けると何の質問をされることなく実行されますので注意!。嗚呼恐ろしい・・・
「grep」は「cat」コマンドなどで表示される文章から特定の文字列を検索して表示するコマンドです。
■実際に使ってみましょう
「/root/text.txt」ファイル内から「keyword」という文字が含まれる行を表示してくれます。
grepの前のたて棒(パイプ)はキーボードで¥マークにある文字です
「cat」はファイルの内容を表示するコマンドです。
このコマンドを入力するとファイルの内容がずらずらと一気に表示され、勝手にスクロールしていきます。 結局見れるのは文章の最後の部分だけですが他のコマンドと組み合わせる事によって初めて使い物になります。
■実際に使ってみましょう
「messages」ファイルの一覧を表示。もちろん一番最後あたりしか見れません。
下記例だと「messages」ファイルの一覧を表示し、その中から「eth0」が含まれる行を検索して表示します。
コマンドの後に「|」(←長い縦棒。アルファベットのエルではありません。キーボードに印字されている文字を探してください)をはさんで検索コマンド「grep」を行います。
「messages」ファイルを一ページずつ表示します。
「messages」ファイルを一行ずつ表示します。
「su」はユーザーを変更するときに使用するコマンドです。
■実際に使ってみましょう
一般ユーザーでログインしている状態と仮定
パスワードを聞かれますので変更したいユーザのパスワードを入力します。例ではルートのパスワードを入力
■コマンド:exit
「exit」は「su」で変更したユーザから抜けて元のユーザに戻るコマンドです。
「su」していない場合はtelnetやsshを抜けて終了します。
「apt」はDebianのソフトウェアパッケージを管理するコマンドです。
Debianではこのコマンドでわずらわしいソフト同士の依存関係を気にせずインストールをすることが出来てとても便利です。
「apt」コマンドでソフトウェアの検索、インストール、アンインストールが出来ます。
■実際に使ってみましょう
現在流通しているソフトウェアの情報を更新します。
「apache」というソフトウェアがあるかどうか検索します。
検索結果が多い場合、絞り込み検索するにはパイプを使用します。
「apache」をインストールします。複数のパッケージを一度にインストールする場合はパッケージ名をスペースで区切って追加していきます。
「apache」を設定ファイルごと完全にアンインストールします。
Linux全体のソフトウェアパッケージを最新にします
ディレクトリごと圧縮ファイルに変換したり、解凍したりするコマンドです。ダウンロードしてくるプログラムなんかはtarで圧縮されているものが多いです。
解凍するとき(自分のいるディレクトリに解凍されます)
圧縮するとき(圧縮したいものをスペースで区切って入力していく)
# tar -zcvf 圧縮後のファイル名.tgz 圧縮したいファイルやディレクトリ その1 さらにその2・・
圧縮時に除外したいフォルダがある場合はオプション--excludeのあとに続けて明記します。
# tar -zcvf 圧縮したいディレクトリ --exclude /除外ディレクトリ1 --exclude /除外ディレクトリ2
カーネルのモジュールを組み込みます
# insmod /lib/modules/2.6.25-kuroboxHG/kernel/モジュール名
逆にモジュールを外します
組み込み済みのモジュール一覧を表示します
「reboot」は再起動コマンド。説明の必要はありませんね。
「shutdown -h now」はLinuxの終了コマンド。直ちにシャットダウンを始めます。これも説明の必要はありませんね。
![]() | Linux逆引き大全555の極意 コマンド編 伊藤 幸夫 ![]() ![]() ![]() ![]() ![]() by G-Tools |