uX01.Linuxの基本

uX01.Linuxの基本

以下画面のスクリーンショット部分を自身のマシンで実行してください。
guestのままやって大丈夫です(sudo -s しなくて大丈夫です)。
rootになっている人は exit を打ってguestに戻ってください。

最後にhistoyコマンドを打って出力結果を提出です!!

1.Linuxシェル構造



● シェル(Shell)とは

・コマンドライン・インタプリタと呼ばれる、入力されたコマンドを順次実行するソフトウエア。

・ユーザが指定したコマンドをカーネルに実行してもらい、結果をユーザに返す機能を実装している。

・ユーザとLinuxカーネルを橋渡しするソフトウエア。

・コマンドラインシェルもあればグラフィカルシェルもある。

・CentOSではコマンドラインシェルとしてbash(Bourne Again SHell)が使われる。
(bashは現状Linuxの標準シェルとなっている)

・シェルはログイン認証が通れば起動される。

・起動するシェルの確認は cat /etc/passwd のエントリの行末


● コマンドプロンプトとカーソル

[ictu1600@centos7t ~ ]$■
↑          ↑
プロンプト      カーソル
[ユーザ名@ホスト名:カレントディレクトリ]$:一般ユーザ
                     #:管理者(root)

※Ctrl+s ターミナルはロックできる 解除はCtrl+q


● コマンドの書式

$ コマンド名 [-オプション] [引数(ファイル名等)]



● コマンドラインテキストの補完機能

コマンドの履歴機能

↑キー     コマンド履歴を一つずつ前に戻って表示

↓キー     コマンド履歴を一つずつ新しい履歴に進んで表示


$ history  コマンド履歴に格納されているコマンド一覧の確認

$ !ヒストリ番号  指定したヒストリ番号のコマンドを実行




!!     直前のコマンドを再実行




● ディレクトリを表すメタキャラクタ

~     ホームディレクトリ(チルダ

..    一つ上のディレクトリ(ドットドット)

.     カレントディレクトリ(ドット)





2.Linuxの主要なディレクトリ構造
LinuxシステムはFHSFilesystem Hierarchy Standard)と呼ばれる規格に基づいてディレクトリの構成が決められています。
ファイルは必ずディレクトリに入れられているので、必ず/から始まる記述が可能です。
Linuxのディレクトリ構成には緩やかな決まりがあります。

●Linuxの主要なディレクトリ

/     ルートディレクトリ -------------------+-----boot                              Linux起動時に必要なファイルを保存
                                                                |
                                                                +-----root                          rootユーザのホームディレクトリ
                                                                |
                                                                +-----home ----+  user1    user1ホームディレクトリ
                                                                |                       |        (ログイン直後のカレントディレクトリ)
                                                                |                       +  user2     user2のホームディレクトリ
                                                                |                       |        (ログイン直後のカレントディレクトリ)
                                                                |                        .................
                                                                +-----etc                             Linuxの設定ファイルを保存
                                                                |
                                                                +-----bin                                 システムのメンテナンスに必要な最低限のコマンド群
                                                                |
                                                                +-----sbin                           おもにシステム管理者が使うメンテナンス用コマンド群
                                                                |
                                                                +-----user -----+  bin             その他各種プログラムなどのコマンド群
                                                                |                       |
                                                                |                       +  sbin       その他管理者用のコマンド群
                                                                |
                                                                +-----dev                            デバイスファイル
                                                                |
                                                                |
                                                                +-----lib                              共有ライブラリファイル
                                                                |
                                                                |
                                                                +-----var                         可変的なデータ(ログ・データベース・Webサイト等)
                                                                |
                                                                +-----tmp                          各種アプリケーションの一時ファイルで定期的に削除される
                                                                |         
                                                                .....................

3.ファイルとディレクトリの操作
さて、いよいよファイル操作です。最低限知っておかなければならないファイル操作コマンドとして、次の8つを取り上げます。
  • ディレクトリ内にあるファイルの確認(ls)
  • カレントディレクトリの確認(pwd)    ・カレントディレクトリの変更(cd)
  • ファイルの作成(touch)         ・ディレクトリの作成(mkdir)
  • ファイルのコピー(cp)                  ・ファイルの移動(mv)
  • ファイルの削除(rm)
各コマンドの書式を見ていきましょう。
●ディレクトリ内にあるファイルの確認
$ ls [-al] [パス]
lsコマンドはディレクトリ内にあるファイルを確認するコマンドです。lsとだけ入力しコマンドを実行すると、カレントディレクトリの中のファイル を確認することができます。カレントディレクトリ以外のディレクトリの中を確認する場合はlsコマンドの後にディレクトリ名を指定します。
lsコマンドはファイル名のみを一覧表示しますが、-l(スモールL)オプションを指定すると更新日、サイズなどの情報も表示されます。
また、-aオプションを指定すると隠しファイル(ファイル名の先頭に.が付くファイル)も表示することができます。

●ファイルの作成
$ touch ファイル名
touchコマンドはファイルを作成するコマンドです。作成されたファイルには中身はありません。エディタなどを使ってファイルを作成することもできますが、特に編集の必要がなく、とにかくファイルさえあれば良いという状況ではこのコマンドを使う方が手っ取り早いでしょう。

●ディレクトリの作成
$ mkdir ディレクトリ名
mkdirコマンドはディレクトリを作成するコマンドです。mkdirコマンドの後に、新規に作成するディレクトリ名を指定します。存在するディレクトリと同名のディレクトリは作成できません。
mkdirコマンドは、カレントディレクトリの1つ下の階層として、指定されたディレクトリを作成します。
コマンドラインからpwdと入力するとカレントディレクトリが表示されます。

