(Linux)Linuxの基本コマンド

私が業務で頻繁に使うコマンドをまとめてみました。

システムの情報を見る

・システムの情報を表示(uname)
 -a:全ての情報を表示、-n:システムのホスト名を表示
・システムの日付と時刻を表示(date)
 引数なし:システムの日時を表示、
 -s “yyyy/mm/dd hh:mm” :システム時間の修正

ディレクトリの確認、移動

・指定したディレクトリ内のファイルを表示(ls)
 -a:隠しファイルも含めて全てのファイルを表示
 -l:パーミッション、更新日時、サイズ等も表示
・現在のディレクトリを確認(pwd)
 引数なし:現在のディレクトリを確認
・ディレクトリの移動(cd)
 cd フルパス:ディレクトリの移動

ファイルの中身を見る

・ファイルの内容を表示(cat)
 cat ファイル名:ファイルの内容を表示
・ファイルの内容をページ単位で表示(less)
 less ファイル名:ファイルの内容をページ単位で表示
・ファイルの先頭を表示(head)
 head ファイル名:ファイルの先頭を表示
・ファイルの末尾を表示(tail)
 tail ファイル名:ファイルの末尾を表示

ファイルを編集、複製、移動、削除する

・ファイルを編集(vi)
 vi ファイル名:ファイルを編集
・ファイルをコピー(cp)
 cp コピー元 コピー先パス:ファイルをコピー
 -p:タムスタンプやパーミッションの情報を保持したままコピー
・ファイルの削除(rm)
 rm ファイル名:ファイルの削除
 -R:ディレクトリを削除、-f:強制的に削除

Cisco機器の基本コマンド

本記事は下記の記事を見ている事が前提です

機器にコンフィグを設定する際の必須コマンド

※ルータ、スイッチ共通

・コンフィグを設定出来るモードへ移行
 Router> enable ← 特権モードへ移行
 Router# configure terminal ← グローバルコンフィグレーションモードへ移行

・特権モードへ戻る
 Router(config)# end

・現在のコンフィグ(running-config)を確認
 Router> enable ← 特権モードへ移行
 Router# show running-config ← 現在のコンフィグを確認

・設定を保存
 Router# copy running-config startup-config
 Destination filename [startup-config]? ← Enterキーを押下

・機器の初期化
 Router# erase startup-config
 Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] ← Enterキーを押下
 Router# reload
 System configuration has been modified. Save? [yes/no]:no ← running-configをstartup-configに保存するか聞かれる
 Proceed With reload? [confirm] ← Enterキーを押下

エラーメッセージについて

・% Ambiguous command:
 その文字から始まるコマンドが複数あるので、どのコマンドか判断出来ません。

・% Invalid input detected at ‘^’ marker.
 「^」のところで入力間違いをしています。または、そのモードで使用できないコマンドです。

・% Incomplete command.
 コマンドの入力が不完全です。引数が足りていない可能性があります。

tips(お役立ち事項)

・Tab補完機能
 「configure terminal」をフルスペルで入力するのは面倒だと思います。
 そんな時にキーボード「Tabキー」を使って補完出来ます。
 Router# con ← Tabキーを押下
 Router# configure ← 補完される
 Router# configure t ← Tabキーを押下
 Router# configure terminal ← 補完される

・省略機能
 「configure terminal」は「conf t」と省略して入力できます。
 他にもありますのでよく使うコマンドは覚えておきましょう。
 en ← enable
 sh run ← show running-config
 erase start ← erase startup-config

・ヘルプ機能
 コマンドを全部覚えるのはかなり大変です。
 コマンドがわからないときは「?」を入力しEnterキーを押下すると使用可能なコマンドが表示されます。
 使用できるコマンドの一覧が表示されます。
 Router#? ← 「?」だけを入力してEnterキーを押下
 Exec commands:
 access-enable Create a temporary Access-List entry
 access-profile Apply user-profile to interface
 access-template Create a temporary Access-List entry
 bfe For manual emergency modes setting
 cd Change current directory
  …

 Router#show ? ← 「show ?」と入力してEnterキーを押下
 access-expression List access expression
 access-lists List access lists
 accounting Accounting data for active sessions
 adjacency Adjacent nodes
 aliases Display alias commands
  …

Linuxってなんですか?

Linuxの概要

 LinuxとはOSの1つです。OSとはパソコンやスマホを
 管理、制御する為のソフトウェアでPCの「windows」や
 スマホの「Adndroid」iphoneの「IOS」もOSの1つです。
 

