Linux を知ろう︕コマンドライン編

株式会社ALJ Education Plus（LPI-Japanアカデミック認定校）

廣出 啓太

■講師プロフィール
◆ 名前
◆ 出⾝
◆ 年齢
◆ 興味ある分野◆ 使⽤⾔語◆ 使⽤環境
◆ 趣味
◆ 資格
◆ 経歴

: 廣出 啓太(ひろで けいた): 愛知県出⾝: 25歳: セキュリティ(主に暗号系): Python,VBA, JavaScript, Ruby on Rails: Linux, Windows, Cisco, Nokia, AWS, MS Azure: ライブ参戦(フジファブリックが好きです︕)
バイクに乗ること: 応⽤情報技術者認定, CCNA, 危険物取扱者

2021年から新卒で⼊った会社でネットワークエンジニアとしてのキャリアを開始。
エンタープライズ、モバイルコアの設計構築案件に従事しながら専⾨学校講師として学⽣にLinuxを教育。
またPython , VBAを使⽤した不動産会社のRPA開発を兼任。
最近は、知り合いの会社のHP開発をしています︕

2

Linux技術者認定「LinuC（リナック)」とは■LinuCとはクラウド／DX時代のITエンジニアに求められるシステム構築から運⽤管理に必要なスキルを証明する技術者認定です。
クラウド活⽤に役⽴つスキルの習得• オンプレミス／仮想化・コンテナを問わず様々な環境下でのサーバー構築• 他社とのコラボレーションの前提となるオープンソースへの理解習得できるスキルが実践的問題作成にはトップエンジニアも参加するコミュニティ内の意⾒を取り込むことで、本当に必要な内容を網羅的に盛り込んでいます。

上流⼯程を担うアーキテクトの領域までカバーシステムの運⽤管理からアーキテクチャ設計までの４つのレベルをひとつずつ習得していくことで、活躍できるエンジニアとして必要なスキルを網羅的に⾝につけていくことができます3

LinuCの４つのレベル
LinuCは、サーバーの運⽤管理からアーキテクト設計まで、システム開発・運⽤に必要な知識とスキルを体系⽴てて習得することができます。

4

今回のテーマ
Linux を知ろう︕コマンドライン編

5

導⼊~ Linuxについて

6

Linuxについて■LinuxとはLinuxは、オープンソースのオペレーティングシステム (OS) です。
オペレーティングシステムとは、CPU、メモリ、ストレージなどのシステムのハードウェアとリソースを直接管理するソフトウェアのことで、アプリケーションとハードウェアの間に位置し、すべてのソフトウェアと作業を実⾏する物理リソースをつないでいます。
(RedHat. Linux とは.Linuxについて参照)
簡単に⾔うと・・・

皆さんが普段使ってるWindowsやMACなどの仲間です
例として出すのであれば、普段みなさんが使⽤されてるPCも動画再⽣ボタンを押したら、画⾯が動いたり、⾳楽が流れたりしますよね
いろいろ物理的なものとの仲介屋をしてくれているシステムということです7Linuxについて
普段⾝の回りに隠れているLinux

■

••
•
•

Android(携帯)テレビ
コピー機
ネットワーク機器など。

実は意識していないだけでLinuxというOSは普段から⾝の回りに多数存在しています
なぜこんな⾝の回りにあるのか・・・
それはこのカンファレンスの名前にもある通りOpen Sourceなシステムであるからです8Open Sourceについて■

じゃあ結局のところ、Open Sourceってなに︖

このような質問が出てくるかと思います
なんでOpen Sourceについて話し合うような場があるのか︖
それは、Linuxがここまで普及する理由になった1つの要因が含まれていますなぜか。

それはOpenなSourceだからです
何を⾔ってるのこの⼈って思った⽅次のページで説明します9Open SourceについてOpenなソースであること
これはLinuxOSの開発者がコードを公開しているということです
みなさんは普段、新しいジャンルのご飯を作るとき、レシピをみますよね︖
美味しかったらリピートしていって何回⽬かで、もしかしたらこの隠し味⼊れたらもっとおいしくなるのではないか︖と思って作ったりしたことがあるかと思います

そしてそれが家庭の味になって、代々受け継がれていったり、新しい⼈に共有したり・・・

まさにこれがOpen なSource(レシピ)ということですLinuxOSのソース(レシピ)が公開されていることでどんどん新しいものが開発されていって⾃分なりの成果物を作成していき・・という形でLinuxがここまで普及していきました
10Linuxコマンドについて

代表的なLinuxコマンドそれぞれの特徴

11代表的なLinuxコマンドそれぞれの特徴

ある程度Linuxについてどういうものか理解したかと思います

