こんにちは、相戸ゆづなです。
私はひとり鯖(Calckey)を持っていますが、Linuxの前提知識なしで建ててしまったため、何かあるとすぐパニックを起こしていました。
検索をかけ出てきたブログを訳も分からず実行して事態を悪化させる、なんてこともしょっちゅうありました。
さすがにそれではマズいので「基礎から学ぼう」となり、今回のブログ記事を書いて理解を深めることにしました。
- Linuxってなに?というかUbuntuってやつ入れられたんだけど、これどう違うの?
- 雰囲気でサイトに載ってるコマンドをコピペしてた(よく理解してない)
- コマンドを打つたびにヒヤヒヤしてる
こういう人が私以外にも結構いるんじゃないかなと思い、メモを公開します。
そもそもLinux・Ubuntuって何?
Linuxって何?
一言でいうなら、コンピューターを動かす土台(OS)のソフトウェアの「核」です。
他の製品で言うなら「Windows」や「Mac」に近いものです。
ただ、LinuxはあくまでOSの「核」なので、少し定義から外れますが……。
ディストリビューションとUbuntu
Linuxはあくまで「核」なため、エディターやデータベースなど、コンピューターを使う上で必須なソフトウェアを別途インストールする必要があります。
しかし、ソフトウェアやそれを制御するプログラムの相性を考えなければならず、相性を解決するには専門的な知識を必要とするのです。
そこで専門的な知識を持った企業や個人が、製品として使えるように全部組み合わせ、パッケージにして配布するようにしました。(ディストリビューション)
その配布されているパッケージの1つが「Ubuntu」です。
なので、Linuxを核にしてパッケージにして、みんなが使えるようにしたものが「Ubuntu」ということになります。
コマンドはこわくない
UbuntuやLinuxは黒い窓でカタカタ入力していくイメージがあり「プロっぽい」「ちょっと怖い」と思ってしまいがちです。
でもコマンドの大まかな意味を覚えておけば、自分が何をやってるか把握でき、その敷居の高さも少しは緩和されると思います。
コマンド入力画面・左側の謎の呪文(プロンプト)
hogehoge@123.456.78.901:~ $
左側の謎の呪文を1つずつ分解します。
hogehoge:ユーザー名
今どのユーザーでログインしているのか表示しています。
123.456.67.901:ホスト名
接続しているパソコンorサーバーの名前やIPアドレスが表示されています。
~:ディレクトリ名
今自分がいる場所(フォルダーの住所、Linuxではディレクトリという)を指しています。
~
はルートディレクトリを表しています。(WindowsでいうC:\Users\ユーザー名
)
$:ユーザーの権限
$
:一般ユーザー#
:管理者
この箇所でユーザーの権限を見分けます。
rootユーザーはすべての権限が与えられているので、’#’で表示されます。
右側の呪文は何してるんだろう(コマンド)
sudo useradd -g saru
ブログなどで出てくるこのコマンドも、1つ1つ分解していくとそんなに複雑なことをしていません。
sudo:一時的に管理者権限になる
一般ユーザーだと権限が無くて実行できないコマンドがあります、
そのため、一時的に管理者権限者として実行するようにします。
useradd:コマンド
コマンドのメインである命令文です。
こいつを変えることで実行する命令を変えることができます。
-g:オプション
コマンドの動きを追加・変化させるスイッチです。
オプションが無くても動きますが、これを追加することで命令をより細かくするという感覚で覚えておけばOK。
saru:引数
コマンドに操作対象や文字列を教えるためのものです。
例として「どのディレクトリーにいくのか?」「何を入力すればいいのか?」などをここで設定し、コマンドに返します。
参考・オススメ書籍
今回この記事を書くにあたり、下記の書籍を参考にしました。

複雑なLinuxの話をマンガでわかりやすく、丁寧に書かれているので初学者にはオススメです。
この本を読んだ後に、Linuxコマンドリファレンスを常備しておくと、Linuxコマンドに対して抵抗感がなくなるはず。

ネットで出てきたコマンドの意味を調べるだけでも、自分が何をしようとしているのか把握できるので常備しておくと吉。