Linuxのシェア

 サーバーOSのシェアではLinuxが半数以上を占めています。
 それもそのはず、Linuxは無料で使えるのです。
 今後もIOTの発達等でLinuxがどんどん活用されていくので
 Linuxを扱える事はエンジニアにとっての強みです。

Cisco機器の基本

ここではルーターとスイッチを中心に説明します。

■必須アイテム
・コンソールケーブル
 Cisco機器を始めとするネットワーク機器にはコンソールポートと呼ばれるポートがあり、初期の状態からは専用のケーブルを接続し機器の操作を行います。
 水色のところがコンソールポート↓

 水色のケーブルです。Amazonで買えます。

・ターミナルソフト
 Tera Term等のソフトをPCにインストールしましょう。
 コンフィグ(設定)が入っていない状態からの操作は
 基本的に下記のように接続して操作を行います。

■ルーターとスイッチの違い
・ルーター
 IPアドレス(L3)で通信
・スイッチ
 MACアドレス(L2)で通信
 スイッチにはL3,4スイッチ等もありますが、
 スイッチ=L2スイッチを指すことが多いです。

■初回起動時
下記のようなメッセージが出力されます。
—-
please answer ‘yes’ or ‘no’.
would you like to enter the initial configuration dialog? [yes/no] :
—-
これは、コンフィグ(設定)が入っていないけど初期設定を対話形式でやる?
といったメッセージなので「no」を入力し「Enter」
コマンドを入力してコンフィグを入れていくのが一般的です。

■モード
Cisco機器の操作の際にはモードと呼ばれる概念があり
モードによって使用できるコマンドが変わります。

[]内にはプロンプトを表示しています。
プロンプト:コマンドが入力可能な状態の時に表示される文字
・ユーザモード[>]
 基本的な動作確認を行うモード。
