見出し画像

入社する前に知りたかったLinux の基本知識!

こんにちは。コグラフSSD−2事業部の斉藤です。
本日の記事は私が未経験エンジニアとして案件先に配属さえる前に知っておきたかった知識を皆さんと共有できたら思います。入社する前にこれだけは知っていたら業務で役に立つ知識をご紹介します。


そもそも Linuxとは何なのか?

そもそもLinux とはなのですが、Operating System の一つに分類されます。例えば、Mac ユーザーならMacOS使ってたり、Windowsユーザーなら Windows 10 などがOSにあたります。どれもやっている事は同じで、主なOSのタスクとして、ファイル管理(SSDなどの記憶媒体にファイルの書き込み)、入出力管理、タスク管理(CPUやメモリ、SSDなどのリソースを効率的に割り当て)、メモリ管理、利用者情報管理などが主な役割を担っています。そしてこのOSに命令を与えたい時にシェルを通してカーネルとやり取りをする事によってファイル操作などが可能になっています。

なぜ Linux を使用するのか?

なぜ MacOS や Windows 10などを使わないで Linux を使用するのかは個人によりますが、主に下記のような理由があります。

  • オープンソースで無料

  • パソコンの性能が低くても動く

WindowsOSを使うとなるとまずライセンスを購入をする必要があったり、企業側にとっても無料で使えるLinux は経費の削減にも繋がります。その次にオープンソースである事です。オープンソースコードとは一般にプログラムのコードが公開されているため、目的に応じたカスタマイズが高いと言えます。

シェルとは何なのか

シェルとはLinux が提供する全体の一部になります。何ができるかというと、Linux が全体のOperation system ですが、シェルコマンドを入力し、カーネルと対話することができます。シェルが提供するコマンドやプログラムを使って作業することで様々な操作が可能になります。

  • ファイル、ディレクトリ操作

  • ファイルの中身の表示、編集

  • プロセスの管理

  • ユーザとグループの管理

  • システムの設定

  • バッシュスクリプティング(タスクの自動化)

これらのコマンドを使用することで、システムの基本的な操作や管理が可能になります。システムの設定や監視などをスクリプを組み自動化などもできます。今回はその中でも業務で使用する可能性が高いファイル、ディレクトリ操作、ファイルの中身の表示、編集、システムの設定を見ていきましょう。

ファイル、ディレクトリ基本コマンド(cd, cp, mv, rm)

  • cdコマンド

cd [ディレクトリのパス]

cd(Change Directory)を使用することによって作業ディレクトリ(カレントディレクトリ)を変更することが可能です。


  • cpコマンド

cp [コピーしたいファイル、ディレクトリ] ディレクトリまたはファイルのコピー先

ファイルやディレクトリの複製を手軽に行うため、システム管理やファイル操作において頻繁に使用されます。


  • mvコマンド

mv [コピーしたいファイル、ディレクトリ] ディレクトリまたはファイルの移動先

ファイルやディレクトリを移動(またはリネーム)するためのものです。mvは "move" の略です。このコマンドを使用すると、指定したソースファイルまたはディレクトリを指定したディレクトリに移動したり、ファイルのリネームが可能です。


  • rmコマンド

rm file.txt
rm -r directory_name

rmコマンドは、UnixおよびUnix系オペレーティングシステムで使用されるコマンドで、ファイルやディレクトリを削除するためのものです。rmは "remove" の略です。
rmコマンドの基本的な構文は以下の通りです:


ファイル中身の表示、編集(cat, grep, nano)

  • catコマンド

cat file.txt

## 複数のファイルを連結して表示する場合
cat file1.txt file2.txt

## ファイルの内容を他のファイルにコピーする場合
cat source.txt > destination.txt

ファイルの内容を表示したり、ファイルを連結したりするためのものです。


  • grepコマンド

grep パターン ファイル

## 例えば、ファイルexample.txtから文字列"keyword"を含む行を検索する場合
grep "keyword" example.txt

オペレーティングシステムで使用されるテキスト検索ツールで、指定したパターンと一致する行をファイルから抽出するためのものです。grepは "Global Regular Expression Print" の略です。


  • nanoコマンド

nano [ファイル名]

nanoは簡単なテキストエディタであり、コマンドラインから簡単に起動して使用できます。


システムの設定(sudo, chmod)

  • sudoコマンド

sudo コマンド
sudo apt-get install packageName

スーパーユーザー(rootユーザー)の権限でコマンドを実行するためのものです。"sudo"は "Superuser Do" の略であり、権限昇格を行うためのコマンドです。例えば、apt-getパッケージマネージャを使用してパッケージをインストールなどもできます。


  • chmodコマンド

chmod モード ファイル

ファイルやディレクトリのアクセス権限を変更するためのものです。chmodコマンドを使用することで、ファイルやディレクトリに対する読み取り、書き込み、実行などの権限を制御できます。


まとめ

未経験のエンジニアとして入社して、案件に配属されて2ヶ月目の自分だからこそ、今、エンジニアを目指している人近い目線で記事が書けたのではないかと思っております。エンジニエアといっても様々なエンジニアが存在し、その分野に特化していく必要があるのではないかと感じてはいますが、Linux の基本知識(OS、カーネル、コマンド)は必ずどのエンジニアを上で必要最低限の知識だと思っております。Linux の知識をつけてGUI だけでファイル移送をするだけではなく、CUIを使えると重たいファイルのコピーなどもミスなく移送などもできるようになります。コマンドは黒い画面で取っ付きにくいイメージもありますが、この記事から少しでも学んでみようかなって思ってくれたら幸いです!今、未経験からエンジニアになりたい人をコグラフでは応援してます!話でも聞いてみたいな〜って方は下記のリンクからお問い合わせ下さい。弊社のHRが対応致します。それでは最後ですが、記事を読んでいただきありがとうございました!


この記事が気に入ったらサポートをしてみませんか?