コマンドラインの基礎知識について1から復習中なので、
主に自分の備忘のために学んだことを記録しておこうと思います。のその③
教材はRuby on Railsチュートリアルのコマンドライン編です。
第4章の「ファイルを調べる」の内容について書こうと思います。
3章以降は有料コンテンツのため、覚えたコマンドだけ簡単に紹介します
macOSを使っています。
1.ファイルのダウンロード
$ curl -OL example.com/foo.txt
詳しいことはあまり書かれていませんでしたが
とにかくcurlを使えば指定したURLに対していろいろ操作できるようです。
一旦そういうものだとだけ覚えておくことにします。
とりあえず、オプション -OL を指定すればURL上のファイルをダウンロードできました。
おまけ
「which」・・指定したコマンドが使用可能かどうかを確認するためのコマンド
$ which curl
実行後特に何も表示されなければ、そのコマンドは使える状態にないということなので
別途対応が必要になります。
その他コマンドラインで役に立つ技
$ !! ← 直前に実行したコマンドの再実行
$ !curl ← 最後に実行した(!の後に書いた)コマンドの再実行
また、^R(コントロール+R)を使うと
コマンド履歴を検索して、さらに必要な部分は修正してから実行できます。
2.ファイルの冒頭や末尾を取り出す
$ head foo.txt ← ファイルの最初の10行を取り出す
$ tail foo.txt ← ファイルの末尾の10行を取り出す
ワードカウントとパイプ
「wc」・・ファイルが全部で何行あるのか調べるコマンド
$ wc foo.txt
2620 17670 95635 foo.txt
実行結果の左から「行数」「単語数」「バイト数」
「パイプ(|)」
$ head foo.txt | wc
10 46 294
パイプ(|)の左側の実行結果を右側のコマンドの標準入力として使うイメージ
※用語の使い方とかが間違っていたらすみません
3.ファイルをより詳しく調べる
「less」・・ファイルをインタラクティブ(対話のよう)に表示
$ less foo.txt
less(やman)で使えるキー操作一覧
上/下矢印キー :1行戻る/進む
スペース :1ページ進む
⌃F :1ページ進む
⌃B :1ページ戻る
G :ファイルの末尾にジャンプ
1G :ファイルの冒頭にジャンプ
/<文字列> :文字列を検索
n :次の検索結果にジャンプ
N :1つ前の検索結果にジャンプ
q :終了
grep
.. ファイル内の文字列の検索に使用する
$ grep <検索したい文字列> <ファイル名>
$ grep -i <検索したい文字列> <ファイル名> ← 大文字小文字の区別なしで検索
実行結果には、検索したい文字列を含む行がすべて出力されます。
プロセスのgrep(プロセスを止める方法も)
$ ps aux ← 自分のシステムのすべてのプロセスリストを表示
$ ps aux | grep <検索文字列> ← 検索文字列を含むプロセスだけを表示
(例)ubuntu *12241* 0.3 0.5 589960 178416 ? Ssl Sep20 1:46
spring app | sample_app | started 7 hours ago
※ps auxの他には、topコマンドでシステムでリソースを最も消費しているプロセスを確認する方法もあるとのこと
この例で、**で囲った部分がプロセスID(12241)
このプロセスを終了させるには
$ kill -15 <プロセスid>
こちらはidを一旦調べてから、プロセスを終了させる方法
もし名前のわかりきっているプロセスを終了させる場合は↓
$ pkill -15 -f <name>
今回はこんなところで!
ありがとうございました。
※ようやくQiitaではMarkDownという書き方があることを知りました・・