ではそのLinuxを実際にどうやっていじっていくかそのためのコマンドなどを紹介していきます
今回はCent OSを使⽤したレクチャーをしていきますが基本的なコマンドは他の種類のディストリビューションでも使えるので何を使⽤されても構いません※Cent OSなどはディストリビューションといい、開発者が作成した者を配布してくれています12代表的なLinuxコマンドそれぞれの特徴■ ls (エルエス)
ディレクトリ(フォルダ)内のファイルとディレクトリを表⽰するコマンド
構⽂: ls [表⽰したいディレクトリ]※何も⼊れない場合は現在の場所のファイルとディレクトリを表⽰

普段エクスプローラーでこのフォルダには何が⼊っているか確認しますよね
そのためのCLIのコマンドです※CLI: ⿊い画⾯でコマンド⼊⼒したりするところ13

代表的なLinuxコマンドそれぞれの特徴■ cat (キャット)
ファイルの中⾝を確認するコマンド
構⽂: cat [確認したいファイル]

これも普段ダブルクリックでメモ帳で中⾝を⾒るのと⼀緒です14代表的なLinuxコマンドそれぞれの特徴■ rm (アールエム)
ファイルなどを削除するためのコマンド
構⽂: rm [削除したいファイル]

ご存じの通り、ファイルを消すコマンドです15代表的なLinuxコマンドそれぞれの特徴■ vi (ブイアイ)
ファイルなどを編集するためのエディタを起動するコマンド※Viエディタと呼び、Linuxにデフォルトで存在していて、Windowsのメモ帳みたいなもの

構⽂: vi [編集したいファイル]

すこしだけややこしくなります。
vi にはインサートモード、コマンドモードの2つがあります
viを実⾏し中⾝に⼊った後の最初のモードはコマンドモードです
編集するためのモードがインサートモードになるのでモードを変更する必要があります16代表的なLinuxコマンドそれぞれの特徴■ vi (ブイアイ)
インサートモードに移⾏するためには i キーを押す必要があります
移⾏すると以下のような表記になるかと思います

こうなっている状態でいろいろ⽂字列を⼊⼒できるようになります17代表的なLinuxコマンドそれぞれの特徴■ vi (ブイアイ)
⽂字列を⼊⼒して、保存したい場合に今までCtrl + Sでできていた保存もviではそうはいきません
インサートモードを終了し、あるコマンドを⼊⼒することで保存できます

それが エスケープキー(Esc)⼊⼒後 :wqです

まずEscを押すことでインサートモードを終了し、コマンドモードへ戻ります
その後呪⽂としてのコロン、w(書き込み) q(終了)を意味し、書き込んで終了するといった意味があります

では実際に保存してみましょう

このように⼊⼒することでファイルを編集することができます18代表的なLinuxコマンドそれぞれの特徴■ pwd (ピーダブルディー)
カレントディレクトリ(今いる場所)を確認するコマンド

この出⼒結果の /home/hirode が今私が操作している場所です

つまり。/ の下のhomeディレクトリのhirodeというディレクトリにいることを⽰してくれています※この最初についている /という⽂字はルートディレクトリと⾔って⼀番上の階層にいることを⽰します19代表的なLinuxコマンドそれぞれの特徴■ pwd (ピーダブルディー)
windowsでもこのようにリボンの場所にある個所をクリックすることで場所(PATH)を表⽰することができます20代表的なLinuxコマンドそれぞれの特徴■ cd (シーディー)
カレントディレクトリ(今いる場所)を変更するコマンド
構⽂: cd [移動先]上記の例では”デスクトップ”に移動するコマンドになります
cdの何がよいのかというと本来であれば別ディレクトリにあるファイルなどはcat デスクトップ/test.txt と対象のファイルが存在するディレクトリ含め指定する必要がありました
先にデスクトップに移動することで、 cat test.txtとパスを考えたディレクトリの指定が必要なくなります※多くのファイルを編集したりするときに楽21代表的なLinuxコマンドそれぞれの特徴■ cp (シーピー)
ファイルをコピーする為のコマンド
構⽂: cp [コピー元] [コピー先 or コピー後の名前]

cpはものすごく便利で2種類の使い道があります ※同時に使うことも可能①コピー先をディレクトリで指定することで、そのディレクトリにコピーする動作②コピー後の名前も指定できる為、設定ファイルのバックアップなどに使⽤されます(以下例) httpd.conf(Webサーバーの設定ファイル)をconf_backup(適当に作成したディレクトリ)内にコピーし名前を変更するコマンド

22代表的なLinuxコマンドそれぞれの特徴■ mv (エムヴイ)
ファイル or ディレクトリを①移動また②名前を変更する為のコマンド
構⽂: mv [移動元ファイル] [移動先 or 変更後の名前] ※同時に使うことも可能①移動 (test.txtをtestdirディレクトリに移動)②名前の変更 (test.txtをtest2.txtに変更)※cpと違い元ファイルを変更することになるので注意