●カレントディレクトリの確認

$ pwd
pwdコマンドはカレントディレクトリを確認するコマンドです。現在のディレクトリがファイルシステムのどの位置にあるのか絶対パスで表示されます。

●カレントディレクトリの変更
$ cd ディレクトリ名
$ cd ..
cdコマンドはカレントディレクトリを変更するコマンドです。cdコマンドの後に、変更先のディレクトリ名を指定します。存在しないディレクトリを指定することはできません。
ディレクトリは階層構造で管理されています。cdコマンドを使ってひとつ上の階層に移動する場合は少し特殊な指定をします。
具体的にはcdコマンド の後に「..(ドット2つ)」を指定します。この「..」はひとつ上の階層のディレクトリを表す記述です。
また、「.(ドット1つ)」でカレントディレク トリそのものを表します。この2つの表記法は便利ですので覚えておくと良いでしょう。

●ファイルのコピー
$ cp コピー元ファイル名 コピー先ファイル名
cpコマンドはファイルのコピーを行うコマンドです。cpコマンドの後にコピー元、コピー先の順でファイル名を指定します。コピー元は存在するファイルでなければなりません。コピー先に指定したファイルが存在する場合、そのファイルは上書きされます。

●ファイルの移動
$ mv 移動元ファイル名 移動先ファイル名
mvコマンドはファイルの移動を行うコマンドです。cpコマンド同様、移動元、移動先の順でファイル名を指定します。ファイルを移動する場合、他のディレクトリにファイルを移動させることがほとんどでしょう。その場合は移動先として「ディレクトリ名/ファイル名」というパスの形式で指定をすることが 可能です。
また、同一ディレクトリ内でファイルの移動を行うことによって、実質的にファイル名を変更することができます。

●ファイルの削除
$ rm [-f] ファイル名
$ rm [-f] -r ディレクトリ名
rmコマンドはファイルやディレクトリの削除を行うコマンドです。rmコマンドの後に削除したいファイル名を指定します。通常、削除前に本当に削除するかどうかが問われます。このメッセージを出さず、すぐにファイルを削除したい場合は-fというオプションを付けます。また、ディレクトリを削除する場合は-rオプションと共に、削除したいディレクトリ名を指定します。

4.Linux基本操作

では、これらのコマンドを実際に使って、一通りの操作を行ってみましょう。
スクリーンショットを載せていますので、確認しながら進めて下さい。
はじめに、プロンプトを確認して下さい。カレントディレクトリが~(ホームディレクトリ)の状態で作業します。
 まずはlsコマンドでディレクトリの中を確認してみましょう。
(1)
表示可能なファイルはありません。 ls alではいかがでしょうか?
●ファイル作成
では、1つファイルを作成してみましょう。touchコマンドでsample1.txtというファイルを作成します。
(2)
作成したファイルができているかは、lsコマンドで確認すると分かります。
白文字で表示されているのがファイルです。
●ディレクトリ作成
次はディレクトリの作成です。mkdirコマンドでotherディレクトリを作成します。
(3)
lsコマンドで確認して下さい。otherというディレクトリができていることが分かります。ディレクトリは青文字で表示されるのがわかります。
このotherディレクトリにカレントディレクトリを変更してみましょう。cdコマンドです。
(4)
移動できたら、プロンプトを確認して下さい。カレントディレクトリ表記が「other」に変わっています。

このディレクトリは作成したばかりで、中にはファイルも何もありません。lsコマンドで確認しても何も表示されないことが分かります。
(5)
では、touchコマンドでファイルを作成してみます。
(6)

●ファイルのコピー
次にcpコマンドで作成したsample2.txtを別の名前でコピーしてみましょう。
(7)
lsコマンドで確認するとsample3.txtというファイルができていることが分かります。
ホームディレクトリに戻りましょう。1つ上の階層に移動するので「..」を指定します。
(8)
先ほど、otherディレクトリ内に作ったsample3.txtを、ホームディレクトリに移動させましょう。ファイルの移動にはmvコマンドを使います。
(9)
移動元ファイルはotherディレクトリの中のsample3.txt、移動先はカレントディレクトリという指定です。移動できたかどうかはlsコマンドで確認します。
●ファイル名の変更
mvコマンドはファイル名の変更にも使えます。その場合、同一ディレクトリ内で行うことがポイントです。sample3.txtをother.txtというファイル名に変えてみましょう。
(10)
lsコマンドで確認すると、ファイル名が変更されているのが分かります。
●ファイルとディレクトリの削除
では、最後はファイルとディレクトリの削除です。ディレクトリを削除する場合は-rオプションを忘れないようにしましょう。
(11)
【ファイルの削除】
(12)
【ディレクトリの削除】

●ファイルの内容表示

(13)
【ファイルの内容を表示する】

cat [オプション] [テキストファイルのパス]
-n     nオプション付きで行番号を表示する

catコマンドはリダイレクションと組み合わせて使用されることが多い
引数でファイルを指定しないと入力はキーボードから行われる

cat > 新規のファイルパス

上記で新規のテキストファイルを作ることができる
(入力終了はCtrl+D


cat コピー元ファイルのパス > コピー先ファイルのパス

上記でファイルをコピーすることができる





さ て、ひとしきりファイル操作の方法を見てきましたが、いかがでしたか?

最後に history | paste - - - コマンドを打った結果のスクリーンショットを提出してください。
こんな感じになります↓