・特権モード[#]
 管理者が動作確認、設定確認を行うモード。
・グローバルコンフィグレーションモード[(config)#]
 機器の設定を行うモード。下3つのモードに昇格するには
 まずこのモードに入る必要がある。
・インタフェースコンフィグレーションモード[(config-if)#]
 IPアドレス等のインタフェースに関連する設定を行うモード。
・ラインコンフィグレーションモード[(config-line)#]
 コンソールやtelnet等の機器接続に関連する設定を行うモード。
・ルータコンフィグレーションモード[(config-router)#]
 ルーティングプロトコルに関連する設定を行うモード。

■メモリの種類
Cisco機器は下記の4種類のメモリで構成されています。
それぞれの役割を理解していないと、
「頑張ってコンフィグ作ったのに設定が消えた…。」
なんて事になってしまいます。

・ROM
 読み込み専用のメモリで削除不可です。下記の3つが入っています。
 POST:起動時にハードウェアの診断を行う。
 ブートストラップ:起動時にIOS(CiscoのOS)を読み込む。
 ROMMON:パスワード忘れ等のトラブルが発生した時用。
・RAM(running-config)
 現在の設定情報が入っています。電源OFFで消えてしまいます。
・NVRAM(startup-config、コンフィグレーションレジスタ)
 startup-config:起動時はここの設定を読み込みます。
 コンフィグレーションレジスタ:起動モードを決める値。
・flashメモリ(IOS、vlan.dat)
 IOS:CiscoのOS。
 vlan.dat:VLANの情報が入ったデータベース。
 

Linuxの基本

■操作方法について
Linuxには2つの操作方法があります。

・GUI
 画面の矢印をマウスやタッチパッドでくるくる動かすような
 直感的な操作をする方法(PCの操作は基本こっちです。)
 スマホを指でぽちぽちするのもGUIの操作です。
・CUI
 キーボードからのコマンド入力で操作をする方法
 よくドラマである黒い画面に向かってキーボードをカタカタしてる人も CUIの操作です。

私たちが普段使うのはGUIの方ですが、
GUIの操作でも裏ではCUIのコマンドが実行されています。仕事でLinuxを操作する事がありますが、9割以上がCUIなのでCUIをマスターしましょう。

■シェル
カーネル:OSの中の中核的なプログラム
「シェルはカーネルとユーザーの橋渡しをする。」

例えば、Linuxで「cat」コマンドを入力すると
ファイルの中身を表示してくれます。
これは、ユーザーとカーネルの間にシェルが入り
シェルというコマンドをユーザーからカーネルに受け渡し
カーネルからユーザーへコマンドの実行結果の返すという
作業をシェルがしているので画面にファイルの中身が表示されます。

■ディレクトとリツリー構造
ディレクトリ:フォルダの事
※今後フォルダの事はディレクトリと言い換えます。

Linuxの全てのファイルはディレクトリで整理され ツリー構造とも呼ばれます。図でいうとこんな感じです。

妹が自分のディレクトリに行く場合、まず「家族」ディレクトリ、 次に「兄弟」ディレクトリに行って「妹」ディレクトリへ辿りつきます。 パス:ファイルへの道順 例えば、妹ディレクトリにある「flower.jpg」のへパスは 「/家族/兄弟/妹/flower.jpg」の様になります。

■パーミッション(アクセス権)
パーミッションとはwindowsのACL(Access Cotorol List)と同じで ファイルやディレクトリに対して、どのユーザーがどの操作を行うかの 許可設定をするために存在します。

アクセス権は3種類のユーザーごとに3種類の設定が可能
・アクセス権の設定ができるユーザーの種類

ユーザー 権限
所有者 そのファイルを所持するユーザー
グループ そのファイルを所持するグループ()
その他(other)

所有者、グループに該当しないユーザー
(同じサーバーを共有する他のユーザー等です)

・設定可能な権限

権限 記号 数字 ディレクトリ ファイル
読み r(read) 4 ディレクトリ内の表示 中身表示
書き w(wright) 2 ディレクトリ作成 中身編集
実行 x(execute) 1

カレントディレクトリ可

実行可能

Linuxのアクセス権は「rwxrw-r–」の様に表示され、左から
所有者、グループ、その他になります。上記の例の場合は
所有者がrwxで全て可、グループはrwで読み書き可、
その他がrで読みとりのみ可であることを示しています。

 

Ciscoってなんですか?

Ciscoの概要

 ネットワーク機器の開発を行っている海外のメーカーです。
 有名な製品としてはルーターやスイッチなどがあり、
 Cisco社製の機器はCisco機器と呼ばれたりもします。
 

Cisco社の資格について

 Cisco社はネットワーク分野の資格試験を実施しており
 業界内での認知度も非常に高いです。資格の所持は
 スキルの証明にもなるので是非取得を目指しましょう。

転職後、環境が大きく変わる

転職活動

転職活動開始時のスペック
・経歴
社内システムの運用1年6ヶ月
・資格
VBAの資格2つ
TOEIC 750

大したキャリアはないものの、職務経歴書には社内システムの運用という風に書けたので書類選考自体は4割くらい通過しました。
未経験応募可の求人にも応募していたので3社ほど内定をいただき今のところで働いています。

変わったこと

・案件
前職では運用保守やヘルプデスク的な案件が大半でしたが、
今は技術レベルの高い案件が多くエンジニアとして成長できる
環境がそろっています。

・周りのエンジニアの意識
常に何かの資格や新しい技術の習得に向けて学習しているのが
当たり前という環境なので、同じ目標に向けて学習している
仲間がいることが自己研鑽のモチベーション維持に繋がります。
また勉強方法や新技術等の情報共有もできるので良い環境です。

新卒で入った会社では電話番をしていました

楽しかった研修

入社直後の研修では同期と一緒にビジネスマナーやITを学び
大学の延長の様な感じでとても楽しかったです。
ITの基礎やVBAを使ったプログラミング等を教わり
「ITって面白い!」と感じたりして
入社後の数ヶ月は高いモチベーションを維持していました。

ヘルプデスク業務の開始

研修が終わり、私はお客様先に配属になりました。
私の業務は色々ありましたが、メインはヘルプデスクです。
ヘルプデスクとは社内向けのコールセンターみたいなのです。
電話の内容も大体同じだったので数ヶ月でマスターしました。
VBAでごりごりプログラミングしちゃうぞ~!
と意気込んでいたのですが、気づけば電話番をしてました。

お給料

表向きはIT企業ですが実態は電話番、給料はお察し下さい。

意識高い系という言葉

上記のような状況でしたが、腐らずに自己学習をしていました。
そんな私にかけられた上司、同期の言葉達
・休日にTOEICを受験した話をしたら
「〇〇さん、意識高いですね~、何でそんなに頑張れるんですか?」
・資格をとってエンジニアの仕事をしたいという話をしたら
「〇〇さん、意識高すぎてちょっと引いちゃいます…。」
・配属直後、休憩時間にプログラムのサイトを見ていたら
「この会社でそんな知識要らないよ(笑)」

IT企業って技術好きが集まるんじゃないんですか~~~(泣)
他の要因もありますが、この会社で成長は出来ないと思い転職活動を始めました。