前書き
Linuxについて勉強したことを簡単にメモ。
概要・簡単なLinuxの歴史・広義のLinux、狭義のLinux・Linuxディストリビューションとは・実際のコマンド
などをメモしています。
今後追記していく予定です。
補足、修正あったらぜひお待ちしております。
Linuxとは
リーナス・トーバルズがUNIXというOSを真似て、一から作ったOSのこと。
大きな特徴は、「オープンソースであること」。利用するのもカスタムするのも無料で自由。
だから、サーバー用のOSにはLinuxが使われてることが多い。
またいわゆる組み込み機器である身近な電子機器にも搭載されることが多い。その場合、サーバーで使われるLinuxとは区別して「組み込みLinux」と呼ぶ。
補足:オープンソースではあるが、Linuxをベースにした商業用のOSもある。
簡単なOSの歴史
元々は「Multics」という今のOSと同じような動きを想定したOSが開発された。
しかし、昔のPCのスペックでは足りなかったため、単一の処理だけをするためのOSとして、「UNIX」が開発された。その後さまざまOSが登場していくが、UNIXをベースにしたものがほとんど。
そんな中、UNIXみたいな動きをするOSを目指し、中身を一から作りあげた天才が現れた。それが「リーナス・トーバルズ」。リーナスが作ったUNIXだからLinux。
外面を真似しようとしただけで中身は全く違うものだから、著作権には引っかからなくて、全部無料で公開できた。
広義のLinux, 狭義のLinux
####広義のLinux
OS全体のこと。Linuxとして動くもの全てを合わせた言い方。または、Linuxを利用できるようにまとめ上げた配布形態のこと。
別の言い方をすると、「Linuxディストリビューション」ともいう
例 ) ubuntu、CentOS、Debian、Fedora 等
####狭義のLinux
「Linuxカーネル」のこと
ハードウェアとソフトウェアの中立ちをしてくれる、OSとして動く大元の部分。
実際のコマンド操作(ターミナル)
###ターミナル操作についてのメモ
操作する時のイメージは、階層の移動(イメージというかその通りなんですが)。
自身が今いる階層を「.」で表すことができ、一個上は「..」。
常に自分がどの階層のどのフォルダにいるのかを把握しないと操作できない。
GUIの方が直感的でわかりやすく、誰でも操作できるという強みがあるが、ターミナルのコマンドでの操作の方が膨大な処理を行うのがたやすい。
それぞれのコマンドに -(ハイフン) + なんか でオプションの機能をつけることができる。
###よく使う代表的なコマンド
ls
listの略。現在自分がいる階層のデータを表示する。-a コマンドをつけると、隠れているファイルもすべて表示。
オプション -l
もっとたくさん見れる。
ailias ll = ls -l
ってしておくと使いやすい(bashではもともとそういう設定になっている。)
pwd
print working directoryの略。現在位置を表示するコマンド。一番親の階層から、自分がいる階層までのパス(流れ・繋がり)を表示する。
cd
change directoryの略 ディレクトリの移動に使う。基本的にディレクトリは縦に繋がっている場所への移動しかできないので、行きたいディレクトリの親ディレクトリに行ってから、再度行きたいディレクトリに向かう。みたいな動きになる。 . は階層を表しているので cd . は動かず、cd .. で一階層上に行ける。
mkdir
make directoryの略 新しくディレクトリを作るコマンド。mkdr ディレクトリ名
mv
:moveの略。 名前の変更またはファイルの移動に使う。
rm
removeの略。削除用のコマンド。mvと間違えて打つと悲しいことになる。ディレクトリを消すときは -rコマンド を追加
cat
catenateの略。ファイルの中身を閲覧する。
du
disk used
ディスク容量を調べるために用いるコマンド
オプションで単位指定できる。
-b:バイト表示
-k:キロバイト表示
-m:
-g
-h可変
システム全体を見たい場合はスーパーユーザーで行う
df
disk free
ファイルシステム(パーティション)ごとの空いているディスク容量を確認するコマンド。
cp
copy
ファイルをコピーするコマンド。
grep
global regular expression print
ファイルや標準入力から正規表現でマッチする行を抜き出すコマンド。
ファイル内に記述している内容から検索したいときに用いる。
ファイルの中身検索用
git grep
gitで管理しているリポジトリの範囲内限定で使うことができるgrep
検索範囲が狭まっているため、圧倒的に早い。
find
ディレクトリの中身検索用。