paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

プログラミング初心者でもVimコマンドについて学べる入門講座が登場

f:id:paiza:20140916135428p:plainこんにちは。谷口です。

paizaラーニングの「Linux入門編」に「Linux入門編3: テキストエディタVimを身に付けよう」「Linux入門編4: システム管理の基本を理解しよう」が追加されました!

Linux入門編3: テキストエディタVimを身に付けよう」では、多くのLinuxディストリビューションに標準搭載されているテキストエディタVimの基本操作を学べます。

Linux入門編4: システム管理の基本を理解しよう」では、ユーザー、グループ、アクセス権限などシステム管理の基本的な機能を学べます。

今回は「Linux入門編3: テキストエディタVimを身に付けよう」「Linux入門編4: システム管理の基本を理解しよう」の講座内容をご紹介します。

Linux入門編1: Linuxの基本を理解しよう」「Linux入門編2: シェル環境を使いこなそう」に引き続き、

  • プログラミングは少しできるようになったけど、Linuxについてはよく知らない
  • 仕事でLinuxを使うことになったけど、実は使ったことがない…
  • Vimが使えるようになりたい!

といった方におすすめです。

Linux入門編3: テキストエディタVimを身に付けようの内容紹介

01:Vimの特徴を理解しよう

Linuxでは、データをテキストベースでやりとりします。設定ファイルもテキストファイルになっていることが多いので、それらを編集するテキストエディタは重要なツールです。

UnixにはもともとViというテキストエディタがあり、Vimはその機能強化版として多くのLinuxディストリビューションに標準搭載されています。ふだんWindowsやMacで使うテキストエディタと比べると、独自の操作体系となっています。

元々のViがマウスもウィンドウも普及していない時代に生まれたので、Vimもターミナル上で動作します。また、操作はすべてキーボードだけでおこないます。

また、Vimは長年エンジニアに愛用されてきたため、多くのプログラミング言語や設定ファイルの編集に便利な機能を持っています。また、個人の用途や好みに合わせられる拡張性も高いエディタです。

VimをはじめとするVi互換エディタには、機能に合わせた「モード」があります。今はテキストの編集中、今は選択中…というように、キーボードでモードを切り替えながら使います。

また、Vimではキー入力がそのままテキストを編集するコマンドになっています。このコマンドを組み合わせて操作します。

たとえば、単語を削除するには「dw」と入力します。「d」は削除を意味するデリート「w」は単語を意味するワードの略です。「d2w」と入力すると、2つの単語を削除できます。「dd」と入力すると、一行を削除できます。

このようにコマンドを組み合わせて、効率よくテキストを編集できるのがVimの特徴です。

Linuxでは、サーバなどの環境でVi互換エディタしか使えないという場合もありますし、いろいろなアプリケーションがVi互換の操作体系を持っていることもあります。

02:はじめてのVim

次に、Vim(ビム)の初歩的な使い方を体験します。Vimを起動して、簡単なテキストを入力して、修正して保存してみましょう。

まずはターミナルを起動して、Vimを立ち上げます。

Vimは、ターミナル上で動作します。起動した直後は、ノーマルモードになっています。左端のチルダ (~) は、そこに「行」がないことを表しています。

Vimでテキストを入力するには、インサートモードに切り替えます。小文字の「i」で、インサートモードに切り替えることができます。

インサートモードの間は、左下に「INSERT」と表示されています。入力が終わったら、「ESC」キーでノーマルモードに戻ります。「e」「s」「c」のキーがエスケープキーです。

このテキストをファイルに保存します。ノーマルモードから、コマンドラインモードに切り替えます。 「:」(コロン)のキーを押すと、一番下がコマンドを入力できるようになります。ここで、「w」のあとにファイル名を指定するとテキストをファイルに保存できます。

画面の一番下に、ファイルを書き込んだというメッセージが表示されています。ファイルツリーを見ると「hello.txt」というファイルができています。

Vimを終了するには、コマンドラインモードに切り替えて、アルファベットの「q」を入力します。Vimを終了して、ターミナルの画面に戻ります。

Linux入門編3: テキストエディタVimを身に付けよう」では、ここからさらに作成したテキストファイルを開いて、修正したり保存したりします。また、Vimでのカーソル移動、テキストの削除と取り消し、コピーと貼り付け、検索とマーク、正規表現を使った検索と置換などについて、実践しながら学ぶことができます。

Linux入門編4: システム管理の基本を理解しようの内容紹介

01:システム管理の役割を理解しよう

Linuxなどをサーバ用OSとして利用するとき、主に次のシステム管理が必要になります。

個人のPCとは違い、Webサーバやデータベースサーバは開発チームや運用チームといった複数のメンバーで管理、運用することになります。そのため、サーバのOSはどのリソースに誰がアクセスできるのか、しっかり設定しておく必要があります。これはLinuxでも同じです。

また、Webサーバで稼働するWebアプリケーションや、データベースサーバで稼働するデータベース管理アプリケーションなどの運用、設定ファイルやログファイルのアクセス管理も必要となります。

(※システム管理用のツールやコマンドは、Linuxディストリビューションによって異なる場合もありますが、この講座ではPaizaCloudで使えるUbuntuを例に説明していきます)

複数のメンバーで利用するLinuxでは、利用するメンバーを「ユーザー」として登録しておく必要があります。これを「ユーザーアカウント」と呼びます。

Linuxには、次の3種類のユーザーアカウントがあります。

システム管理を行わない通常のユーザーは「一般ユーザー」です。一般ユーザーとしてログインすると、ホームディレクトリにある自分専用のディレクトリを利用できます。

