[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]
本章は 本当の初心者に Debian ワールドへの基本的なオリエンテーションを供給 します。しばらく Unix ライクなシステムを使っていたならば、ここで説明する ことは多分ほとんど知っているでしょう。常識の確認としてこれを使ってください。
PC に Debian システムをインストールした後、有用ないくつかのことを 学ぶ必要があります。素早い説明をします。
システムのリブート後、パッケージの最初の選択により、グラフィカルな ログインスクリーン又は文字ベースのログインスクリーンが表れます。 単純化のため、グラフィカルなログインスクリーンが表れた場合、 キャラクタベースのログインスクリーンを表示させるために Ctrl-Alt-F1 を押してください。 [3]
あなたのホスト名が foo と仮定すると、ログインプロンプトは 次のようになります。
foo login:
root とタイプし、Enter キーを押してインストール手順の間に 選んだパスワードをタイプしてください。Debian システムでは、 Unix の伝統に従い、パスワードは大文字と小文字が区別されます。 ログインに成功すると、システムは歓迎メッセージを表示し、root コマンド プロンプトを表示してあなたの入力を待ちます。 [4]
foo login: root Password: Last login: Sun Oct 26 19:04:09 2003 on tty3 Linux foo 2.4.22-1-686 #6 Sat Oct 4 14:09:08 EST 2003 i686 GNU/Linux Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@foo:root#
あなたは既にこの root コマンドプロンプトからシステム管理を行う準備が できています。この root アカウントは、スーパーユーザや特権ユーザとも 呼ばれています。このアカウントからは、次のようなことができます。
ファイルパーミッションに依らずあらゆるファイルの読み書き削除
システム上のあらゆるファイルのファイル所有者やパーミッションの設定
システム上の非特権ユーザのパスワードの設定
パスワード無しでの全アカウントへのログイン
パスワードを共有することにより root アカウントへのアクセスを
共有することは非常にまずい考えです。sudo(8)
のようなプログラムを使って管理者権限を共有するのが良い考えです。
管理行動を行おうとする場合でも、まず自分の非特権者アカウントでログイン
するのは、良い Unix 的習慣であると考えられていることに注意してください。
必要な際に制限された root 権限を得るために、sudo,
super, や su -c コマンドを使いましょう。 – sudo
を使ってより安全に作業をする, 第 9.2.4 節 をご覧ください。 [5]
コンピュータシステムを学ぶことは新しい外国語を学ぶことに似ていると
考えます。チュートリアルブックは有用ですが、ヘルパーツールを用いて
実際に学ぶことが必要です。こういう背景から、mc
, vim
,
lynx
, doc-linux-text
, そして
debian-policy
のようないくつかの追加パッケージを
インストールするのは良い考えです。 [6]
# apt-get update ... # apt-get install mc vim lynx doc-linux-text debian-policy ...
これらのパッケージを既にインストールしている場合、何もインストール しなくても良いです。
インストール中に、通常 root アカウントへのメールを受け取る非特権ユーザ アカウントを作成します。 [7] この特別なユーザアカウントを以降の訓練用にも使いたくないならば、 他の新ユーザアカウントを作成すべきです。
新しいユーザ名を penguin とすると、次のように タイプするとアカウントが作成されます。
root@foo:root# adduser penguin ... 質問全てに答える
[8] 先に進む前に、いくつかのことをまず学びましょう。
Debian システムには、6 個の独立した仮想端末が使えます。すなわち、 PC の VGA キャラクタコンソールスクリーンを 6 個の切替え可能な VT100 端末として使えるということです。スクリーンの切替えは左側の Alt キー と F1–F6 キーを同時に押すことにより行えます。仮想ターミナル それぞれに独立したアカウントでログインすることができます。 マルチユーザ環境は偉大な Unix の機能であり、非常に中毒性があります。
X Window System を起動中のシステムにおいて Alt-F7 を間違ってタイプし、 コンソールスクリーンがグラフィカルなスクリーンを表示していた場合、 Ctrl-Alt-F1 を押すことによりキャラクタコンソールへのアクセスを回復します。 この現象に慣れるため、違うコンソールに移動して元に戻ってみてください。
ファイル操作がメモリへのキャッシュにかかわる他の現代的な OS と同様に、 Debian システムは電源を OFF にする前にファイルの完全性を維持するため、 適切なシャットダウン手順を取る必要があります。 システムをシャットダウンするためには、 root コマンドプロンプトから 次に示すコマンドを実行してください。
# shutdown -h now
これは通常のマルチユーザモード用です。シングルユーザモードの場合は、 root コマンドプロンプトから次のコマンドを実行してください。
# poweroff -i -f
これの代わりに、Ctrl-Alt-Delete を押してシャットダウンできるかもしれません。 [9]
システムが "System halted" と表示するまで待ち、そして電源を OFF に しましょう。BIOS と Linux により APM 又は ACPI の機能が有効化された場合、 システムは何もせずに電源を OFF にします。詳細は 大容量メモリおよび自動電源 OFF, 第 3.8.4 節 を ご覧ください。
ついに Debian システムを非特権ユーザアカウント penguin を使ってできるだけリスクを負わずに楽しむ準備ができました。 [10]
penguin にログインしましょう。まだ root シェルプロンプト にいるなら、Ctrl-D をタイプしましょう。 [11] こうして root シェルでの行動を止めるために root コマンドプロンプトから 出て、ログインプロンプトに戻ります。新しく作ったユーザ名 penguin と対応したパスワードを入力しましょう。 [12] するとこのようなコマンドプロンプトが表示されるでしょう。
penguin@foo:penguin$
ここから、単純化のために、シンプルにしたコマンドプロンプトの例を下に挙げます。
# : root シェルプロンプト
$ : 非特権ユーザシェルプロンプト
まず簡単な方法 Midnight Commander (MC), 第 4.2 節 を使って Debian システムを学び、後で 適切な方法 (Unix ライクな作業環境, 第 4.3 節) を用いて学ぶことにします。
Midnight Commander (MC) は Linux コンソールや他の端末環境のための GNU 製 "スイス軍ナイフ" です。初心者にメニュドリブンなコンソール経験を与え、 標準的な Unix コマンドを習うよりもより簡単です。
Debian システムを探検するためにこのコマンドを使いましょう。これは 学習するための最良の方法です。カーソルキーとエンターキーを使うだけで いくつかの主要な場所を探検してください。
/etc
とサブディレクトリ。
/var/log
とサブディレクトリ。
/usr/share/doc
とサブディレクトリ。
/sbin
と /bin
終了時に作業ディレクトリを MC に変更させるためには、~/.bashrc
(又は .bashrc
から呼ばれる /etc/bash.bashrc
)
をマニュアルページ mc(1)
の中の -P
オプションの所に記述されているように修正する必要があります。 [13]
$ mc
MC はメニュを通じて、最小限のユーザの苦労しか要求せずに全てのファイル操作を 注意深く行います。ヘルプ表示を出すには、ただ F1 を押すだけす。 カーソルキーとファンクションキーの操作だけで MC を楽しめます。 [14]
MC の標準ではファイルリストを含む 2 つのディレクトリパネルがあります。
他の役立つモードとして、右側のウィンドウにファイルアクセス権情報などを表示する
"information" をセットするモードがあります。
次にいくつかの不可欠なキーストロークを示します。gpm
デーモン
を起動させると、マウスも使えます。(MC でのカットアンドペーストの通常の
挙動を回復するためには、shift キーを押してください。)
F1: ヘルプメニュ
F3: 内部ファイルビューア
F4: 内部エディタ
F9: プルダウンメニュを有効にする
F10: Midnight Commander を終了する
Tab: 二つのウィンドウの間を移動する
Insert: コピーのような複数のファイル操作のため、ファイルにマークする
Del: ファイルの削除 (気をつけて — MC を安全削除モードに設定)
カーソルキー: 自明な動きをします
cd
コマンドは選択されたスクリーンに表示された
ディレクトリを変更します。
Ctrl-Enter 又は Alt-Enter はファイル名をコマンドラインにコピー
します。コマンドライン編集と一緒に cp
や mv
コマンドで御使用ください。
Alt-Tab はシェルファイル名の拡張子の選択肢を表示します。
MC への引数として、両ウィンドウが開くディレクトリの指定ができます。 例えば、mc /etc/ /root などです。
Esc + numberkey == Fn (すなわち、 Esc + `1' = F1,同様に; Esc + `0' = F10)
Esc キー == Alt キー (= Meta, M-); すなわち、 Esc + `c' は Alt-C と同じです。
MC の内部エディタは興味深いカットアンドペースト機構を持ちます。 F3 キーを押すと、選択範囲の開始としてマークし、次に F3 を押すと、 選択範囲の終了としてマークし、選択範囲を強調します。そして カーソルを動かすことができます。F6 を押すと、選択範囲はカーソルの位置 に移動します。F5 を押すと、選択範囲はコピーされ、カーソルの位置に 挿入されます。F2 を押すとファイルをセーブします。F10 を押すと選択範囲 はなくなります。ほとんどのカーソルキーは直感的に働きます。
このエディタはファイル上で直接起動できます。
$ mc -e filename_to_edit $ mcedit filename_to_edit
これはマルチモードエディタではありませんが、同じ効果を発揮させるため、 複数の Linux コンソール上で使用できます。ウィンドウ間のコピーを行うには、 Alt-Fn キーを押して仮想コンソールを切替えて、ファイルの一部を 他のファイルに動かすために "File->Insert file" や "File->Copy to file" を用います。
この内部エディタは他の外部エディタと置き換えが可能です。
また、多くのプログラムは使用するエディタを決定するために環境変数
EDITOR や VISUAL を使用します。 vim
が不快な場合、~/.bashrc
に 次に示す行を追加してエディタを
mcedit にセットします。
... export EDITOR=mcedit export VISUAL=mcedit ...
可能ならばこれらを vim にセットすることをお薦めします。
vim
コマンドに慣れることは正しいことです。なぜならば、 Vi
エディタは常に Linux/Unix 世界に存在するからです。 [15]
非常に小さなビューアです。文書内の単語を検索するための素晴らしいツールです。
/usr/share/doc
ディレクトリ内のファイルに対していつもこれを
使います。これは 大量の Linux 情報をブラウズするための最速の方法です。
このビューアはこのように直接起動できます。
$ mc -v filename_to_view
ファイルの上で Enter を押すと、適切なプログラムがファイルの内容を操作 します。これは非常に便利な MC の機能です。
実行ファイル:コマンドを実行 man, html ファイル:ビューアソフトに内容をパイプする tar.gz, deb ファイル: サブディレクトリであるかのように内容を表示
これらのビューアや仮想ファイルの機能を有効にするため、閲覧可能なファイルには
実行権が設定されていなくてはなりません。chmod
コマンドを使うか、
MC のファイルメニュ経由で状態を変更してください。
MC は FTP を用いた Internet 越しのファイルアクセスに使えます。 F9 を押してメニュに行き、`p' を押して FTP 仮想ファイルシステムを有効に します。username:passwd@hostname.domainname の形式で URL を 入力すると、それがローカルにあるかのようにリモートディレクトリを取得 します。
http.us.debian.org/debian を URL として試し、Debian ファイルアーカイブの 閲覧をしてみてください。Debian アーカイブがどのように構成されているか については Debian アーカイブ, 第 2.1 節 をご覧ください。
mc はほとんど全てのことを可能にしますが、シェルプロンプトから 実行されるコマンドラインツールの使用方法について学び、 Unix ライクな作業環境に親しむのは非常に重要なことです。 [16]
Unix ライクな環境では、特別な意味を持ついくつかのキーストロークがあります。 [17]
Ctrl-U: カーソルの前の行を削除する。
Ctrl-H: カーソルの前の文字を削除する。
Ctrl-D: 入力を終了する。(シェルを使用中の場合、シェルを終了する)
Ctrl-C: 起動中のプログラムを終了する。
Ctrl-Z: 一時的にプログラムを停止する。(バックグラウンドジョブに入れる。 command &, 第 4.3.10.1 節 参照)
Ctrl-S: スクリーンへの出力を止める [18]
Ctrl-Q: スクリーンへの出力を再び有効にする。
標準のシェルである bash
には対話的な利用を手助けする
履歴編集機能とタブ補完機能があります。
右矢印: コマンド履歴検索を開始。
Ctrl-R: インクリメンタルなコマンド履歴検索を開始。
TAB: コマンドラインに入力ファイルを補完。
Ctrl-V TAB: コマンドラインに拡張無しで TAB を入力。
覚えておく価値のある他の重要なキーストロークを挙げます。
Ctrl-Alt-Del: システムをリブート/停止する。最初のインストール後にさらにいくつかパッケージを インストールする, 第 3.8.1 節 参照。
マウスを左クリックしながらドラッグする:選択領域をクリップボードにコピー。
マウスの中ボタンを押す:カーソルの位置にクリップボードの中身をペースト。
メタキー (Emacs の専門用語) は伝統的に左側 Alt キーに割り当てられている。 あるシステムでは Window キーがメタキーに設定されている。
ここで、Linux キャラクタコンソール上でマウスを使うためには、gpm
をデーモンとして起動する必要があります。 [19] マウスの設定, 第 3.3
節 参照。
基本的な Unix コマンドを学びましょう。 [20] 非特権ユーザアカウント penguin から次に挙げる コマンドを全て試してみてください。
pwd
カレント/ワーキングディレクトリの名前を表示。
whoami
ユーザ名を表示。
file foo
ファイル foo のファイル形式を表示。
type -p commandname
commandname コマンドの場所を表示。
which commandname も同じ。 [21]
type commandname
commandname コマンドに関する情報を表示。
apropos key-word
key-word に関するコマンドを検索。
man -k key-word も同様。
whatis commandname
commandname コマンドの一行説明を表示。
man -a commandname
commandname コマンドの説明を表示。 (Unix スタイル)
info commandname
commandname コマンドのかなり長い説明を表示。 (GNU スタイル)
ls
ディレクトリの内容を表示 (非ドットファイルおよびディレクトリを表示) [22]
ls -a
ディレクトリの内容を表示。(全ファイルおよびディレクトリ)
ls -A
ディレクトリの内容を表示。(ほとんど全てのファイルとディレクトリを表示。
すなわり、"/..
と ".
" をのぞく。)
ls -la
詳細な情報を含むディレクトリの全内容を表示。Debian でのファイルシステムの概念, 第 4.5.2 節 参照。
ls -d
カレントディレクトリ下の全ディレクトリを表示。
lsof foo
ファイル foo のオープンされている状況を表示。
mkdir foo
カレントディレクトリに foo という新ディレクトリ を作成。
rmdir foo
カレントディレクトリにある foo ディレクトリを 削除。
cd foo
カレントディレクトリ又は変数 CDPATH にリストされた ディレクトリを
foo
ディレクトリに変更する。 builtins(7)
の cd
コマンドに関する 部分を参照。
cd /
root ディレクトリにディレクトリを変更。
cd
カレントユーザのホームディレクトリにディレクトリを変更。
cd /foo
ディレクトリを絶対パス指定でディレクトリ /foo
に変更。
cd ..
ディレクトリを親ディレクトリに変更。
cd ~foo
ディレクトリをユーザ foo のホームディレクトリ に変更。 foo.
cd -
ディレクトリを前いたディレクトリに変更。
</etc/motd pager
標準のページャを使って /etc/motd
の内容を表示。 command < foo, 第 4.3.10.9
節 参照。 [23]
touch junkfile
空の junkfile
ファイルを作成。
cp foo bar
既存のファイル foo
を新規ファイル
bar
にコピーする。
rm junkfile
ファイル junkfile
を削除する。
mv foo bar
既存のファイル foo
の名前を新しい名前
bar
に変更する。
mv foo bar/baz
既存のファイル foo
を新しい場所
bar
に移動させ、名前を baz
に変更する。ディレクトリ bar
が存在している必要があります。
chmod 600 foo
既存のファイル foo
を他の人に読み書きできなく する。
(全ての人が実行不可)
chmod 644 foo
既存のファイル foo
を他の人に読めるが、
書き込みができないようにする。(全ての人が実行不可)
chmod 755 foo
既存のファイル foo
を他の人に読めるが、
書き込みができないようにする。(全ての人が実行可能)
top
フルスクリーンを用いてプロセス情報を表示。"q" を押すと終了。
ps aux | pager
起動中の全プロセスの情報を BSD スタイルの出力を用いて表示。 command1 | command2, 第 4.3.10.2 節 参照。
ps -ef | pager
起動中の全プロセスの情報を System-V スタイルの出力を用いて表示。
ps aux | grep -e "[e]xim4*"
exim
又は exim4
を起動中の全プロセスを表示。
man grep をタイプして、grep(1)
マニュアルページから正規表現について学びましょう。 [24]
ps axf | pager
起動中の全プロセスの情報を ASCII アート出力を用いて表示。
kill 1234
プロセス ID 1234 により識別されるプロセスを殺す。 プロセスを殺す, 第 8.5.1 節 参照。
grep -e "pattern" *.html
カレントディレクトリにある .html で終わる全ファイルから "pattern" のパターンを検索し、該当する全ファイルを表示する。
gzip foo
Lempel-Ziv コーディング (L777) を用いて foo
を圧縮し、foo.gz
を作成する。
gunzip foo.gz
foo.gz
を解凍して foo
を作成する。
bzip2 foo
Burrows-Wheeler ブロックソートテキスト圧縮アルゴリズムとハフマン コーディング
(gzip
より高圧縮率) を用いて foo
を圧縮し、foo.bz2
を作成する。
bunzip2 foo.bz2
foo.bz2
を解凍して foo
を作成する。
tar -xvvf foo.tar
foo.tar
アーカイブからファイルを展開する。
tar -xvvzf foo.tar.gz
gzip 圧縮された foo.tar.gz
アーカイブから
ファイルを展開する。
tar -xvvf --bzip2 foo.tar.bz2
bzip2 圧縮された foo.tar.bz2
アーカイブから
ファイルを展開する。 [25]
tar -cvvf foo.tar bar/
フォルダ bar/
の内容を foo.tar
アーカイブにアーカイブする。
tar -cvvzf foo.tar.gz bar/
フォルダ bar/
の内容を
foo.tar.gz
アーカイブに圧縮アーカイブする
tar -cvvf --bzip2 foo.tar.bz2 bar/
フォルダ bar/
の内容を
foo.tar.bz2
アーカイブに圧縮アーカイブする
[26]
zcat README.gz | pager
標準のページャを用いて圧縮された README.gz
の 内容を表示する。
zcat README.gz > foo
README.gz
の内容を解凍してファイル foo
を作成する。
zcat README.gz >> foo
圧縮された README.gz
の内容をファイル foo
の
末尾に追加する。(foo
が存在しない場合、先頭に作成される。)
find . -name pattern
シェルを用いて pattern. にマッチするファイル名を 検索する。(低速)
locate -d . pattern
シェルを用いて pattern. にマッチするファイル名を 検索する。(定期的に作成されたデータベースを使うため高速)
訓練として、上記のコマンドを用いてディレクトリを横断し、システムの中を のぞきこんでみてください。コンソールのコマンドに関して質問がある場合は、 必ずマニュアルページを読んでみてください。例えば、これらのコマンドは 良い開始点でしょう。
$ man man $ man bash $ man ls
また、vim
を始め、F1 キーを押す良い時期でしょう。 少なくとも最初の
35 行を読むべきです。そしてカーソルを |tutor| まで動かし、Ctrl-]
を押してオンラインコースを受けましょう。 エディタについてより詳しく学ぶには、エディタ, 第 11 章 をご覧ください。
GNU や BSD 由来の多くの Unix コマンドは次のような手順 (又は ある場合には引数無し) を行えば主要なヘルプ情報を表示できます。
$ commandname --help $ commandname -h
自習のために、 Debian tips, 第 8 章 も例として試してみてください。
ついに Debian システムの使用方法を幾らか感じとれました。 Debian システムでのコマンド実行機構について深く見ていきましょう。 [27]
シンプルなコマンドは、次の順序となります。
変数の割り当て (任意)
コマンド名
引数 (任意)
リダイレクト (任意: >, >>, <, <<, など)
制御演算子 (任意: &&, ||, <newline>, ;, &, (, ))
引用や置換を持つより複雑なコマンドについては、コマンドライン処理, 第 13.2.6 節 参照。
典型的なコマンドの実行は次のようなシェル行シーケンスを使用します。 [28]
$ date Sun Oct 26 08:17:20 CET 2003 $ LC_ALL=fr_FR date dim oct 26 08:17:39 CET 2003
ここで、プログラム date
はフォアグランドジョブで実行されています。
環境変数 LC_ALL は次のようになっています。
最初のコマンドでは unset (システムの標準。C と同等)
次のコマンドでは fr_FR (フランス語ロケール) にセット。
ほとんどのコマンドの実行は通常前の環境変数の定義を使用しません。 上の例では、次のように実行することもできます。
$ LC_ALL=fr_FR $ date dim oct 26 08:17:39 CET 2003
ここで見たように、コマンドの出力は環境変数により影響され、フランス語の 出力が行われました。環境変数をサブプロセスに継承されるようにしたい (すなわち、シェルスクリプトを呼ぶ時) 場合は、代わりに次のように "export" する必要があります。
$ export LC_ALL
シェル上でコマンドをタイプした場合、シェルはコマンドを PATH 環境変数内にリストされたディレクトリのリストから検索します。PATH 環境変数の値は、シェルの検索パスとも呼ばれます。
標準の Debian インストールでは、ユーザアカウントの PATH 環境変数
には /sbin/
が含まれないかもしれません。それゆえ、
/sbin/
にある ifconfig
のようなコマンドを
実行したい場合は、PATH 環境変数を、このディレクトリを含むように
変更する必要があります。PATH 環境変数は通常初期化ファイル
~/.bash_profile
に含まれます。Bash 設定, 第 3.2 節 を ご覧ください。
いくつかのコマンドは引数を取ります。- 又は -- で始まる 引数はオプションと呼ばれ、コマンドの挙動を制御します。
$ date Mon Oct 27 23:02:09 CET 2003 $ date -R Mon, 27 Oct 2003 23:02:40 +0100
ここでコマンドライン引数 -R は date
コマンドが
RFC-2822 互換のデータ文字列を出力するように挙動を変更させます。
処理したいファイル名を全てタイプせずにファイルをコマンド処理したいことが よくあります。シェルの ワイルドカード を用いた ファイル名のパターン展開はこのニーズを促進します。
*
空列を含む任意の文字列にマッチする。
これは "." で始まるファイル名にはマッチしません。
?
任意の 1 文字にマッチする。
[...]
括弧中の 1 文字にマッチする。
[a-z]
a と z の範囲にある文字とマッチする。
[^...]
括弧内 ("^" 以外) に含まれる文字以外の文字にマッチ。
例えば、次の例を試してみて、自分で考えてみましょう。
$ mkdir junk; cd junk; touch 1.txt 2.txt 3.c 4.h .5.txt $ echo *.txt 1.txt 2.txt $ echo * 1.txt 2.txt 3.c 4.h $ echo *.[hc] 3.c 4.h $ echo .* . .. .5.txt $ echo .[^.]* .5.txt $ echo [^1-3]* 4.h $ cd ..; rm -rf junk
コマンドは戻り値として終了ステータスを返します。
コマンドが正常に終了した場合、戻り値は 0。
コマンドがエラーで終了した場合、戻り値は非 0。
この戻り値は実行後すぐに $? シェル変数によりアクセス できます。
$ [ 1 = 1 ] ; echo $? 0 $ [ 1 = 2 ] ; echo $? 1
戻り値はシェルのために論理的な観点で使用される場合、成功 は論理的に 真 として扱われることに注意してください。 これは 正常終了 は ゼロ の値を持つため、 いくらか非直感的です。
シェルの条件文, 第 13.2.5 節 をご覧ください。
次に挙げるシェルコマンドのイディオムを覚えてみましょう。 これらのイディオムを読んだ後に、シェルパラメータ, 第 13.2.3 節, シェルリダイレクト, 第 13.2.4 節, シェルの条件文, 第 13.2.5 節, そして コマンドライン処理, 第 13.2.6 節 をご覧ください。
command
は バックグラウンド で
サブシェルにて実行されます。バックグラウンドジョブにより、
複数のプログラムを単独のシェルで実行することが可能となります。
バックグラウンドプロセスの管理は次に挙げるシェル組込みコマンドに関連します。
jobs
, fg
, bg
, および kill
。
bash(1)
マニュアルページの "SIGNALS"、 "JOB
CONTROLS" および "SHELL BUILTIN COMMANDS" の章を
読んでみてください。 [29]
command1
の標準出力は command2
の標準入力
に導かれます。両方のコマンドは 同時に動くかも
しれません。これは パイプライン と呼ばれます。
command1
と command2
は 連続して
実行されます。
command1
がまず実行されます。コマンドの実行が
正常終了した場合は、command2
も 連続して
実行されます。command1
と command2
の
両方 が正常終了した場合に正常終了を返します。
command1
がまず実行されます。失敗した場合、 command2
も 連続して 実行されます。 command1
又は command2
のどちらかが正常終了した場合に正常終了を返します。
command
の標準出力をファイル foo
にリダイレクト (上書き) します。
command
の標準出力をファイル foo
にリダイレクト (追記) します。
command
の標準出力と標準エラー出力の両方をファイル
foo にリダイレクトします。
command
の標準入力をファイル foo に
リダイレクトします。試してみましょう。
$ </etc/motd pager ... (グリーティングメッセージを表示) $ pager </etc/motd ... (グリーティングメッセージを表示) $ pager /etc/motd ... (グリーティングメッセージを表示) $ cat /etc/motd | pager ... (グリーティングメッセージを表示)
この 4 つの構文は同じ出力を表示しますが、最後の例は特別な cat
コマンドを起動し、無駄なリソースを消費しています。
良く使うコマンドにエイリアスを設定できます。例えば、
$ alias la='ls -la'
ここで、la
は 1 列形式で全ファイルをリストする ls -la
の短縮形として働きます。
type
コマンドを使って、正確なパス又はコマンドの正体を
識別できます。例えば、
$ type ls ls is hashed /bin/ls) $ type la la is aliased to `ls -la' $ type echo echo is a shell builtin $ type file file is /usr/bin/file
ここで ls
は最近検索されましたが、file
はそうではないので、ls
は "ハッシュされた" といいます。
すなわち、シェルは ls
コマンドの場所への高速なアクセス
のために、内部記録を取っています。
頻繁に Unix ライクシステムで使用される標準的なテキスト処理ツールが いくつかあります。
正規表現未使用ツール。
head
はファイルの先頭部分を出力します。
tail
はファイルの末尾の部分を出力します。
sort
はテキストファイルの行をソートします。
uniq
はソートされたファイルの重複行を削除します。
tr
は文字を変換したり削除します。
diff
は 1 行ごとにファイルを比較します。
基本的な正規表現 (BRE) を使用するツール。
grep
はテキストにパターンをマッチさせます。
ed
は原始的なラインエディタです。
sed
はストリームエディタです。
vi
はスクリーンエディタです。
emacs
はスクリーンエディタです。
拡張正規表現 (ERE) を使用するツール。
egrep
はテキストにパターンをマッチさせます。
awk
はシンプルなテキスト処理を行います。Awk, 第 13.3 節 参照。
perl
は考えられる全てのテキスト処理を行います。 Perl, 第 13.4 節 参照。
いくつかのスクリプト例は 正規表現による置換, 第 8.6.13 節, コマンドをパイプするためのわずかなスクリプト, 第 8.6.18 節, そして Perl ショートスクリプトの狂気, 第 8.6.20 節 をご覧ください。
正規表現は多くのテキスト処理ツールで使われています。シェルのワイルドカード (シェルのワイルドカード, 第 4.3.8 節 参照) に似ていますが、より複雑かつパワフルです。
正規表現はパターンマッチを記述し、テキスト文字と メタ文字 からなります。メタ文字は単なる特別な意味を持つ文字です。BRE と ERE の 2つの主要な形式がありますが、どちらを使うかは Unix ライクなテキスト処理, 第 4.4 節 に記述されているテキストツールの種類に依ります。
ERE の場合、メタ文字 には "\ . [ ] ^ $ * + ? ( ) { } |" が含まれます。 正規表現は次の意味を持ちます。
c
非メタ文字の "c" にマッチ。
\c
文字通り "c" にマッチ。
.
空白を含む全文字にマッチ。
^
文字列の先頭にマッチ。
$
文字列の末尾にマッチ。
\<
単語の先頭にマッチ。
\>
単語の末尾にマッチ。
[abc...]
"abc..." のいずれかの文字にマッチ。
[^abc...]
"abc..." 以外のいずれかの文字にマッチ。
r*
"r" で認識される 0 回を含む正規表現の繰り返しにマッチ。
r+
"r" で認識される 1 回以上の正規表現の繰り返しにマッチ。
r?
"r" で認識される 0 回を含む正規表現の繰り返しにマッチ。
r1|r2
"r1" 又は "r2" で認識される正規表現のいずれか にマッチ。
(r1|r2)
"r1" 又は "r2" で認識される正規表現のいずれか にマッチし、ひとまとめの 正規表現として扱われます。
BRE では、メタ文字 "+ ? ( ) { } |"
はその特別な意味を失っています。その代わり、バックスラッシュされた
"\+ \? \( \) \{ \} \|" を使います。それゆえ、grouping
construct (r1|r2) は BRE では \(r1|r2\) の
ように引用符で囲む必要があります。emacs
は、基本的に BRE
を使いますが、"+ ?" を メタ文字 として
扱います。それゆえ、引用符で囲む必要はありません。grouping construct
がどのように使われるかについては 置換表現, 第 4.4.2
節 をご覧ください。
例えば、grep
は正規表現を用いてテキスト検索を行うために使えます。
$ egrep 'GNU.*LICENSE|Yoyodyne' /usr/share/common-licenses/GPL GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE Yoyodyne, Inc., hereby disclaims all copyright interest in the program
置換表現の場合、次の文字には特別な意味があります。
&
正規表現がマッチするものを示す。(emacs
では \&
を使用)
\n
n 番目に 括弧で囲まれた 正規表現に マッチするものを示す。
Perl の置換文字列の場合、$n は \n の代わりに用いられ、& は 特別な意味を持ちません。
例を示します。
$ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/=&=/' zzz=1abc2efg3hij4= $ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/\2===\1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/$2===$1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/=&=/' zzz=&=
ここで、括弧で囲まれた 正規表現と、マッチした文字列が 異なったツールでテキスト置換処理にどのように使われるかに特別な注意を 払ってください。
これらの正規表現はエディタ内でカーソルの動きとテキスト置換アクションの両方 に対して使えます。
これらのコマンドを習うために、関連するマニュアルページを全て読んでください。
GNU/Linux や他の Unix ライク OS システムでは、ファイル は
ディレクトリ に組織化されています。 [30] 全ての
ファイル と ディレクトリ は /
を根とする 1 つの大きなツリー、すなわちファイル階層に配置 されています。
これらのファイルは複数のデバイスに展開することができます。
mount(8)
コマンドは
あるデバイス上にあるファイルシステムを大きなファイルツリーに所属させます。
逆に、umount(8)
コマンドは再び分離させます。
次に挙げることは基礎知識です。
ファイル名は大文字と小文字を区別します。すなわち、 MYFILE
と
MyFile
は 異なる ファイルです。
root ディレクトリは単に /
として参照されます。 root ユーザとこの
"root" を混同しないでください。root
としてシェルにログインする, 第 4.1.1 節 参照。
全てのディレクトリ名には /
を除く全ての
文字と記号を使用できます。 [31]
root ディレクトリは例外です。名前は /
("スラッシュ" や
"root ディレクトリ" と呼ぶ) であり、変えられません。
各ファイルおよびディレクトリは 完全に記述したファイル名
、絶対ファイル名 や パス により
指定され、たどっていくとファイルに到達するディレクトリの列を与えます。 この 3
つの用語は同意語です。全ての絶対ファイル名は /
ディレクトリで始まり、ファイル名内のディレクトリやファイルの間には
/
がはさまります。最初の /
はディレクトリ名
ですが、その他はファイル名の部分部分を区別するための単なるセパレータです。
ここで使われる単語は混乱を招きます。次の例をご覧ください。
/usr/share/keytables/us.map.gz
これは完全に記述されたファイル名です。ある人はこれを パス
と呼びますが、us.map.gz
だけをファイル名として呼ぶ人もいます。 [32]
root ファイルシステムは /etc/
や /usr/
のような複数の枝を持ちます。これらのサブディレクトリもまた
/etc/init.d/
や /usr/local/
のように、さらに
サブディレクトリに枝別れします。これらの全体をまとめて
ディレクトリツリー と呼びます。
絶対ファイル名はツリーの根元 (/
) から枝の先 (ファイル)
までの経路として考えることもできます。また、あたかもディレクトリツリーを
家系図 のように人が話すのを聞いたことがあるでしょう。
あたかもそれぞれのサブディレクトリに 親 があるとし、
パスはファイルの完全な祖先の系図のように表現します。
root ディレクトリではない他の場所から始まる相対パスもあります。
../
は親ディレクトリを参照していることを覚えておきましょう。
ハードディスクのような物理デバイスに対応したディレクトリは存在しません。 ここが 全てのパスが C: のようなデバイス名から始まる CP/M、DOS、そして Windows と違う点です。Debian でのファイルシステムの概念, 第 4.5.2 節 をご覧ください。
ファイル階層について詳細に学ぶ最も良い方法は、 Filesystem Hierarchy
Standard
に記述されています。 手始めとして次の事実を覚えるべきです。
/
単なる /
は root ディレクトリを表す。
/etc/
ここはシステム全体の設定ファイルを置く場所です。
/var/log/
ここはシステムのログファイルを置く場所です。
/home/
ここは全ての非特権ユーザのホームディレクトリがあるディレクトリです。
Unix の伝統に従い、Debian システムはハードディスクや他のストレージデバイス 上の物理データ、そしてコンソールスクリーンなどのハードウェアデバイス とリモートのシリアルコンソールとの相互作用を統一された形式で表される ファイルシステムを供給します。
Debian での各ファイル、ディレクトリ、名前付きパイプ、そして物理データ
はそのデータの所有者 (owner)、データが所属するグループ、最後にアクセスされた
時間などの付随する属性を記述する inode と呼ばれる
データ構造を持ちます。 Debian GNU/Linux システムでの inode 構造
の正確な定義を知るには、 /usr/include/linux/fs.h
をご覧ください。
物理エントリの統一された表現は非常にパワフルなので、完全に異なるデバイスに 同種の操作を行うために、同じコマンドを使用することを可能とします。
すべてのファイルは 1 つのディスク上に置けますし、20 個のディスクに分けることも、 ネットワーク上のどこかにある違うコンピュータにあって接続することもできます。 ファイルの物理的位置がどこであれ、 ディレクトリツリーを見るだけでは見分けがつきませんし、 またほとんど全てのコマンドは同じように動きます。
ファイルとディレクトリのアクセス権はそれぞれ次に挙げる 3つの 影響されるユーザのカテゴリのために定義されています。
ファイルを所有する ユーザ (u)。
ファイルが所属する グループ のユーザ (g)。そして
全ての 他の ユーザ (o)。
ファイルでは、それぞれに対応する権限は次のようになります。
読み込み (r): ファイルの内容を検査する権限。
書き込み (w): ファイルの修正を行う権限。 そして
実行 (x): ファイルをコマンドとして実行する権限。
ディレクトリでは、対応する権限はそれぞれ次のようになります。
読み込み (r): ディレクトリの内容をリストする権限。
書き込み (w): ディレクトリにファイルを追加したり削除する権限。そして
実行 (x): ディレクトリ内のファイルにアクセスする権限。
ここで、ディレクトリでの 実行 権はディレクトリにあるファイルの 読み込みを許可するだけでなく、サイズや修正時間などの属性を見ることも許可します。
ファイルやディレクトリのアクセス権情報 (やそれ以上) を表示するには、
ls
が使われます。ls(1)
をご覧ください。
ls
を -l オプション付きで実行すると、次の情報が
この順序で表示されます。
ファイルタイプ (先頭文字)
-: 通常のファイル
d: ディレクトリ
l: シンボリックリンク
c: キャラクタデバイス node
b: ブロックデバイス node
p: 名前付きパイプ
s: ソケット
ファイルの アクセス権 (次の 9文字。ユーザ、グループ、 そして他者それぞれに対して 3つの文字から構成)
そのファイルへの ハードリンク数
ファイルを所有する ユーザ の名前
ファイルが所属する グループ の名前
ファイルのバイト単位での サイズ
ファイルの タイムスタンプ (mtime)
ファイルの 名前
ファイルの所有者を変更するには、root アカウントから chown
を
使用します。ファイルのグループを変更するには、ファイルの所有者又は root
アカウントから chgrp
を使用します。ファイルやディレクトリの
アクセス権を変更するには、ファイルの所有者又は root アカウントから
chmod
を使います。foo
ファイルの操作を行う
基本的な文法は次の通り。
# chown newowner foo # chgrp newgroup foo # chmod [ugoa][+-=][rwx][,...] foo
詳細は chown(1)
, chgrp(1)
, および
chmod(1)
をご覧ください。
例えば、ディレクトリツリーの所有者をユーザ foo に変更し、 グループ bar で共有する場合、root アカウントから次のコマンドを 実行します。
# cd /some/location/ # chown -R foo:bar . # chmod -R ug+rwX,o=rX .
3つのさらに専門的なアクセス権ビットが存在します。
setuid ビット (ユーザの x の代わりに s 又は S)
setgid ビット (グループの x の代わりに s 又は S)
sticky ビット (他者の x の代わりに t 又は T)
ここで ls -l
のこれらのビットを表す出力は、これらのビットが出力
されることにより隠される実行ビットがセットされていない場合、大文字になります。
setuid ビット を実行ファイルにセットすると、ユーザは ファイルの所有者 ID (例えば、root) により実行ファイルを 実行することを許可します。同様に、 setgid ビット を実行ファイルにセットすると、ユーザは ファイルのグループ ID (例えば、root) により実行ファイルを 実行することを許可します。これらの設定はセキュリティを破るリスクを引き起こす ので、これらのビットを有効にするには特別な注意が必要です。
setgid ビット をディレクトリに対して有効にすると、 ディレクトリに作成した全ファイルがディレクトリの グループ に所属するという BSD ライクなファイル生成手法が有効になります。
sticky ビット をディレクトリに対して有効にすると、
ディレクトリにあるファイルがファイルの所有者以外から削除されるのを防ぎます。
/tmp
やグループの書き込み可能なディレクトリなどの world-writable
なディレクトリにあるファイルの内容を安全にするためには、
書き込み 権を無効にするだけでなく、 ディレクトリに
sticky ビット もセットする必要があります。
さもなければ、ディレクトリに書き込みできるユーザにより、ファイルが削除され、
同じ名前で新しいファイルが作成されることを許してしまいます。
次にファイルアクセス権の興味深い例を挙げます。
$ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd crw-rw---- 1 root dip 108, 0 Jan 18 13:32 /dev/ppp -rw-r--r-- 1 root root 1051 Jan 26 08:29 /etc/passwd -rw-r----- 1 root shadow 746 Jan 26 08:29 /etc/shadow -rwsr-xr-- 1 root dip 234504 Nov 24 03:58 /usr/sbin/pppd $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src drwxrwxrwt 4 root root 4096 Feb 9 16:35 /tmp drwxrwsr-x 10 root staff 4096 Jan 18 13:31 /usr/local drwxrwsr-x 3 root src 4096 Jan 19 08:36 /usr/src drwxrwsr-x 2 root mail 4096 Feb 2 22:19 /var/mail drwxrwxrwt 3 root root 4096 Jan 25 02:48 /var/tmp
chmod(1)
コマンドを用いて、ファイルアクセス権を
記述するためのもう一つの数字モードが存在します。この数字モードは 8進数 を使った
4桁の数字を用います。各桁は次のように対応します。
最初の任意桁:: setuid (=4)、 setgid (=2)、 sticky ビット (=1) の合計。
2 番目の桁: 所有者に対する 読み込み (=4)、 書き込み (=2)、 実行 (=1) 権の合計。
3 番目の桁: グループ に対する同様の合計。
4 番目の桁: 他者 に対する同様の合計。
これは複雑に聞こえるかもしれませんが、実際は本当にシンプルです。 ls -l コマンドの出力の最初の数行を見て、それをファイルアクセス権の バイナリ (2進数) 表現 ("-" を "0"、 "rwx" を "1) として読むと、 この数字モードの値はファイルアクセス権の 8 進数表現として意味を持ちます。 [33] 例えば、次を試してみてください。
$ touch foo bar $ chmod u=rw,go=r foo $ chmod 644 bar $ ls -l foo bar -rw-r--r-- 1 penguin penguin 0 Nov 3 23:30 foo -rw-r--r-- 1 penguin penguin 0 Nov 3 23:30 bar
標準のファイルアクセス権マスクは umask
シェル組込み
コマンドを使うことによりセットできます。builtins(7)
をご覧ください。
GNU/Linux のファイルには、3 種類のタイプスタンプが存在します。
mtime: 修正時刻 (ls -l)
ctime: ステータス変更時刻 (ls -lc)
atime: 最後にアクセスした時刻 (ls -lu)
ctime が作成時刻ではないことに注意してください。
ファイルを上書きすると、そのファイルの mtime、 ctime、atime の全てが変更されます。
ファイルのアクセス権や所有者を変更すると、ctime、 atime が変更されます。
ファイルを読み込むと、そのファイルの atime が 変更されます。
Debian システム上では、ファイルをただ読み込むだけで通常ファイルの書き込み操作
が発生し、inode の atime 情報が更新される
ことに注意してください。ファイルシステムを noatime
オプション付きで
マウントすると、システムはこの操作を飛ばし、ファイル読み込みアクセスが
より高速になります。mount(8)
をご覧ください。
既存のファイルのタイムスタンプを変更するには、touch(1)
をご覧ください。
異なるファイル bar とファイル foo を連携させる 2つの方法があります。
ハードリンク は既存のファイルに対する重複した名前です。 (ln foo bar)
シンボリックリンク 又は "symlink" は他のファイルを 名前により指示する特別なファイルです。 (ln -s foo bar)
リンク数の変更と rm
コマンドの結果の厳密な違いについての次の例
をご覧ください。
$ echo "Original Content" > foo $ ls -l foo -rw-r--r-- 1 osamu osamu 4 Feb 9 22:26 foo $ ln foo bar # hard link $ ln -s foo baz # symlink $ ls -l foo bar baz -rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 bar lrwxrwxrwx 1 osamu osamu 3 Feb 9 22:28 baz -> foo -rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 foo $ rm foo $ echo "New Content" > foo $ cat bar Original Content $ cat baz New Content
シンボリックリンクは上の例に示したように、常にファイルアクセス権 "rwxrwxrwx" を持ちますので、シンボリックリンクが指すファイルのアクセス権により指示される ファイルアクセス権が実際の効果を持ちます。
.
ディレクトリは、
それ自身が中にあるディレクトリとリンクしていますので、
新しいディレクトリリンク数は 2 から始まります。..
ディレクトリ
は親ディレクトリとリンクしているので、ディレクトリのリンク数は
新しいサブディレクトリの増加に伴い増加します。
名前付きパイプは、パイプのように働くファイルです。何かをファイルに 入れ、もう一方から出ます。こうしてこれは FIFO 又は First-In-First-Out と呼ばれます。つまり、最初にパイプに入れるものが最初にもう一方から出てきます。
名前付きパイプに書き込んだ場合、パイプに書き込んだプロセスは情報が パイプから読み込まれるまで終了しません。名前付きパイプを読み込んだ場合、 読み込んだプロセスは何か読み込むものが存在するまで終了するのを待ちます。 パイプのサイズは常に 0 です。 -- 名前付きパイプはデータを保存せず、 シェルの | のように 2 つのプロセスをリンクするだけです。 しかし、このパイプは名前を持つので、2 つのプロセスは同じコマンドライン にあったり、同じユーザにより実行される必要さえありません。
次を実行することにより、名前つきパイプを試せます。
$ cd; mkfifo mypipe $ echo "hello" >mypipe & # バックグラウンドに入れる [1] 5952 $ ls -l mypipe prw-r--r-- 1 penguin penguin 0 2003-11-06 23:18 mypipe $ cat mypipe hello [1]+ Done echo hello >mypipe $ ls mypipe prw-r--r-- 1 penguin penguin 0 2003-11-06 23:20 mypipe $ rm mypipe
ソケットは名前つきパイプ (FIFO) に似ており、プロセス間の情報交換を 行えます。ソケットにとって、これらのプロセスは同時に実行する必要 はありませんし、同じ祖先プロセスの子供である必要もありません。 これはプロセス間通信の終端点です。情報の交換は異なるホストの間の ネットワーク越しでさえ発生します。
デバイスファイルは、システム上のハードディスク、ビデオカード、ディスプレイ、 キーボードなどの物理デバイス又は仮想デバイスに関連します。仮想デバイスの 例として、/dev/console として表されるコンソールがあります。
デバイスには 2つのタイプがあります。
キャラクタデバイス
一度に 1 つの文字にアクセス、すなわち、デバイスから書き込みや読み込みを 行うデータの最小単位が文字 (バイト) であるデバイスです。
ブロックデバイス
ブロックと呼ばれる、多量の文字を含むより大きな単位でアクセスされる デバイスです。ハードディスクはブロックデバイスです。
デバイスファイルの読み書きが可能ですが、ファイルには、人間にとっては
ちんぷんかんぷんで理解できないバイナリデータが多分含まれます。
データを直接デバイスファイルに書き込むことは時々ハードウェアの
接続に関するトラブルシュートに役立ちます。例えば、 プリンタデバイス
/dev/lp0
にテキストデータをダンプしたり、 適切なシリアルポート
/dev/ttyS0
にモデムコマンドを送る
ことができます。しかし、注意深くやらないと、大災害をもたらすことがあります。
ですから気をつけてください。
/dev/null
など
/dev/null
は書き込む全てを捨てる特別なデバイスファイルです。
何かをしたくない場合、それを /dev/null
に投げ込みます。
これは基本的に底無し穴です。/dev/null
を読み込むと、 ファイル終端
(EOF) 文字がすぐさま得られます。
/dev/zero
は同様に、ここから読み込むと、\0 文字
を取得します。(ASCII コードの 0 とは異なる) ダミーファイル, 第 8.6.34 節 を
ご覧ください。
デバイスノード数は ls
を次のように実行すると表示されます。
$ ls -l /dev/hda /dev/ttyS0 /dev/zero brw-rw---- 1 root disk 3, 0 Mar 14 2002 /dev/hda crw-rw---- 1 root dialout 4, 64 Nov 15 09:51 /dev/ttyS0 crw-rw-rw- 1 root root 1, 5 Aug 31 03:03 /dev/zero
ここで、
/dev/hda
はmajor device number 3 と minor device number 0
を持ちます。これは disk グループに所属するユーザにより、読み書き
が可能です。
/dev/ttyS0
は major device number 4 と minor device number 64
を持ちます。これは dialout グループに所属するユーザにより読み書き
が可能です。
/dev/zero
は major device number 1 と minor device number 5
を持ちます。これはだれでも読み書き可能です。
古いシステムでは、インストール過程で /sbin/MAKEDEV
コマンド
を使ってデバイスノードを作成します。 MAKEDEV(8)
をご覧ください。
新しいシステムでは、/dev
下のファイルシステムは /proc
ファイルシステムと同様のデバイスファイルシステムにより 自動的に生成されます。
/proc
ファイルシステム
/proc
ファイルシステムは仮想ファイルシステムであり、
システムや起動中のプロセスに関する情報を含みます。
特にあるファイル - /proc/kcore
に気づくと、パニックになる人が
良くいます。これは一般に巨大です。これは (おおよそ) コンピュータのメモリ
の内容のコピーです。これは kernel をデバッグするのに用いられます。
実際にはどこにも存在しないので、そのサイズに関して心配する必要は
全くありません。
proc filesystem により Linux kernel
をチューニングする, 第 7.2 節 と proc(5)
をご覧ください。
X, 第 9.4 節 をご覧ください。
X Window System は xdm
のようなグラフィカルなログイン
デーモンにより自動的に起動できますし、コンソールから次をタイプしても
起動できます。
$ exec startx
X 環境は多くのウィンドウマネージャを提供するので、ユーザインターフェース はかなり変化します。root ウィンドウを右クリックするとメニュインターフェース が上がって来ます。これはいつも使えます。
シェルコマンドプロンプトを得るには、メニュから Xterm を起動します。
"XShells" --> "XTerm".
web ページのグラフィカルなブラウズを行うには、メニュから Mozilla を起動 します。
"Apps" --> "Net" --> "Mozilla Navigator".
PDF ファイルのグラフィカルなブラウズを行うには、メニュから Xpdf を 起動します。
"Apps" --> "Viewers" --> "Xpdf".
メニュエントリが見付からない場合、関連するパッケージをインストールしてください。Debian パッケージ管理の基礎, 第 6.2 節 をご覧ください。
X Window System を起動中に覚えておくべき重要なキーストローク を次に挙げます。
Ctrl-Alt-F1 から F6: 他の仮想端末に切替える (X window、DOSEMU などから)
Alt-F7: X window に戻る
Ctrl-Alt-minus: 画面の解像度を変更 (マイナスは数字キーパッド にあるキー)
Ctrl-Alt-plus: 画面の解像度を逆向きに変更 (プラスは数字 キーパッドにあるキー)
Ctrl-Alt-Backspace: X サーバプログラムを終了
Alt-X, Alt-C, Alt-V: 良く使う Window/Mac のカット、コピー、ペーストキー の組合せで使う Ctrl- キーはこれらの Alt- キーで Netscape Composer のような いくつかのプログラムでは置き換えられる。
現時点では、The Linux
Documentation Project: Guides
から引用する主要なガイドブックを読むことをお薦めします。
"The Linux System Administrators' Guide",
システムの起動、ユーザアカウント、バックアップ、システム設定を 維持する見地を全てカバーしている。
パッケージ: sysadmin-guide
"The Linux Network Administrator's Guide, Second Edition",
Linux 環境でのネットワーク管理のためのただ一つのリファレンスです。
パッケージ: (not available)
ファイル: (not applicable)
Linux: Rute Userの入門解説書
GNU/Linuxシステム管理に関する非常に良い オンラインとハードカバー本
著者: Paul Sheer
出版社: Prentice Hall
パッケージ: rutebook
(from non-free)
ファイル: /usr/share/doc/rutebook/
さらに学ぶためのリソースは Debian のサポート, 第 15 章 をご覧ください。
[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]
Debian リファレンス
CVS, 2007年 1月 18日 木曜日 11時54分01秒 UTC時間osamu#at#debian.org
tsuno#at#ngy.1st.ne.jp