Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linuxの使い方(1)

1,357 views

Published on

Linuxの使い方を概要、シェル、エディタに分けて説明します。
2回シリーズの1回目。
もともとは研究室内のゼミで使ったもので、それを改変しました。

間違いなどあれば、コメントでご指摘おねがいします。

Published in: Software
  • Be the first to comment

Linuxの使い方(1)

  1. 1. Linuxの使い方(1) 2014/05/07 B4ゼミ 横川研M1 大河原 修
  2. 2. 改訂履歴 2014/05/07 Ver.1.0 2014/12/31 Ver.1.1  間違いがあった部分を修正、大雑把な目次を追加 2014/05/07 Linuxの使い方(1) 2
  3. 3. 大雑把な目次 Linuxの概要  Linuxとは?、ディストリビューション、デスクトップ環境、X Window System シェル  何故コマンド操作を学ぶか、bash、ワイルドカード、標準入 出力、パイプ、リダイレクト、/dev/null、ファイル検索 エディタ  vi、Emacs、エディタ戦争 2014/05/07 Linuxの使い方(1) 3
  4. 4. Linuxとは? 1991年にLinus Torbalds氏が開発したUNIX互換の オペレーティングシステム ライセンスにGPLを採用  プログラム実行の自由  ソース改変の自由  利用・再配布の自由  改変したプログラムをリリースする権利 2014/05/07 Linuxの使い方(1) 4
  5. 5. Linuxとは? 狭義にはカーネルのみを指してLinuxという  カーネルは、OSのうちハードウェアと直接やり取りする中核 カーネルとしてはUNIXの特徴を受け継いでいる  マルチプロセス・マルチユーザ  高安定性  高セキュリティ性 2014/05/07 Linuxの使い方(1) 5
  6. 6. ディストリビューション Linuxカーネルと、ドライバ・アプリケーションなどをセットにし て簡単にインストールできるようにパッケージ化されたもの 代表的なものが何系統か存在する  Debian系  Debian, Ubuntu, KNOPPIX…etc  RedHat系  RHEL, CentOS, Fedora, Vine…etc  他にはSlackware系や独立なものも 2014/05/07 Linuxの使い方(1) 6
  7. 7. CentOSについて RedHat社が開発している商用OS ”Red Hat Enterprize Linux (RHEL)” の互換OS  RHELから商用パッケージを取り除いたもの  サーバ用途として人気が高い デスクトップ環境としてはGNOMEを採用  デスクトップ環境については次のスライドにて 2014/05/07 Linuxの使い方(1) 7
  8. 8. デスクトップ環境 デスクトップ環境とは  コンピュータのグラフィカルユーザインタフェース (GUI) を提供 するソフトウェア(Wikipediaより)  GUIを通して、OSの様々な機能にアクセスしたり、ソフトウェ アを起動したりする  Windows Vista/7のものはAero, OS XのものはAqua  WindowsやOS XはGUIの存在が前提のOS 2014/05/07 Linuxの使い方(1) 8
  9. 9. Linuxにおけるデスクトップ環境 LinuxはGUIの存在が前提ではない  最近のディストリビューションはデスクトップ環境がセットになっ ているものが大半なので、この点に誤解が起きやすい  GNOME, CDE, KDE, LXDE, Xfce, Unityなどがある  デスクトップ環境は自分で変更することが出来る Linuxにおけるデスクトップ環境は、X Window System 上で動作する 2014/05/07 Linuxの使い方(1) 9
  10. 10. X Window System ウィンドウシステムを提供する、OSから独立し たソフトウェア サーバ・クライアント方式  サーバプログラムがクライアントプログラムから出 力要求を受け付け、画面に表示する  サーバとクライアントは同じマシン上でも別々の マシン上でも動作できる 2014/05/07 Linuxの使い方(1) 10
  11. 11. GUIだけじゃ操作できないの? 結論から言うと、無理  普通のデスクトップ用途ならできなくもないかもしれない  しかし、設定を直接編集する場合などはCUI利用必須  というか、GUIだけを使うならWinやOS Xを使った方が良い UNIXはシェルを使ったCUIを標準で採用しており、そのク ローンであるLinuxも同じ  シェルにも様々なものがあるが、Linuxはbashを採用 2014/05/07 Linuxの使い方(1) 11
  12. 12. シェル シェル:コマンドによって対話的にOSの機能を呼び出す  ユーザとOSの間で、入出力の仲立ちをする  カーネルを包む「貝殻」のようなもの シェルの機能は大きく2つに分かれる  コマンドの入力を受け付けて実行し、結果を出力する  シェルスクリプトを実行する  最初期のシェルではスクリプトは実行できなかった  実行できるようになったのはUNIX Version 7のBorune Shell(sh)からで、bashもshの流れを受け継ぐ 2014/05/07 Linuxの使い方(1) 12
  13. 13. bash(バッシュ) Bourne-again Shellの略  前身のBourne Shellとborn againを掛けた洒落  Bourne ShellはUNIX Version 7(1979)以降の標準  GNUプロジェクトによって開発された 多くのLinuxディストリビューションで標準の高機能シェル  OS Xでも標準のシェルとして採用されている  もちろんCentOSでも標準のシェルはこの子 2014/05/07 Linuxの使い方(1) 13
  14. 14. bashの基本操作 OS Xで採用されているので、基本的には既に経験済のはず  情報知能工学演習Iでやってるので、基本的なコマンド( ls, cd, mkdir, mv, cpなど)は習得済とみなして進めます 細かい機能として以下のようなものがある  Tabキーでコマンドやファイル名の補完を行う  上矢印キーorCtrl+Pでコマンド履歴を順に呼び出す  Ctrl+Rでコマンド履歴からの検索  Ctrl+Shift+Vでクリップボードの文字列の貼り付け  これらは基本、Emacsのキーバインドに準拠 2014/05/07 Linuxの使い方(1) 14
  15. 15. ワイルドカード ワイルドカード:どんなカードの代わりにもなるカード ワイルドカードは正規表現ではない  ワイルドカードはどんな文字(列)にもマッチする特殊文字  正規表現は文字列の集合を表す表現手法  正規表現の中にワイルドカードが含まれる場合がある ワイルドカードはすべてのコマンドで使用可能だが、正規表 現はそうではない 2014/05/07 Linuxの使い方(1) 16
  16. 16. ワイルドカードの具体例 * … 任意の0文字以上の文字列にマッチ  例)convenience, cone, content… ∈ con* ? … 任意の1文字にマッチ  例)さんま、あんま、えんま… ∈ ?んま [] … []内のいずれか1文字にマッチ {} … {}内でカンマで区切られたうちの1つの文字列にマッチ  例)[lfs]ight = {light, fight, sight} 2014/05/07 Linuxの使い方(1) 17
  17. 17. 標準入力・標準出力・標準エラー出力 その名の通り、bashに標準で用意されている入出力先  つまり、指定がなければそこに入出力されるということ デフォルトでは、以下のように設定  標準入力:キーボード  標準出力・標準エラー出力:コンソール上 リダイレクトによって、これらを変えることが出来る  プログラミング言語論および演習で経験済のはず 2014/05/07 Linuxの使い方(1) 19
  18. 18. パイプ あるコマンドの標準出力と別のコマンドの標準入力を接続 する機能のこと  複数のコマンドを組み合わせるためのメインの手段  “ | “によって表現される 例)printenv | less  →環境変数の一覧をlessに渡す  やってみれば分かります 2014/05/07 Linuxの使い方(1) 20
  19. 19. リダイレクト 標準入力/出力/エラー出力をファイルに切り替える手段  プログラミング言語論およびry 書き方を以下の表に示す 2014/05/07 Linuxの使い方(1) 21 記号 概要 記号 概要 > 標準出力をファイルに上書き 2> 標準エラー出力をファイルに上書き >> 標準出力をファイルに追記 2>> 標準エラー出力をファイルに追記 < 標準入力をファイルから参照 &> 標準出力/エラー出力を同じファイ ルに
  20. 20. /dev/null ブラックホールのような機能を提供する特別なファイル  出力先としてリダイレクトすると、データをすべて捨てて表示しない  入力元としてリダイレクトすると、必ず空のファイルとして扱われる コンソールのメッセージが邪魔だと思ったら使えば良い  例えば、ファイルシステム全体を検索する際の「ファイルをオープンす る権限がありません」というエラーメッセージはかなり邪魔  例)$ find / -n hoge 2> /dev/null 2014/05/07 Linuxの使い方(1) 22
  21. 21. ファイルの検索 – findコマンド find (起点のディレクトリ) [オプションで検索方法指定]  柔軟な条件で検索可能だが実行は低速  一般ユーザが使用すると開けないファイルが多くて不便  例)$ find ~ -name *.txt  他のオプション例 2014/05/07 Linuxの使い方(1) 23 オプション 概要 オプション 概要 -mtime n n日前に修正されたファイル -newer 指定ファイルより後に 修正されたファイル -empty 空のファイル -size 指定したサイズのファイル -user 指定した所有者のファイル -type 指定したタイプのファイル
  22. 22. ファイルの検索 – locateコマンド 名前でしか検索できないが実行は高速  すべてのユーザがすべてのファイルを検索可能 予め作成されるデータベース内を検索するため、最近作成された ファイルの検索は不可能  データベースは基本的には1日1回更新される 指定したパターンの前後にワイルドカード”*”があるものとして検索  例)$ locate hello (= locate *hello*) hello.c hello.o hello new_hello.txt 2014/05/07 Linuxの使い方(1) 24
  23. 23. その他、ファイル検索に役立つコマンド grepコマンド  ファイルから、正規表現を使って特定の文字列を含む行を抽出 xargsコマンド  標準入力を別のコマンドの引数とする  パイプを上手く利用すれば色々できる 例)find ~ -name *.txt | xargs grep “^hoge”  →ホームディレクトリ以下のテキストファイルのうち、”hoge”から始ま る行があるものをすべて検索 2014/05/07 Linuxの使い方(1) 25
  24. 24. Linux向けのテキストエディタ 今後設定をどんどん書き換えていくために、エディタは必須 vi, Emacs, nano, geditなどが搭載  vi – Linux標準のエディタ  Emacs – 演習でおなじみのUNIX向けエディタ  nano – GNUプロジェクトにより開発されたシンプルなエディタ  gedit – GNOME標準のエディタ どのエディタが良いか、という主題の戦争が長らく続いている 2014/05/07 Linuxの使い方(1) 27
  25. 25. viエディタ Linux標準である高機能エディタ  最近のディストリにはより高機能な派生エディタ(vim等)が搭載  コンソール上で起動し、GUIは基本なし  viの操作はLinuxの使用スキルに含まれるという見方が一般的  例えば、LPICというLinux技術者試験の出題範囲に含まれている  コンソール上でviコマンドを入力すれば立ち上がる  例)$ vi hoge.txt 2014/05/07 Linuxの使い方(1) 28
  26. 26. viエディタの使い方(1) とてもここで解説できるようなものではないので少しだけ viには「コマンドモード」「インサートモード」の2モードがある  起動時は「コマンドモード」なので、起動後すぐは編集できない  コマンドモードでiを入力するとインサートモードに移行して編集 が可能になる  インサートモードでEscを押すとコマンドモードに戻る 2014/05/07 Linuxの使い方(1) 29
  27. 27. viエディタの使い方(2) コマンドモードでのコマンドを本当に最低限列挙  :q – viの終了  :q! – 変更を破棄して終了  :w - 上書き保存、:w (ファイル名)で名前を付けて保存  :wq – 上書き保存して終了 とりあえずこれでファイルの変更と保存は出来る  vimtutorコマンドでvimのチュートリアルを受けられるので、 きちんと使いこなしたい人はそちらで 2014/05/07 Linuxの使い方(1) 30
  28. 28. Emacsを使いたい人へ コンソール上でemacsと入力すれば立ち上がる  インストールされていない人は、 とコンソールに入力するとインストールが始まる  ソフトウェアのインストールについては次回 いちいちGUIが立ち上がるのがウザい人は、-nwオプション をつけて起動してみよう  viのようにコンソール上から軽快に使えるようになる 2014/05/07 Linuxの使い方(1) 31 $ su – # yum install emacs
  29. 29. 次回予告 次回はパッケージの管理とソフトウェアのビルドです  ファイルツリーやランレベルについても少し触れます  リモートアクセスも少しだけやります 2014/05/07 Linuxの使い方(1) 33

×