新しい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
についてはちゃんとやりたいと思ったので、また後日しっかりと学習することにしたい