これに対し、システム管理権限を持った特別なユーザーを「スーパーユーザー」と呼びます。スーパーユーザーは、Linuxのすべてのリソースにアクセスできる万能ユーザーです。ファイルシステムの最上位階層である「ルート」にアクセスできることから、スーパーユーザーになることを「ルート権限をとる」と言う場合もあります。

それから、アプリケーションやサービスをバックグラウンドで実行するための「システムアカウント」があります。WebサーバのWebアプリケーションや、データベースサーバのデータベース管理アプリケーションを利用するため、それぞれのアプリケーションに割り当てたシステムアカウントを利用します。

Linuxでは、所属部署や役割に合わせてユーザーを「グループ」にまとめることができます。Linuxのユーザーは、最低1つのグループに所属している必要があります。ユーザーが、最初に所属するグループを「メイングループ」または「プライマリーグループ」と呼びます。

これまでのレッスンで説明したきたように、Linuxでは、階層型のファイルシステムを採用しています。たとえば、ディレクトリの中に、ディレクトリやファイルが入っているという感じです。周辺装置やプログラム間の通信もファイルとして扱えるようになっています。

このおかげで、共通の方法でファイルやディレクトリ、通信を扱うことができます。

Linuxでは、このディレクトリとファイルに対して、ユーザーとグループごとにアクセス権限を与えます。たとえば、ユーザーAは「ubuntu」ディレクトリにアクセスできるけど、「paiza」ディレクトリにアクセスできない。ユーザーBは「paiza」ディレクトリにアクセスできるけど、「ubuntu」ディレクトリにアクセスできない。でも、「スーパーユーザー」は、すべてのディレクトリとファイルにアクセスできる…という感じです。

このようなアクセス権限のを「パーミッション」と呼びます。

02:ユーザー情報を確認しよう

Linuxをサーバー用OSと利用するとき、複数のユーザーを登録することがほとんどです。まずは、ユーザー情報を確認・変更する方法を理解しましょう。

現在ログインしているユーザーを確認するには「who」というコマンドを使います。

ログインしているユーザー情報を表示しました。「ubuntu」というユーザーがログインしています。これは、いまPaizaCloudを使っている自分自身を表しています。複数のubuntuユーザーが表示される場合は、以前にログインしたユーザーが今でも残っていることを表しています。

次に、登録してあるユーザーの一覧を表示してみましょう。これは「etc」ディレクトリの「passwd」ファイルに記述されています。「etc」ディレクトリには、システムやアプリケーションの設定ファイルが置いてあります。

ユーザー一覧が表示されました。ユーザー一覧では、それぞれの行がユーザーを表しています。

一番上の「root」が、システム管理のスーパーユーザーです。一番最後に「ubuntu」ユーザーがあります。そのほかは、すべてシステムアカウントです。

ユーザー一覧の読み方をもう少し詳しく説明します。

ユーザー情報の各項目は、コロンで区切ってあります。

先頭がユーザー名です。2行目のユーザーは「デーモン」という、システムが自動的に実行するシステムアカウントです。

2番目の項目はパスワードですが、このファイルでは未使用になっていて、別のところで管理しています。

UIDは、ユーザーIDを表しています。Linuxは、ユーザーごとに別々の番号を割り当てます。スーパーユーザーは「0」、システムアカウントは「1」から「999」、一般ユーザーは「1000」以降を割り当てます。

その隣はグループIDで、プライマリーグループの番号が記述してあります。

その次の項目はコメントです。ユーザーに関する説明を記述できます。

その次の項目は、ホームディレクトリです。スーパーユーザーは「root」となっているので、これですべてのディレクトリにアクセスできます。一般ユーザーは、通常「home」ディレクトリにある自分のユーザー名のディレクトリを利用します。

最後がデフォルトシェルです。ログインした時に起動するコマンドシェルを指定します。スーパーユーザーと「ubuntu」ユーザーは「bash」になっています。

このユーザー情報を変更してみましょう。「usermod」コマンドで「ubuntu」ユーザーのコメントを修正します。

これでユーザー情報のコメントを修正できました。前のコマンドを呼び出してユーザー一覧を表示すると、「ubuntu」ユーザーのコメントがハローワールドになっています。

このようなシステム管理コマンドは、スーパーユーザー権限が必要なので「sudo」コマンドで実行します。

「sudo」コマンドは、指定したユーザーとしてコマンドを実行します。特にユーザーを指定しない場合は、スーパーユーザーとしてコマンドを実行します。今回は、「usermod」コマンドをスーパーユーザーとして実行しているわけです。

Linux入門編4: システム管理の基本を理解しよう」では、ここからさらにユーザーの追加やグループ情報の確認、グループの追加、アクセス権限の変更などについて、実践しながら学ぶことができます。

Linux入門編4: システム管理の基本を理解しよう


01:システム管理の役割を理解しよう
02:ユーザー情報を確認しよう
03:ユーザーを追加しよう
04:グループ情報を確認しよう
05:グループを追加しよう
06:アクセス権限を理解しよう
07:アクセス権限を変更しよう
08:ジョブスケジューリングを理解しよう
09:Linuxの地域設定を理解しよう





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック





※このブログで紹介しているキャンペーンやイベント、およびサイト内の情報については、すべて記事公開時の情報となります。閲覧されたタイミングによっては状況が変わっている場合もございますのでご了承ください。

ITプログラマー・エンジニア転職・就活・学習のpaiza

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編AI機械学習入門

エンジニアのためのプログラミング転職サイト|paiza転職

プログラミング スキルチェックエンジニア求人一覧

未経験からエンジニアを目指す人の転職サイト|EN:TRY

プログラミング スキルチェックエンジニア未経験可求人一覧

エンジニアを目指す学生の就活サイト|paiza新卒

プログラミング スキルチェックエンジニア求人一覧

ブラウザを開くだけで エディタ、Webサーバ、DB等の開発環境が整う|PaizaCloud