23

Linuxコマンドについてコマンドを使⽤してできることを紹介

24

コマンドを使⽤してできることを紹介
今まで出てきたコマンドを使⽤すれば、基本的なことであればLinuxの操作が可能です
以下のコマンドを習いましたが、このセクションではそれらを使⽤してできることを解説します■ 出てきたコマンド
••
•••
•
•
•

ls
cat
rmvi
pwd
cd
cpmv

ではこれらを使⽤し実践的に使⽤できることを紹介していきます25

Case1

ちょっと君、このWEBサーバーのconfig変更しておいて︕

26

コマンドを使⽤してできることを紹介■ Case1

ちょっと君、このWEBサーバーのconfig変更しておいて︕

はい、商⽤環境でいきなりこんなことを⾔ってくる上司などは基本いないとは思いますがこの⾔葉には多くの意味が含まれています

1. configの変更依頼
2. 現状動いているconfigのbackupを取ること
3. 変更後、変更前のログも残すこと①は⾔葉の通りですが②③はいきなりIT業界⼊った⼈はわかんないですよね・・・(もっと具体的に⾔ってほしいものですが、⼀応当たり前の動作ではあるので覚えておきましょう)27

コマンドを使⽤してできることを紹介■ Case1

1. configの変更依頼
2. 現状動いているconfigのbackupを取ること
3. 変更後、変更前のログも残すこと
まず①についてですが、これは基本コマンドで編集⾃体はできます
viを使⽤することで、config⾃体は変更することができますが中⾝をちゃんと編集するためにはそれぞれの設定値を知る必要があります
ここで②のトラップ発動︕
いきなりviで編集をせず、まずは現在動いているconfigファイルをバックアップとして保存しましょう
そのためにはcpコマンドです(本来⽇付と時間を⼊れた名前にするのが望ましい)28

コマンドを使⽤してできることを紹介■ Case1

1. configの変更依頼
2. 現状動いているconfigのbackupを取ること
3. 変更後、変更前のログも残すこと
では②についてはクリアできたのでじゃあ実際に変更して⾏きましょう
はい、またトラップ③発動、オペレーションのログを残す為に変更前のログを取っておきましょう
基本は使⽤しているterminalソフトのログ機能を使⽤しているため、表⽰するだけで⼤丈夫です
そのためには catコマンドです29コマンドを使⽤してできることを紹介■ Case1

1. configの変更依頼
2. 現状動いているconfigのbackupを取ること
3. 変更後、変更前のログも残すこと
変更前のログも取得できたので、実際に変更していきます
そのためのコマンドは前にも出てるとおり、viです

viで編集後 :wqで保存し終了できたのでこれで終・・・
ではないですね︕
最後に変更後のログも残しましょう
catで表⽰して終了です

このように1つの⾔葉には多くの意味が含んでいるので作業依頼があったらちゃんと先輩に確認するようにしましょう30

Case2
ちょっと君、変更後のファイル、ローカルに持ってきといて︕

31

コマンドを使⽤してできることを紹介■ Case2

ちょっと君、変更後のファイル、ローカルに持ってきといて︕

知るか︕と⾔いたくなるところですが、ごく真っ当な依頼なのでちゃんと実⾏しましょう
実はこの作業も今まで習ったコマンドに似たものを使⽤すれば可能です

scpコマンドです
cpコマンドの構⽂を思い出してみてください。
構⽂: cp [コピー元] [コピー先 or コピー後の名前]
scpコマンドも同じ構⽂で使⽤することができます

では次のページで実践して⾏きます

32コマンドを使⽤してできることを紹介■ Case2

ちょっと君、変更後のファイル、ローカルに持ってきといて︕

コピー先は通信できる先であれば何でも⼤丈夫です︕※通信できる = 疎通性がある といいますつまりscp [コピー元] [疎通性があるコピー先のIPアドレス:[ディレクリ]] で実施することができます

このように、scpコマンドを使⽤してローカルのIPアドレスを指定すればファイルを持ってくることができます※IPアドレス = 住所のようなもの
例として出すと愛知県の名古屋城 を 東京に移転したい場合[scp 愛知県/名古屋城 東京: ]となるわけです33Linuxコマンドについてコマンドの特徴の覚え⽅

34

コマンドの特徴の覚え⽅■ いきなり”今までのコマンド全部覚えてください︕”って⾔われても無理だと思いますですが基本的なコマンドになるので、なるべく覚えておくべき︕ということでこのセクションでは覚え⽅について紹介していきます
特徴を覚えるために現実世界に例えて使⽤していきましょう
エンジニアジョークとしても使えるかと思います︕

35

コマンドの特徴の覚え⽅■ Case1

