【LPIC1対策(3-1)】主題103:GNUとUnixのコマンド(103.1-103.3)

スポンサーリンク


本記事ではLPIC1(Ver4.0)101試験に合格するため『主題103:GNUとUnixのコマンド』の(103.1-103.3)について自分が勉強したことをまとめました。

LPIC1(Ver4.0)101試験の出題範囲はLPICのサイト(101試験範囲)に掲示されており、以下の様になっています。



目次

目次



事前準備

1.Linuxの環境を用意する


LPICを勉強する上でLinuxの環境で実際に動かしてみるとよいです。Windows上でも仮想Linux環境を構築すれば簡単にLinuxを動かすことができます。以下にWindows上でubuntuを構築する方法をまとめました。参考にしてください。


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コマンド(文字列や変数を表示)

引数に与えられた文字列や変数を表示するコマンド

【文字列や変数を表示】
> echo [文字列/変数]

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230751/



unsetコマンド(変数を削除)

変数を削除するコマンド

【変数を削除】
> unset [変数]

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230919/
補足
変数名の先頭には「$」はつけない



envコマンド(環境を変更)

環境を変更してプログラムを実行するコマンド

【環境を変更】
> env [オプション]

オプション
対象外
(オプションを指定しないと、現在の環境変数を表示する)
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131226/527382/



printenvコマンド(環境変数一覧を表示)

環境変数を一覧表示するコマンド

