はじめに
今回はLinuxについて書いていきたいと思います。
パソコンを使うときは大体がゲームかYoutubeだった私が
Linuxを学び、黒い画面(CUI)と向き合った新卒研修で学んだことや、
自分で調べてみたことを書き連ねていきますので、どうか最後までよろしくお願いします。
Linuxって?
Linuxについて簡単に説明すると
サーバーやスマホの心臓部を支える、エンジニア必修のオープンソースOS。
サーバーから組込みまで、あらゆる環境で稼働する高い汎用性と安定性を持つ。
コマンドや権限管理など、習得には一定の学習期間が必要なので慣れてないと大変。
CUIって?
(Character User Interface)の略
機械にとって理解しやすく、人には慣れが必要。
シンプルな分、負荷が低いので開発向き。
文字を読んで、キーボードだけで操作する。
コマンドについて
一言で表すと
CUIでパソコンに指示を出すための「命令文」です。
pwd, ls, vi, rm, など多くの種類があります。
私たちが普段マウスで行っている、「フォルダをダブルクリックして開く」、「ゴミ箱に捨てる」、といった画面上の操作を、すべて「文字」に置き換えたものだとイメージすると分かりやすいです。LinuxというOSに、専用の英単語を使って直接おねがいごとをするような感覚です。
研修では
コマンドについての説明を聞いたら、次は実践。
研修はとにかく触って慣れてみるという進め方でした。
| pwd | cd | ls | vi | mkdir | touch |
|---|---|---|---|---|---|
| 現在地のパスを表示 | ディレクトリを移動 | ファイルやディレクトリの一覧を表示 | テキストエディタの起動 | ディレクトリを新規作成 | ファイルを新規作成 |
| rm | cat | less | cp | mv | grep |
|---|---|---|---|---|---|
| ファイルやディレクトリの削除 | ファイルの中身を表示 | ファイルの中身をスクロールで表示 | ファイルやディレクトリをコピー | ファイルの位置を移動させる | 特定の文字列を検索する |
上記は研修で使用したコマンドを簡単にまとめたものです。
コマンドの説明を聞いていくうちに、それらを覚える際になるべく意識し始めたことが
コマンドの意味は英語で覚えるということです。
cdはchange directory、lsはlist、mkdirはmake directory、といった感じです。
もちろん、すべてが英語にすれば覚えやすいというわけではありませんが(catとかgrepとか)
ある程度はこれで覚えることができました。
大変だったこと
-
ショートカットキー
Windowsの癖で Ctrl + C や Ctrl + Zを押してしまい大混乱。Linuxでは Ctrl + C が「強制終了」、Ctrl + Z が「処理の一時停止」になるため、普段使っているものが使えないことに苦戦しました。 -
テキストエディタ
編集に使うviが最大の難所でした。画面が切り替わったが最後、CUI特有の良くも悪くもシンプルな画面で閉じ方も文字の入力方法も分からず、iで挿入モード、:wq で保存終了という方法を知るまでは、Ctrl + Cで画面を強制終了したくなる衝動と戦っていました。
(※実際、viの中だと Ctrl + C は効かないんですけどね)
コマンドの"オプション"
Linuxのコマンドは、後ろにハイフン(-)とアルファベットを付けることで、挙動を細かくカスタマイズできます。
研修中、講師の方がサクサク使っていたり資料の片隅で見かけたりして気になったので、どんなものがあるのか自分なりに調べてみました!
-
ls -la(詳細&隠しファイル表示)
講師がほぼ100%付けていたオプション。-l(詳細表示)と-a(隠しファイル表示)の合体技で、ただのlsでは分からない権限(パーミッション)や更新日時が一発で可視化してくれる。
非常に便利、ぜひ覚えたい。 -
mkdir -p(階層ディレクトリの一括作成)
深い階層のフォルダを一度に作る効率化オプション。例えばmkdir -p a/b/cと打てば、aの中にb、その中にcを一瞬で同時に作ってくれる。
これも非常に便利、ぜひ覚えたい。 -
rm -rf(警告なしの強制全削除)
「絶対に手癖で打つな」と警告された恐ろしいオプション。-r(ディレクトリごと削除)と-f(警告なしで強制削除)の組み合わせ。Windowsの「ゴミ箱を経由しない完全削除」をノー確認で行う。
もし使う機会があったら細心の注意を払いたい。 -
rm -i(削除前の確認メッセージ表示)
上記のrm -rfとは真逆の、安全第一なオプション。ファイルを削除する前に「本当に消しますか?」とシステム側が一度確認メッセージを出してくれる。
取り返しのつかないミスを起こさないためにも、しっかりと覚えておくべき。
もちろん今回記載したものだけでなくまだまだ多くのオプションが存在するので、
案件などで必要になり次第調べて、業務の効率化を図っていきたい。
最後に
最初はWindowsとの違いに混乱し、viエディタに閉じ込められて冷や汗をかいた研修でしたが、仕組みや便利なオプションを知るうちに「新しいことを知る面白さ」を感じられるようになってきました。
結局のところ、黒い画面への苦手意識をなくすには、たくさん触って 「数をこなして慣れること」 が一番の近道なのだと思います。
これからも、気になったことは自分で調べてインプットし、実際にコマンドを叩いてアウトプットする。このサイクルを繰り返しながら、一歩ずつLinuxと仲良くなっていきたいと思います。