ターミナルコマンドとは?
ターミナルコマンドは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 元の名前 新しい名前 |
ディレクトリーのコピーとファイルのコピー |
|
ディレクトリあるいはファイルの削除 |
|
コマンド以外の知識
- カレントディレクトリ: 自分が今いるディレクトリのこと
- ルートディレクトリ: 一番てっぺんのディレクトリ → \ バックスラッシュで表される
- $lsコマンドはひとつの階層だけ表示される
- ホームディレクトリ: ユーザーが作業する起点となるディレクトリ
- $cp → コピーコマンドは -r をつけるとディレクトリのコピーになる
- $rm → 削除コマンドで -r をつけないとディレクトリが削除できない
- 過去に実行したコマンドを使う → 矢印の上キー↑で表示可能
ターミナルコマンドの分類
あまり分類してもしょうがないかもしれませんが一応わけて整理しておきます。
表示 | $pwd, $ls |
---|---|
移動 | $cd ディレクトリ名, $cd(ホームディレクトリ), $cd ..(一つ前) |
作成 | $touch(ファイル), $mkdir(ディレクトリ), $cp(コピー), $cp -r(ディレクトリーコピー) |
削除 | $rm |
移動とrename | $mv |
そのほかにしっておくとよいこと
ターミナルコマンドは別にいいんだけどCentOSとかの扱いに困ることがある。また〇〇コマンドってなんだ?
とかなったりするので無知識だとひどいことになる。
UNIXとは
unixコマンド?linuxコマンド?ってなったら、ドットインストールのunixコマンド入門をみてみるとよい。unixが派生したのがlinuxはlinuxはdistributionというものが配布されているらしい。
重要なのはpostixという規格があるみたいで、unix系はコマンドが統一されているということ。unixコマンドとlinuxコマンドって同じだったんだな・・・。
su
一般的なsuの使い方の場合ユーザはroot権限を一時的に使えるようになる。プロンプトは「#」になりexitするまで持続する。su使用時にきかれるパスワードは「rootのパスワード」である。
suはユーザーを変更することもできる。以下はpostgresユーザーに変更した例
suで現在のユーザーをログアウトさせたり、rootを終了するには 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をずっと使いたい場合は、ルートディレクトリにある.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を検索する
grepで非常に便利なのが再帰grepです。再帰というとよくわらかなくなるので、〇〇ディレクトリと下の階層のディレクトリすべてのファイルにgrepをかけることを再帰といいます。-rオプションが再帰するためのオプションで -lはファイル名のみ表示させるオプションです。-lを付けなかった場合も検索文字も一緒に表示されます。
$ grep -lr str /hoge/fuga #再帰grepファイル名のみ表示
ps
psコマンドは現在実行中のプロセスを確認できる。よくつかうのは ps aux とうものでa,u,xはそれぞれオプションになっている。psのオプションは aux 以外にいくつかある。
-aオプション | 端末操作のプロセスを表示する |
---|---|
-xオプション | 現在、実行しているプロセスを表示する |
cオプション | 実行しているコマンド名を表示する |
eオプション | 実行しているコマンド名と環境変数を表示する |
uオプション | CPUやメモリの使用率なども表示する |
hオプション | 項目名を表示しない |
lオプション | プロセスの状態なども表示する |
fオプション | プロセスを階層で表示する |
oオプション | 指定したリスト順の出力形式で表示する |
-Cオプション | 実行しているプロセスやプログラムのファイル名を指定する |
-uオプション | プロセスを実行しているユーザーを指定する |
-pオプション | 実行しているプロセスのプロセス番号(PID) |
インストールしたパッケージを削除したり調べたりする
いろいろやっていたら、パッケージを削除してみたりする展開になることがあります。
インストールされたパッケージを確認するには以下のコマンドを使えばよいようです
$ rpm -ql (パッケージ名)
パッケージを削除するにはyum removeを使えばよいようです。
sudo yum remove (パッケージ名)
Progateターミナル – まとめ –
Progateいいですね。サクサクすすめられて結構やりがいもありました。確認のために$lsコマンドやら$pwdコマンドやらつかったり目的のディレクトリにいくのに$cdコマンドをつかいまくったりして、結構すぐに習得できそうな感じがしてよかったです。
しかもターミナルコマンドの学習は全部無料でできるのでいいです。
最後の問題の総復習はやりがいがあってよかったです。
Progateおすすめです。
Command Line 学習コース 基礎編 | プログラミングの入門なら基礎から学べるProgate[プロゲート]
補足・トラブルなど
プロセスの一時停止と再開
ターミナルであやまって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の情報だけを表示させる
コメント