Progateを使ってターミナルのコマンドラインを習得する

ターミナルコマンドとは?

Progate コマンドライン
ターミナルコマンドはUNIXコマンドを指しています。UNIXはOSです。UNIX系のOSにはLinuxがあります。UNIX系のOSはすべてpostixという規格で統一されているそうで、全て同じコマンドが使えるそうです(後述)

Progateの学習内容

Progateというサービスでコマンドラインが無料で学べます。ターミナルでよくつかうコマンドを学習していくようですね

かきながらやらないとわすれるので表にします。

ファイルを作成する $touch | $thouch begginer.txt
ファイルの中身を表示する $cat| $cat exsample.txt
ディレクトリを作成する $mkdir | $mkdir html
ディレクトリの移動 $cd | $cd html $touch study.txt (htmlディレクトリに移動後 study.txtを作成)
カレントディレクトリを表示する $pwd | $pwd $cd $cd languages $pwd カレント表示→移動→カレント表示
ディレクトリとファイルの一覧を表示 $ls | $ls $cd languages $ls 表示→languagesに移動→表示
$ls -a | ls -aは隠しファイルも表示します
一つ前のディレクトリに戻る $cd .. | $cd html $cd .. htmlへ移動してまた戻る
$cd ..は半角スペースが必要
ホームディレクトリに移動する $cd のみ
ファイルやディレクトリの移動 $mv beginner.txt progate
$mv 移動させたいファイルもしくはディレクトリ 移動先
ファイル名を変更する $mv beginner.txt dojo.txt
$mvコマンドはリネームにも使用 $mv 元の名前 新しい名前
ディレクトリーのコピーとファイルのコピー
  • $cp beginner.txt newbeginner.txt | $cp コピー元の名前 新しいファイル名
  • $cp -r html newhtml | $cp -r コピー元のディレクトリ 新しいディレクトリ名
ディレクトリあるいはファイルの削除
  • $rm beginner.txt | $rm 削除したいファイル名
  • $rm -r html | $rm -r 削除したいディレクトリ名

コマンド以外の知識

  • カレントディレクトリ: 自分が今いるディレクトリのこと
  • ルートディレクトリ: 一番てっぺんのディレクトリ → \ バックスラッシュで表される
  • $lsコマンドはひとつの階層だけ表示される
  • ホームディレクトリ: ユーザーが作業する起点となるディレクトリ
  • $cp → コピーコマンドは -r をつけるとディレクトリのコピーになる
  • $rm → 削除コマンドで -r をつけないとディレクトリが削除できない
  • 過去に実行したコマンドを使う → 矢印の上キー↑で表示可能

ターミナルコマンドの分類

あまり分類してもしょうがないかもしれませんが一応わけて整理しておきます。

表示 $pwd, $ls
移動 $cd ディレクトリ名, $cd(ホームディレクトリ), $cd ..(一つ前)
作成 $touch(ファイル), $mkdir(ディレクトリ), $cp(コピー), $cp -r(ディレクトリーコピー)
削除 $rm
移動とrename $mv

そのほかにしっておくとよいこと

ターミナルコマンドは別にいいんだけどCentOSとかの扱いに困ることがある。また〇〇コマンドってなんだ?

とかなったりするので無知識だとひどいことになる。

UNIXとは

unixとは
unixコマンド?linuxコマンド?ってなったら、ドットインストールのunixコマンド入門をみてみるとよい。unixが派生したのがlinuxはlinuxはdistributionというものが配布されているらしい。

重要なのはpostixという規格があるみたいで、unix系はコマンドが統一されているということ。unixコマンドとlinuxコマンドって同じだったんだな・・・。

su

一般的なsuの使い方の場合ユーザはroot権限を一時的に使えるようになる。プロンプトは「#」になりexitするまで持続する。su使用時にきかれるパスワードは「rootのパスワード」である。
su ターミナル

suはユーザーを変更することもできる。以下はpostgresユーザーに変更した例
su ユーザーの変更

suで現在のユーザーをログアウトさせたり、rootを終了するには exit を使う
su exit

ルートディレクトリとホームディレクトリ

ルートディレクトリは簡単にいうとシステムの一番上の階層のファルダのことをさしています。ホームディレクトリはログインしたときにいるディレクトリのことをいいます。単に $ cd とうつとホームディレクリもどることができます。

ホームディレクトリやルードディレクトリは以下の記号であらわすことができます。

ルートディレクトリ /
ホームディレクトリ ~/

sudo

sudoはコマンド。sudoをしらないでなにかをやっているとファイルのパーミッションが変更できないんだが(汗)みたいなことになるので、とりあえずこれをよんどくのをすすめる↓
【完全初心者向け】Linuxのrootユーザとは?
sudoは一時的にroot権限を与えることができるようになる。rootはなんでもできてrm *とかするとパソコンのファイルが全部消えちゃったりするらしい。

