本記事ではLPIC1(Ver4.0)101試験に合格するため『主題103:GNUとUnixのコマンド』の(103.1-103.3)について自分が勉強したことをまとめました。
LPIC1(Ver4.0)101試験の出題範囲はLPICのサイト(101試験範囲)に掲示されており、以下の様になっています。
目次
目次
- 1 目次
- 2 事前準備
- 3 (103.1)コマンドラインの操作
- 4 (103.2)フィルタを使ったテキストストリームの処理
- 4.1 catコマンド(ファイルを標準出力)
- 4.2 cutコマンド(ファイルから一部切り出し)
- 4.3 expandコマンド(タブをスペースに変換)
- 4.4 fmtコマンド(テキストを整形)
- 4.5 headコマンド(先頭部分を表示)
- 4.6 joinコマンド(ファイルの結合)
- 4.7 lessコマンド(ファイルの閲覧)
- 4.8 nlコマンド(行番号つけての表示)
- 4.9 odコマンド(バイナリ・ファイルの閲覧)
- 4.10 pasteコマンド(水平方向に連結)
- 4.11 prコマンド(ファイルを整形)
- 4.12 sedコマンド(文字置換、行削除)
- 4.13 sortコマンド(行の並び替え)
- 4.14 splitコマンド(ファイル分割)
- 4.15 tailコマンド(末尾を表示)
- 4.16 trコマンド(一括変換)
- 4.17 unexpandコマンド(スペースをタブに変換)
- 4.18 uniqコマンド(重複行の削除)
- 4.19 wcコマンド(行数、単語数、バイト数を表示)
- 5 (103.3)基本的なファイル管理の実行
- 5.1 cpコマンド(ファイルやディレクトリのコピー)
- 5.2 findコマンド(ファイルやディレクトリの検索)
- 5.3 mkdirコマンド(ディレクトリを作成)
- 5.4 mvコマンド(ファイルやディレクトリを移動)
- 5.5 lsコマンド(ファイルやディレクトリの情報を表示)
- 5.6 rmコマンド(ファイルやディレクトリの削除)
- 5.7 rmdirコマンド(ディレクトリの削除)
- 5.8 touchコマンド(タイムスタンプの変更)
- 5.9 tarコマンド(.tarの操作)
- 5.10 cpioコマンド(ファイルのバックアップ)
- 5.11 ddコマンド(ファイルの変換とコピー)
- 5.12 fileコマンド(ファイル種類の判定)
- 5.13 gzipコマンド(.gzの圧縮/展開)
- 5.14 gunzipコマンド(.gzの展開)
- 5.15 bzip2コマンド(.bz2の圧縮/展開)
- 5.16 xzコマンド(ファイルの圧縮/展開)
- 6 関連するページ
事前準備
1.Linuxの環境を用意する
LPICを勉強する上でLinuxの環境で実際に動かしてみるとよいです。Windows上でも仮想Linux環境を構築すれば簡単にLinuxを動かすことができます。以下にWindows上でubuntuを構築する方法をまとめました。参考にしてください。
2.テキストを購入する
『Linux教科書 LPICレベル1 Version4.0対応』を参考にしながら勉強しました。このテキストにそって重要なところのみピックアップしてまとめているので大元はこちらのテキストを参照してください。
(103.1)コマンドラインの操作
bashの基本操作
ディレクトリを表す特殊記号
「~」 : ホームディレクトリ
「.」 : カレントディレクトリ
「..」 : 1つ上のディレクトリ
補足
・「cd ~」は実行しているユーザのホームディレクトリに移動
・「cd ~ユーザ名」は指定したユーザ名のホームディレクトリに移動
※例えば、実行ユーザがshiguregakiで「cd ~」すると/home/shiguregakiへ移動するが、「cd ~hoge」とshiguregakiが実行しても/home/hogeに移動する。/home/shiguregaki/hogeではないことに注意。
シェル変数と環境変数
シェル変数
・シェル関数は設定されたシェルだけが使用する変数であり、子プロセスには引き継がれない。
・シェル変数は「変数名=値」で指定できる。
・現状のシェル変数一覧は「setコマンド」で確認できる。
・変数名の制約がある
1.=の前後にスペースを入れないこと
2.変数名には英数字、アンダーバーは使用可
ただし、先頭の文字に数字は使えない。
環境変数
・シェル上およびシェルで実行されたプログラムに引く継がれる変数(環境変数はシェル、プログラム、子プロセスに引き継がれる。)
・「exportコマンド」や「declareコマンド」で指定をすることができる。
・現状の環境変数一覧は「envコマンド」や「printenvコマンド」で確認できる。
・代表的な環境変数は以下
echoコマンド(文字列や変数を表示)
引数に与えられた文字列や変数を表示するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230751/
unsetコマンド(変数を削除)
変数を削除するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230919/
補足
変数名の先頭には「$」はつけない
envコマンド(環境を変更)
環境を変更してプログラムを実行するコマンド
オプション
対象外
(オプションを指定しないと、現在の環境変数を表示する)
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131226/527382/
printenvコマンド(環境変数一覧を表示)
環境変数を一覧表示するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20071205/288821/
setコマンド(環境を変更)
シェルのオプションを設定するコマンド
環境変数とシェル変数を両方表示できる
オプション
対象外
(オプションを指定しないと、環境変数とシェル変数を両方を表示する)
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230881/
補足
・引数なしで実行すると、シェル変数一覧を表示する。
exportコマンド(環境変数を表示)
環境変数を定義・リスト表示するコマンド(他のプロセルにも変数を引き継ぐことができる)
オプション
コマンド詳細
https://webkaru.net/linux/export-command/
複数のコマンド実行
複数のコマンドを実行したときには記載によってさまざまな結果となるので注意が必要
historyコマンド(実行履歴を表示)
コマンドの実行履歴を表示するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230795/
補足
・デフォルトは.bash_historyファイルにコマンド履歴は保存されている
・コマンド履歴保存先は環境変数HISTFILEで指定できる。
・「-dコマンド」は特定行を削除する。全削除は「-cコマンド」であることに注意
manコマンド(マニュアルを参照)
オンラインマニュアルを参照するコマンド
セッション
同一の名前で異なる内容を扱えるようにした。たとえばpasswdはコマンドとしても/etc/passwdというファイルとしてもある。このときpasswdのセッションを指定することで希望のマニュアルを入手できる。
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230821/
補足
・/usr/share/manディレクトリにマニュアルを構成するファイルが格納されている
・もしくは/usr/share/local/manディレクトリに格納されている
(103.2)フィルタを使ったテキストストリームの処理
catコマンド(ファイルを標準出力)
ファイルを標準出力に出力するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230725/
補足
・「tacコマンド」はファイルの内容を最後の行から表示する
cutコマンド(ファイルから一部切り出し)
ファイルから一部分を取り出すコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230738/
補足
・cutコマンドの「-dオプション」は削除の意味はなく、区切り文字を指定するものであることに注意
・「–output-delimiter=*」で表示時の区切り文字を指定することができる。
・「-f3,2,1」とフィールドを指定しても、1,2,3の順番に表示される。
・テキストファイルをcutすることはできるが、バイナリはできない。(期待した動作にならない)
expandコマンド(タブをスペースに変換)
タブをスペースに変換するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131007/509542/
fmtコマンド(テキストを整形)
テキストを整形するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131226/527402/
headコマンド(先頭部分を表示)
ファイルの先頭部分を表示するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230794/
joinコマンド(ファイルの結合)
2つのファイルの行を結合するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20140224/538589/
lessコマンド(ファイルの閲覧)
テキストファイルの内容を閲覧するコマンド
オプション
範囲外
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230809/
補足
・「moreコマンド」と「lessコマンド」の違いは「moreコマンド」は末までいったら終了、「lessコマンド」は末まで行っても終了しないでqキーで終了させる。
nlコマンド(行番号つけての表示)
行番号を付けて出力するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131007/509544/
補足
・行表示は「cat -n」でも可能だが、catコマンドでは空行にも番号を付ける。一方、nlコマンドは空行には番号を付けない。
odコマンド(バイナリ・ファイルの閲覧)
バイナリ・ファイルの内容を閲覧するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230853/
pasteコマンド(水平方向に連結)
複数のファイルを水平方向に連結するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523511/
prコマンド(ファイルを整形)
印刷用にファイルを整形するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523512/
sedコマンド(文字置換、行削除)
文字列の置換,行の削除を行うコマンド
オプション
範囲外
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230879/
補足
・sedコマンドを使えば、ファイルから文字列変換させることができる。
・trコマンドも文字列変換できるが、ファイルから指定できない(リダイレクト<やパイプ|を駆使して実行する必要がある)
sortコマンド(行の並び替え)
行を並び替えるコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230887/
splitコマンド(ファイル分割)
ファイルを分割するコマンド
ex)1000行で分割など
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/
補足
・バイト数での分割はできないので注意
tailコマンド(末尾を表示)
ファイルの末尾を表示するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230894/
補足
・オプションなしではデフォルト10行が表示される。
trコマンド(一括変換)
文字を一括変換するコマンド
文字クラス
文字列1と文字列2には以下の文字クラスを利用できる。
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230906/
補足
・trコマンドはファイルを指定できない。そのため「catコマンド」などで出力した結果を|で渡すか入力リダイレクト「<」を使ってファイルの標準入力から出力させてファイル内容に反映をさせる。
・文字クラスについてはシングルクォーテーション「'」をつけてもOK
・sedコマンドを使えば、ファイルから文字列変換させることができる。
unexpandコマンド(スペースをタブに変換)
スペースをタブに変換するコマンド
オプション
コマンド詳細
https://webkaru.net/linux/unexpand-command/
uniqコマンド(重複行の削除)
ソート済みのファイルから重複した行を削除するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230918/
補足
・uniqで重複列を1つにまとめるには「sortコマンド」でソートする必要がある。
wcコマンド(行数、単語数、バイト数を表示)
テキスト・ファイルの行数,単語数,バイト数を表示するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230994/
(103.3)基本的なファイル管理の実行
cpコマンド(ファイルやディレクトリのコピー)
ファイルやディレクトリをコピーするコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230734/
findコマンド(ファイルやディレクトリの検索)
ファイルやディレクトリを検索するコマンド
オプション
範囲外
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230777/
補足
・「-print0」で区切り文字としてヌル文字を入れる。その後、xargsの-oオプションでヌル文字を区切りとしてコマンドを渡す。
mkdirコマンド(ディレクトリを作成)
ディレクトリを作成するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230831/
補足
・中間ディレクトリ作成は「-pオプション」であり「-r」オプションではないことに注意
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)
mvコマンド(ファイルやディレクトリを移動)
ファイルやディレクトリの移動・名前の変更をするコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230844/
補足
・mvコマンドはオプションなしでディレクトリごと移動することができる。
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)
lsコマンド(ファイルやディレクトリの情報を表示)
ファイルやディレクトリの情報を表示するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230820/
rmコマンド(ファイルやディレクトリの削除)
ファイルやディレクトリを削除するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230871/
補足
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)
rmdirコマンド(ディレクトリの削除)
ディレクトリを削除するコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230873/
補足
・削除できるのは空のディレクトリのみ
touchコマンド(タイムスタンプの変更)
ファイルのタイムスタンプを変更するコマンド
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230905/
tarコマンド(.tarの操作)
ファイルをアーカイブ(書庫)・展開するコマンド(拡張子.tarなど)
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230896/
補足
・「cオプション」はcrateの略で新規作成
・「tオプション」はtableの略で表示
・「xオプション」はextractの略でアーカイブ展開
・「jオプション」はbz2の展開
・「zオプション」はgzipの展開
cpioコマンド(ファイルのバックアップ)
ファイルをバックアップするコマンド
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230735/
補足
・ファイル指定はオプションではできない。ファイルは標準入力「<」と標準出力「>」をつかって操作する。
・「-oオプション」はアーカイブ作成
ddコマンド(ファイルの変換とコピー)
ファイルの変換とコピーを行うコマンド
コピー部分を指定したり、データ変換できる。
ex)ISOファイルをUSBデバイスに書き込むという操作をすることができる。
ex)特定のデータサイズのファイルを作成できる。
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230741/
fileコマンド(ファイル種類の判定)
ファイルの種類を判定するコマンド
オプション
範囲外
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20071130/288506/
gzipコマンド(.gzの圧縮/展開)
ファイルを圧縮/展開するコマンド(拡張子.gz)
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230791/
gunzipコマンド(.gzの展開)
ファイルを展開するコマンド(拡張子.gz)
オプション
※gzipコマンドと同じ
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230790/
bzip2コマンド(.bz2の圧縮/展開)
ファイルを圧縮・展開するコマンド(拡張子.bz2)
gzipより圧縮効率がよいが処理に時間がかかる
オプション
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230722/
xzコマンド(ファイルの圧縮/展開)
ファイルを圧縮・展開するコマンド
bzip2よりも圧縮効率よいが処理に時間がかかる
関連するページ
LPIC-1 試験対策のまとめページ
(次の章) 【LPIC1対策(3-2)】主題103:GNUとUnixのコマンド(103.4-103.8)
(前の章) 【LPIC1対策(2)】主題102:Linuxのインストールとパッケージ管理
以上!!!