新しいLinuxの教科書 13章~20章まで駆け足で進む
13章
- 正規表現とは
- 文字列を検索する際に
検索条件
を表現するために使用される記法のこと
- 文字列を検索する際に
- メタ文字とは
- 正規表現の中でも、ただの文字列ではなく
特別な意味を持つ文字
のことを指す - ex. 「
.
: 一文字(なんでもいい)」、「^
: 行の最初」など
- 正規表現の中でも、ただの文字列ではなく
- grepコマンドとは
- 役割: あるファイルや標準入力に対して使用することで、
検索条件
にマッチした文字列を含む行だけを標準出力に返すコマンド - 使い方:
grep オプション 検索条件 ファイル名
orlinuxコマンド | grep オプション 検索条件
- 代表的なオプション:
=>-n
: 行数を表示する
=>-v
: 検索条件にマッチしない
行を返す
=>-i
: アルファベットの大文字と小文字を区別しない
- 役割: あるファイルや標準入力に対して使用することで、
14章
15章
- シェルスクリプトとは何か?
- コマンドラインをあらかじめファイル形式にしておいたもの
- 複数のコマンドを一気に実行することができる
- シバンとは何か?
#!{実行環境}
<= これのこと- スクリプトを作ったときに、二行目以降に記述されているコマンドをどの実行環境で実行するかを指定するもの
- ex.
test.sh
というファイルに#!/bin/bash
というシバンが記述されていた時、ターミナルで実行するときはtest.sh
だけで良いが、実際の意味は/bin/bash test.sh
になる。
- sourceコマンドによる実行
- コマンドが記述されたファイルを引数に
source
コマンドを実行すると、現在ログインしているシェル
で、それらのコマンドが実行される - ファイル自体を実行しているわけではなく、各行のコマンドが順番にコマンドラインに入力されているだけなので、ファイルの実行権限を変える必要はない
- コマンドが記述されたファイルを引数に
16章
- 変数展開の仕方は?
- ダブルクォートの中で、${変数名}を使用する
- 引数の渡し方/受け取り方は?
- コマンド置換とは何か?使い方は?
- コマンドの実行結果を文字列をして使用したい時に使う
$(コマンド)
の形で使用する
- シェル関数とは何か?どのようにして使うのか?
- シェルスクリプトの中で定義できる関数のこと
関数名 () { 内容 }
の形で定義をし、使用するときは関数名()
とする
17章
- シェルスクリプトの欠点とは何か?
- localとは?
- ローカル変数を定義するためのもの
- 一般的には、シェル関数の中で使用することが多い
- シェルスクリプトの再帰的な呼び出しの方法は?
- IFSとは何か?
- フィールド区切りもじのこと。これは引数やオプションを複数個指定する際に、それらを区切るのに使用される
- bashにおいては
tab
,スペース
,改行
が指定されている
- xargsコマンドの使い方は?
xargs コマンド名
の形で使用することで、標準入力を引数として、引数として私たコマンドを実行できる- ex.
ls -F | grep -v / | xargs cat
とすると、カレントディレクトリに存在するファイルの中身をそれぞれcatコマンドで出力することが可能。
18章
- tarコマンドの役割と使い方は?
- gzipコマンドの役割と使い方は?
- ファイルを圧縮するためのコマンド
- 使い方:
gzip ファイル名
で圧縮。
=>gzip -d ファイル名
で圧縮されたファイルを元に戻す
=>gzip -c ファイル名
で、圧縮されたファイルの中身を標準出力に対して出力することが可能 - 拡張子は
.gz
- bzip2コマンドの役割と使い方は?
- zipコマンドの役割と使い方は?
19章
- gitとは何か?
- バージョン管理システムの一つ
- リポジトリとワークツリーとは?
- インデックスとリポジトリの反映
git add
をするとインデックス
と呼ばれる一時保存領域に指定したファイルが保存される。git commit
をすると、インデックスに存在するファイルがリポジトリへと保存される
- これ以降は、改めてしっかり勉強することにする
20章
- パッケージとは?
- ソフトウェアの実行ファイル、ドキュメント、設定、初期設定のスクリプトなどをまとめたファイルのこと
- 一般的にパッケージを管理するシステムではこの単位でインストール/アンインストールされる
- リポジトリとは?
- パッケージを配布している場所のこと
- 一般的にはパッケージ管理システムはリポジトリを指定し、そこからパッケージを取得する
その他感想など
この辺りはとりあえず知識として知っていればいいかなということで、
それなりに駆け足で進んだ。
ただし、パッケージ管理システムのgit
についてはちゃんとやりたいと思ったので、また後日しっかりと学習することにしたい
「新しいLinuxの教科書」12章 + react-hooksの学習
6/30 学習分
学習内容
12章 テキスト処理のコマンドについて
- sortコマンド
- 標準入力を
行単位
で、並び替え、結果を標準出力へと出力するためのコマンド。 sort {ファイル名などの入力}
の形で使用する(アスキーコードの順番で並ぶ?)
- 標準入力を
補足
コマンドのオプションとして、
-n
で数字順、-r
で逆順、-k {数字}
で「何番目の単語に対してソートするかの指定」が紹介されていた
- uniqコマンド
行単位
での重複を消すためのコマンド。ただし、連続した行
に対してしか使えないため、一般的にはsortコマンド
の後で使用するuniq {ファイル名などの入力}
の形で使用する
続きを読む補足
sortには
-u
オプションが用意されており、これをつけるとuniq
と同じことができる
アウトプットに関する考えと、「新しいLinuxの教科書」 7章 ~ 11章の学習記録
6/28 学習分
学習内容
Linux
7章
- ヤンク・デリート・プットの意味について
- 「ヤンク = コピー」、「デリート = 切り取り」、「プット = 貼り付け」。
- 以前のアウトプットで「ヤンク = 貼り付け」と書いたと思うので、勘違いしていた模様
- linuxには、「削除」という概念はないのか?調べてみる
- 行の連結
- 行末にある「改行」を削除し、下の行と現在の行を繋げること
- コマンドは「shift + j」
- バイナリファイルとは?
- 人が直接中身を読むことを想定していないファイルのこと
- 例: 動画ファイル、コマンドファイル、音声ファイルなど
- 単語ごとに移動するには?
- 「前に進む: w」 or 「後ろに進む: b」を入力する
- 「前に進む: w」 or 「後ろに進む: b」を入力する
"最強の学習法"を学び、早速「新しいlinuxの教科書」で実践してみた 1~6章
6/26 学習分
学習内容
学習法について
- 検索練習
- 人は苦労して思いだすことで記憶に定着する => ということで、意図的にその状況を作り出すことで記憶への定着を促す学習法
- 色々なメリットがあるが、
やらないメリットはない
のでやることにした
具体的なテクニック
ブレインダンプ法
学んだことを、とりあえずアウトプットしまくることで記憶への定着を図る方法
- 具体的な実践方法
タイミング
: しっかりと時間をとって勉強するとき => 勉強時間を30分短くして行うアクション
: 勉強後にブログをかく。そのブログ内に、その日に学んだこと
を自分の言葉でまとめる、- => その際に、資料は見ないで思いだす。
- => 書き出すときには間違っていてもいい
- => 書き出した後で、再び資料を確認して、忘れていたことや間違っていたことを
別の項目
としてブログにまとめる
今日からアウトプット
自分が何を学んだかを他の人に知ってもらいたいので、今日からアウトプットすることにしました
知ってもらいたい理由ですが、もし転職などする際、少しでも自分のスキルを知ってもらうことで認識の齟齬を防ぐことができるかなあ、と思ったからです
どうぞよろしく