PATH

PATHがないとなんだかうまくいかないということがおっきる。そもそもPATHってなんだよってかんじならこれをよむことをすすめる↓
パス(PATH)の確認と設定方法は? – Pocketstudio.jp Linux Wiki

PATH(経路)がとおっていればコマンドが使えるみたいなそんな感じだろう。重要なのはPATHの確認方法とPATHを通す方法だろう。とりあえずなんかうまくいかなかったらPATHを通してみるみたいな展開になるとおもうので、これは知っておいたほうがいい。

PATHの確認 $ echo $PATH
PATHを通す $ PATH=$PATH:/usr/local/pgsql/bin

$ export PATH
現在のいる位置のPATHを確認 $ pwd

PATHは複数とおっているので、echo $PATHで確認すると :(コロン)区切りになっているのがわかる。そのほかに現在の位置をささっとしりたいことがある。そういうときは $ pwd コマンドを使う

aliasコマンド

aliasコマンドは現在登録されているエイリアスをしらべることができる

$ alias

aliasを設定するには自分で設定することもできる。cをcdコマンドに設定する例

$ alias c="cd"

ターミナル alias
上記のalias設定方法だとターミナルを閉じてしまうと設定が消えてしまいます。自分で設定したaliasをずっと使いたい場合は、ルートディレクトリにある.bashrcというファイルにaliasを記述する必要があります。

その他にも細かい設定があり長くなるので、こちらの記事に詳しくやり方を書いています↓
Railsコマンドのaliasを設定する方法を誰にでもわかるように書く

find

〇〇を設定するとよい展開になるのですが、ファイルの場所がわからずにイライラすることがあります。そういうときはfindコマンドを使用します。

sudo find / -name hoge
sudo find / -name hoge -type d

grep

grepコマンドはファイルから文字列を検索します。grepコマンドはたくさんオプションがあるので、把握しきれてはいませんが、つかいどころとしてはログファイルから指定の文字列を検索したりするときに使うのではないかと思います。

grep "hello" hoge.txt #hoge.txtファイルから文字列helloを検索する
grep "hello" hoge.txt #拡張子が.txtのすべてファイルから文字列helloを検索する

インストールしたパッケージを削除したり調べたりする

いろいろやっていたら、パッケージを削除してみたりする展開になることがあります。

インストールされたパッケージを確認するには以下のコマンドを使えばよいようです

$ rpm -ql (パッケージ名)

パッケージを削除するにはyum removeを使えばよいようです。

sudo yum remove (パッケージ名)

Progateターミナル – まとめ –

Progate 達成

Progateいいですね。サクサクすすめられて結構やりがいもありました。確認のために$lsコマンドやら$pwdコマンドやらつかったり目的のディレクトリにいくのに$cdコマンドをつかいまくったりして、結構すぐに習得できそうな感じがしてよかったです。

しかもターミナルコマンドの学習は全部無料でできるのでいいです。

最後の問題の総復習はやりがいがあってよかったです。

Progateおすすめです。
Command Line 学習コース 基礎編 | プログラミングの入門なら基礎から学べるProgate[プロゲート]

補足・トラブルなど

プロセスの一時停止と再開

ターミナルであやまってCtrl-zを押してしまい、なんだか知らないけどアプリケーションが停止してしまうことがある。Ctrl-zをターミナルでおすとプロセスが一時停止してしまう。
ターミナル ctrl-z

画像のように停止とかかれて起動中のアプリがとじてしまう。再開するにはfgコマンドを使用する。停止という文字の横に番号が書いてあるのでそれと組み合わせる

fg 1

fingerコマンドが見つかりません

fingerコマンドが見つからないときはpinkyコマンドを利用する

centosでユーザーの一覧を表示する

centosでいろいろやっていたらユーザーの一覧が知りたくなることがある。そのときは以下のコマンドを使用する

$ cat /etc/passwd

ホストとは

プログラミングの勉強をはじめるとホストというよくわからない言葉がでてきます。ネットの情報によるとホストとは単に ipアドレスが割り振られたコンピューターのことのようです。ipアドレスはインターネットにつながった機器がもっている番号のことで、インターネットにおける住所のような役割があるようです。

unixコマンドでホスト名(hostname)をしらべる場合は以下のようにします。

$ hostname
  localhost.localdomain

hostnameコマンドに -I オプションを渡すとipアドレスが表示されるようですが、実質的には ip -4 a コマンドを使ったほうがよいようです。

$ ip -4 a #IPv4の情報だけを表示させる