今日はLinuxについて書いていこうと思うよ。
もともとターミナルによく打ち込んではいたんだけど、正直ちゃんと理解していたわけではない・・。
カリキュラムに頼りっぱなしなところがある。
てことでせめてLinuxの概念とか、簡単なLinuxコマンドくらいは簡単にまとめようかなと思います。
Linuxとは
Linuxとは、Unix系オペレーティングシステムカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステムである。
(引用:https://ja.wikipedia.org/wiki/Linux)
わかりにくいっすね・・・。
Linuxとはコンピュータ用のOS(オペレーティングシステム)の一種のことで、コンピュータ全体を管理している基本的なプログラムのことを言うみたいです。
例えば、
- キーボードから文字を入力すると、入力した文字が画面に表示される。
- マウス・タッチパネルなどで画面を操作できる。
- イヤフォンをさすと、イヤフォンから音が聞こえる。
普段僕たちがパソコンを使用する上で、特段ストレスなく操作することを可能にしてくれているということのようです。
Linuxの特徴
主にサーバー向けによく利用されています。理由としては、
- オープンソースであり、誰でも自由に無償で利用できる
- 品質の高い多くのソフトウェアが利用できる
- 世界中でサーバ用途として広く利用されているため信頼性が高い
- 操作を自動化するための仕組みが用意されており、サーバの運用が行いやすい
無償かつ拡散性があり、スペックが高く、世界中で共通認識として使えるってところで色々便利みたいですね。
仕事するときにMicrosoftのOfiiceをよく使うと思うんですが、ああいう感じなんでしょうね。
基本的なコマンド
コマンドを実際に試していくわけですが、普段ターミナルに打ち込むかと思います。
そのときにユーザーの入力したコマンドを解釈するソフトウェアのことをシェルと呼びます。
普段何気なくターミナルに打ち込んでいましたが、あとはシェルが読み込んでくれているみたいですね。
ls
lsはlistの略です。
lsコマンドでは、カレントディレクトリにあるファイルやフォルダの名前一覧を出してくれます。
userMacBookPro:~ username$ ls
Applications Google ドライブ Public pitchshiftLogFile.txt workspace
BackgroundMusic Library SHOW projects
Desktop Movies bash_profile rbenv
Documents Music dump.sql reset.sql
Downloads Pictures evalonly.txt ruby
cp
cpコマンドはcopyの略で、そのままファイルをコピーするコマンドです。
下記コマンドで同じディレクトリにコピーファイルを作成します。
userMacBookPro:blog username$ cp scope.rb scope1.rb
<!--cp [コピー元] [コピー先] で表します-->
mv
ファイルの移動、およびリネームを行います。
userMacBookPro:blog username$ mv scope.rb /Users/kouyamaakira/projects/ruby
<!--mv [移動させたいもの] [移動先]-->
userMacBookPro:blog username$ mv scope.rb rename.rb
<!--mv [元のファイル] [新しいファイル名]-->
rm
ファイルを削除するコマンドです
userMacBookPro:blog username$ rm kesu.rb
<!--rm [消したいファイル名]-->
mkdir
Linuxで新規にディレクトリ(フォルダ)を作成するコマンドです。
userMacBookPro:blog username$ mk make
<!--mk [作りたいファイル名]-->
cat
ファイルの内容を表示できるコマンドです。
サーバーをつなげたときに、エラーを見たいときなんかによく使います。
userMacBookPro:blog username$ cat cat1.rb
なかがみえるよ
こんなかんじ
2つのファイルを結合して中身を見ることもできます。
userMacBookPro:blog username$ cat cat1.rb cat2.rb
なかがみえるよ
こんなかんじ
なかみを
くっつけれるよ
tail
ファイルの終わり部分を表示するコマンドです。
オプションをつけずに実行すると終わりから10行表示されます。
これもエラーデバッグなんかで使われます。
userMacBookPro:blog username$ tail scope.rb
(5)
1 数値型のid , 文字列型のname , 数値型のpriceをカラムに持つfoodsテーブルを作成しろ
2 foodsテーブルのid,name,priceそれぞれの値として、いれろ
3 foodsテーブルのid2のデータのpriceを600に更新
4 foodsテーブルのid2のデータを削除
5 nameがカレーライスであり、かつpriceが1000より小さいデータを検索
6 nemeがカレーライスまたはラーメンのデータを検索
7 nameがカレーライスのデータを探し、priceごとにまとめろ
この辺はアプリケーションをサーバーに繋いで動かすときによく使う気がします。
次回はvimとかについて書きたいな。