ちょっと今オフィスだから、今から居酒屋移動する︕

これをコマンドにして覚えましょう︕

どうなるかというと・・・
pwd(現在地の表⽰)/myoffice/desk
cd(実際の移動)/Shibuya/izakaya
pwd(現在値の表⽰) ※要約:ついた︕/Shibuya/izakaya
これで渋⾕の居酒屋に移動することができましたね︕
36

コマンドの特徴の覚え⽅■ Case2(居酒屋にて)5000円現⾦ないわ。。Paypayで送るわ︕

この場合どうなるでしょうか︖
どうなるかというと・・・

mv /Paypay/5000yen /You/Paypay
ｍvの構⽂は構⽂: mv [移動元ファイル] [移動先 or 変更後の名前]なので・・・

私のPaypayにある5000円をあなたのPaypayに移動するという意味になります
cp /Paypay/5000yen /You/Paypay
では絶対だめですね︕
意味不明な5000円が⾃分の場所にも存在したままなので、税務署に怒られます︕※もちろんこのコマンドでは5000円の送⾦はできないのでちゃんと送りましょう37

コマンドの特徴の覚え⽅■ Case3

いま5000円送ったから、確認しておいて︕

友⼈はこう⾔われたらどうやって確認すればよいでしょうか︖
ls /You/Paypay(Paypayの中のファイルを確認)(出⼒結果)5000yen
こうなっていたらちゃんと送⾦できているのが確認できますね︕
友⼈はcase2で送った場所を確認するようにしましょう
mv /Paypay/5000yen /You/Paypay
私は/You/Paypayに送っているのでそれ以外の場所を⾒ても存在しないので、もめる原因になってしまいます︕
まあこのように相⼿がエンジニアボケしたら付き合ってあげましょう

38

Linuxコマンドについて(応⽤)コマンドオプションを使⽤した便利術

39

(応⽤)コマンドオプションを使⽤した便利術■ では最後に応⽤編として今までのコマンドがすこし便利になるようなオプションを紹介します
LinuCの試験を受験するためには、オプションそれぞれの意味を覚える必要があります
ですが、今回は⼀部のオプションを紹介し、実際の業務に使⽤できるかも︖というものを抽出していきます
もっと便利なものも存在するので、これで興味がでたらぜひLinuCの参考書などを読んでみてください︕

Linux教科書 LinuCレベル1 Version 10.0対応
中島 能和 (著), 濱野 賢一朗 (監修)
￥4,180

興味がある⼈は本をクリック︕
40

(応⽤)コマンドオプションを使⽤した便利術■ ls -la-l: 詳細な情報の表⽰-a: すべてのファイルを表⽰※optionの –l –aは連結して、-laとすることができます【使⽤するタイミング】

Permission,ファイルの所有者, タイムスタンプ(いつ変更・作成したか)を確認したい時※Permission: ファイルを編集したり、実⾏したりの権限

41

(応⽤)コマンドオプションを使⽤した便利術■ cat -n-n:⾏番号の表⽰【使⽤するタイミング】

configを確認するタイミング
⾏番号を確認しておくことで、相⼿にも変更場所を連絡しやすい
configファイルなどは結構な⾏数があります。そのため⾏番号を表⽰しないと⼤変なことになります42

(応⽤)コマンドオプションを使⽤した便利術■ rm –rf-r: 再帰的に削除-f: 確認なしに削除【使⽤するタイミング】※注意: なんでも⼀気に消してしまいます。このコマンドを使⽤するときは良く確認してから使⽤しましょう。
ディレクトリなどは本来rmコマンドだけでは消すことができません
中に多くのファイルが存在している可能性があるため仕様としてできないようになっています
この再帰的に消すというのは、中のファイルが消えるまでループして消すといったイメージです43(応⽤)コマンドオプションを使⽤した便利術■ cp –ri-r: 再帰的にコピー-i: 同じファイルがあった場合に上書きするか確認する【使⽤するタイミング】

ディレクトリごとコピーしたい時※cp コマンドだけではディレクトリはコピーすることができません
以下表⽰のように同じ名前のファイルがあったときに上書きするかの確認ができるので更新したくないファイルが存在する場合は “n”と答えることでスキップすることができます※-iではなく-fにすることでこういった確認も無視することができます44

Linuxコマンドについて最後に45

最後に■ いかがでしたでしょうか︖
Linuxについて苦⼿知識を持っている⼈もいるかと思いますですが実際はPCの使い⽅講座に近い内容になっています
難しく感じるのは⿊い画⾯でパチパチとコマンドを打っていくことだけかと思います
ですがLinuxにもマウスでクリックしたりといつも使⽤しているPCのように使⽤することもできます
もしこの講座でLinuxに興味がでたら実際にインストールして試してみてください︕

46

ご静聴ありがとうございました︕

47