【環境変数一覧を表示】
> printenv [オプションor変数名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20071205/288821/



setコマンド(環境を変更)

シェルのオプションを設定するコマンド
環境変数とシェル変数を両方表示できる

【環境を変更】
> set [オプション]

オプション
対象外
(オプションを指定しないと、環境変数とシェル変数を両方を表示する)

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230881/

補足
・引数なしで実行すると、シェル変数一覧を表示する。



exportコマンド(環境変数を表示)

環境変数を定義・リスト表示するコマンド(他のプロセルにも変数を引き継ぐことができる)

【環境変数を表示】
> export [オプション]

オプション


コマンド詳細
https://webkaru.net/linux/export-command/



複数のコマンド実行

複数のコマンドを実行したときには記載によってさまざまな結果となるので注意が必要



historyコマンド(実行履歴を表示)

コマンドの実行履歴を表示するコマンド

【実行履歴を表示】
> history [オプション]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230795/

補足
・デフォルトは.bash_historyファイルにコマンド履歴は保存されている
・コマンド履歴保存先は環境変数HISTFILEで指定できる。
・「-dコマンド」は特定行を削除する。全削除は「-cコマンド」であることに注意



manコマンド(マニュアルを参照)

オンラインマニュアルを参照するコマンド

【マニュアルを参照】
> man [オプション] [セッション] [コマンド名もしくはキーワード]

オプション

セッション
同一の名前で異なる内容を扱えるようにした。たとえばpasswdはコマンドとしても/etc/passwdというファイルとしてもある。このときpasswdのセッションを指定することで希望のマニュアルを入手できる。

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230821/

補足
/usr/share/manディレクトリにマニュアルを構成するファイルが格納されている
・もしくは/usr/share/local/manディレクトリに格納されている



(103.2)フィルタを使ったテキストストリームの処理



catコマンド(ファイルを標準出力)

ファイルを標準出力に出力するコマンド

【ファイルを標準出力】
> cat [オプション] [ファイル名…]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230725/

補足
・「tacコマンド」はファイルの内容を最後の行から表示する



cutコマンド(ファイルから一部切り出し)

ファイルから一部分を取り出すコマンド

【ファイルから一部切り出し】
> cat [オプション] [ファイル名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230738/

補足
・cutコマンドの「-dオプション」は削除の意味はなく、区切り文字を指定するものであることに注意
・「–output-delimiter=*」で表示時の区切り文字を指定することができる。
・「-f3,2,1」とフィールドを指定しても、1,2,3の順番に表示される。
・テキストファイルをcutすることはできるが、バイナリはできない。(期待した動作にならない)



expandコマンド(タブをスペースに変換)

タブをスペースに変換するコマンド

【タブをスペースに変換】
> expand [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131007/509542/



fmtコマンド(テキストを整形)

テキストを整形するコマンド

【テキストを整形】
> fmt [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131226/527402/



headコマンド(先頭部分を表示)

ファイルの先頭部分を表示するコマンド

【先頭部分を表示】
> head [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230794/



joinコマンド(ファイルの結合)

2つのファイルの行を結合するコマンド

【ファイルの結合】
> join [オプション] [ファイル1] [ファイル2]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20140224/538589/



lessコマンド(ファイルの閲覧)

テキストファイルの内容を閲覧するコマンド

【ファイルの閲覧】
> less [オプション] [ファイル名]

オプション
範囲外

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230809/

補足
・「moreコマンド」と「lessコマンド」の違いは「moreコマンド」は末までいったら終了、「lessコマンド」は末まで行っても終了しないでqキーで終了させる。



nlコマンド(行番号つけての表示)

行番号を付けて出力するコマンド

【行番号つけての表示】
> nl [オプション] [形式] [ファイル名]

オプション

形式

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131007/509544/

補足
・行表示は「cat -n」でも可能だが、catコマンドでは空行にも番号を付ける。一方、nlコマンドは空行には番号を付けない。



odコマンド(バイナリ・ファイルの閲覧)

バイナリ・ファイルの内容を閲覧するコマンド

【バイナリ・ファイルの閲覧】
> od [オプション] [ファイル名]

オプション

出力タイプ

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230853/



pasteコマンド(水平方向に連結)

複数のファイルを水平方向に連結するコマンド

【水平方向に連結】
> paste [オプション] [ファイル1] [ファイル2]・・・

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523511/



prコマンド(ファイルを整形)

印刷用にファイルを整形するコマンド

【ファイルを整形】
> pr [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523512/



sedコマンド(文字置換、行削除)

文字列の置換,行の削除を行うコマンド

【文字置換、行削除】
> sed [オプション] [ファイル名]

オプション
範囲外

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230879/

補足
・sedコマンドを使えば、ファイルから文字列変換させることができる。
・trコマンドも文字列変換できるが、ファイルから指定できない(リダイレクト<やパイプ|を駆使して実行する必要がある)

sortコマンド(行の並び替え)

行を並び替えるコマンド

【行の並び替え】
> sort [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230887/



splitコマンド(ファイル分割)

ファイルを分割するコマンド
ex)1000行で分割など

【ファイル分割】
> split [オプション] [入力ファイル名] [出力ファイル名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/

補足
・バイト数での分割はできないので注意



tailコマンド(末尾を表示)

ファイルの末尾を表示するコマンド

【末尾を表示】
> tail [オプション] [ファイル名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230894/

補足
・オプションなしではデフォルト10行が表示される。



trコマンド(一括変換)

文字を一括変換するコマンド

【一括変換】
> tr [オプション] [文字列1] [文字列2]

オプション

文字クラス
文字列1と文字列2には以下の文字クラスを利用できる。

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230906/

補足
・trコマンドはファイルを指定できない。そのため「catコマンド」などで出力した結果を|で渡すか入力リダイレクト「<」を使ってファイルの標準入力から出力させてファイル内容に反映をさせる。 ・文字クラスについてはシングルクォーテーション「'」をつけてもOK ・sedコマンドを使えば、ファイルから文字列変換させることができる。

unexpandコマンド(スペースをタブに変換)

スペースをタブに変換するコマンド

【スペースをタブに変換】
> unexpand [オプション] [ファイル名]

オプション


コマンド詳細
https://webkaru.net/linux/unexpand-command/



uniqコマンド(重複行の削除)

ソート済みのファイルから重複した行を削除するコマンド

【重複行の削除】
> uniq [オプション] [入力ファイル名] [出力ファイル名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230918/

補足
・uniqで重複列を1つにまとめるには「sortコマンド」でソートする必要がある。



wcコマンド(行数、単語数、バイト数を表示)

テキスト・ファイルの行数,単語数,バイト数を表示するコマンド

【行数、単語数、バイト数を表示】
> wc [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230994/



(103.3)基本的なファイル管理の実行



cpコマンド(ファイルやディレクトリのコピー)

ファイルやディレクトリをコピーするコマンド

【ファイルやディレクトリのコピー】
> cp [オプション] [コピー元ファイル名] [コピー先ファイル名/ディレクトリ]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230734/



findコマンド(ファイルやディレクトリの検索)

ファイルやディレクトリを検索するコマンド

【ファイルやディレクトリの検索】
> find [オプション] [検索ディレクトリ] [検索式] [アクション]

オプション
範囲外

検索式

アクション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230777/

補足
・「-print0」で区切り文字としてヌル文字を入れる。その後、xargsの-oオプションでヌル文字を区切りとしてコマンドを渡す。



mkdirコマンド(ディレクトリを作成)

ディレクトリを作成するコマンド

【ディレクトリを作成】
> mkdir [オプション] [ディレクトリ名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230831/

補足
・中間ディレクトリ作成は「-pオプション」であり「-r」オプションではないことに注意
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)



mvコマンド(ファイルやディレクトリを移動)

ファイルやディレクトリの移動・名前の変更をするコマンド

【ファイルやディレクトリを移動】
> mv [オプション] [移動元ファイル名/ディレクトリ名] [移動先ファイル名/ディレクトリ名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230844/

補足
・mvコマンドはオプションなしでディレクトリごと移動することができる。
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)



lsコマンド(ファイルやディレクトリの情報を表示)

ファイルやディレクトリの情報を表示するコマンド

【ファイルやディレクトリの情報を表示】
> ls [オプション] [ファイル名/ディレクトリ名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230820/



rmコマンド(ファイルやディレクトリの削除)

ファイルやディレクトリを削除するコマンド

【ファイルやディレクトリの削除】
> rm [オプション] [ファイル名/ディレクトリ名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230871/

補足
・ディレクトリ配下を再帰的に操作する「-rオプション」はrmコマンド、cpコマンドが可能(mvコマンドは非対応)



rmdirコマンド(ディレクトリの削除)

ディレクトリを削除するコマンド

【ディレクトリの削除】
> rmdir [オプション] [ディレクトリ名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230873/

補足
・削除できるのは空のディレクトリのみ



touchコマンド(タイムスタンプの変更)

ファイルのタイムスタンプを変更するコマンド

【タイムスタンプの変更】
> touch [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230905/



tarコマンド(.tarの操作)

ファイルをアーカイブ(書庫)・展開するコマンド(拡張子.tarなど)

【.tarの操作】
> tar [オプション1] [オプション2] [ファイル名]

オプション1

オプション2

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230896/

補足
・「cオプション」はcrateの略で新規作成
・「tオプション」はtableの略で表示
・「xオプション」はextractの略でアーカイブ展開
・「jオプション」はbz2の展開
・「zオプション」はgzipの展開



cpioコマンド(ファイルのバックアップ)

ファイルをバックアップするコマンド

【ファイルのバックアップ】
> cpio [フラグ] [オプション]

フラグ

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230735/

補足
・ファイル指定はオプションではできない。ファイルは標準入力「<」と標準出力「>」をつかって操作する。
・「-oオプション」はアーカイブ作成



ddコマンド(ファイルの変換とコピー)

ファイルの変換とコピーを行うコマンド
コピー部分を指定したり、データ変換できる。
ex)ISOファイルをUSBデバイスに書き込むという操作をすることができる。
ex)特定のデータサイズのファイルを作成できる。

【ファイルの変換とコピー】
> dd [オプション]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230741/



fileコマンド(ファイル種類の判定)

ファイルの種類を判定するコマンド

【ファイル種類の判定】
> file [ファイル名]

オプション
範囲外
コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20071130/288506/



gzipコマンド(.gzの圧縮/展開)

ファイルを圧縮/展開するコマンド(拡張子.gz)

【.gzの圧縮/展開】
> gzip [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230791/



gunzipコマンド(.gzの展開)

ファイルを展開するコマンド(拡張子.gz)

【.gzの展開】
> gunzip [オプション] [ファイル名]

オプション
※gzipコマンドと同じ


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230790/



bzip2コマンド(.bz2の圧縮/展開)

ファイルを圧縮・展開するコマンド(拡張子.bz2)
gzipより圧縮効率がよいが処理に時間がかかる

【.bz2の圧縮/展開】
> bzip2 [オプション] [ファイル名]

オプション


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230722/



xzコマンド(ファイルの圧縮/展開)

ファイルを圧縮・展開するコマンド
bzip2よりも圧縮効率よいが処理に時間がかかる

【ファイルの圧縮/展開】
> xz [オプション] [ファイル名]

オプション



関連するページ


LPIC-1 試験対策のまとめページ

【LPIC1対策】LPIC-1試験対策 まとめ
LPICレベル1の出題範囲について自分が勉強したことをまとめました。


(次の章) 【LPIC1対策(3-2)】主題103:GNUとUnixのコマンド(103.4-103.8)


(前の章) 【LPIC1対策(2)】主題102:Linuxのインストールとパッケージ管理

【LPIC1対策(2)】主題102:Linuxのインストールとパッケージ管理
本記事ではLPIC1(Ver4.0)101試験に合格するため『主題102:Linuxのインストールとパッケージ管理』について自分が勉強したことをまとめました。







以上!!!

スポンサーリンク

フォローする

スポンサーリンク