LPIC-1 101 試験受験のために勉強したメモをまとめます。
シェル
シェル変数
- シェル変数:設定されたシェル内だけで使用できる変数。子プロセスには引き継がない。
- 環境変数:設定されたシェルとそのシェルで生成したプログラムで使用できる変数。
大文字と小文字を区別して判別するので注意する。
シェル変数の定義方法
シェル変数名=値
シェル変数の参照方法
$シェル変数名
${シェル変数名}
定義済みシェル変数の一覧表示
- set コマンド
- declare コマンド
定義済みシェル変数の削除
- unset コマンド
環境変数の一覧表示
- env
- printenv
主なシェル変数
シェル変数名 | 説明 |
---|---|
PWD | カレントディレクトリの絶対パス |
PATH | コマンド検索用のパス |
HOME | ユーザーのホームディレクトリ |
PS1 | 1 次プロンプトを定義 |
PS2 | 2 次プロンプトを定義 |
HISTFILE | コマンド履歴を格納するファイルを定義 |
LANG | 言語情報 |
set コマンド
- なし:シェル変数、シェル関数の一覧表示
- -o:シェルオプションを有効化
- +o:シェルオプションを無効化
- シェルオプション
- noclobber, -C:理大レクションによるファイル上書きを禁止する
- histexpand, -H:’!番号’ で履歴参照を行う
export コマンド
環境変数の表示と定義を行う。
コマンドプロンプト
1 次プロンプト
コマンドプロンプトの入力行に表示する文字列のこと。 例:[user@hostname ~]$
2 次プロンプト
コマンドプロンプトの継続行に表示する文字列のこと。 例:>
プロンプトで使える表記
変数 | 説明 |
---|---|
\s | シェルの名前 |
\v | bash のバージョン |
\u | ユーザー名 |
\h | ホスト名のうち最初の . まで |
\w | 現在の作業ディレクトリ |
ディレクトリに関する特殊記号
記号 | 説明 |
---|---|
/ | ルートディレクトリ |
~ | ホームディレクトリ |
. | カレントディレクトリ |
.. | 親ディレクトリ |
cd ~username
はディレクトリへのアクセス圏があれば他のユーザーのディレクトリでもアクセス可能。
基本コマンドとファイルの操作
基本コマンド
作業ディレクトリパスの表示
- pwd コマンド
- echo $PWD
man コマンド
コマンドのマニュアルを表示する。
man [オプション]
- -f:キーワードに完全一致するマニュアルがある行セクションを表示
- -k:キーワードを含むマニュアルが何セクションにあるか表示
man コマンドが参照するドキュメントは次の通りである。
- /user/share/man:ディストリビューションに含まれるパッケージ
- /usr/local/share/man:それ以外のパッケージ
man コマンドのキー操作
キー | 説明 |
---|---|
[Space] | 次のページ |
[Enter] | 次の行 |
b | 前のページ |
h | ヘルプ表示 |
q | man コマンド終了 |
/ 文字列 | 文字列を検索 (n で次の検索) |
history コマンド
コマンドの実行履歴を表示する。
history [オプション] [履歴数]
- -c:そのシェルの実行履歴を消去する。
- -d [履歴番号]:指定した番号の履歴を消去する。
コマンドラインでの履歴操作
キー | 説明 |
---|---|
↑ | 1 つ前のコマンド |
↓ | 1 つ次のコマンド |
!! | 直前に実行したコマンド |
![履歴番号] | 指定した番号のコマンド |
![文字列] | 指定した文字列から始まる直近のコマンド |
su コマンド
ユーザー権限の切り替えを行う。-
をつけると切り替え先のユーザーの環境に移動する。
- su:一時的にアカウントを切り替える。
- sudo:事前に許可された管理用コマンドを実行する。
su [オプション] [変更先ユーザー名]
ファイルとディレクトリの操作
mkdir コマンド
ディレクトリを作成する。作成するディレクトリは複数指定可能。
mkdir [オプション] ディレクトリ名...n
- -m [アクセス権]:アクセス圏を明示して作成
- -p:中間ディレクトリを同時に作成する。
touch コマンド
指定したファイルの修正時刻を現在時刻に変更する。 ファイルが存在しない場合は新規に 0 バイトのデータを作成する。
touch ファイル名
mv コマンド
ファイルやフォルダの移動をする。
mv [オプション] 移動元ファイル名...n ディレクトリ名
mv [オプション] 移動元ディレクトリ名...n ディレクトリ名
- -i:同名ファイルが存在する場合、上書きするか確認する。
- -f:同名ファイルが存在しても強制的に上書きする。
特殊記号
記号 | 説明 |
---|---|
? | 任意の 1 文字 |
* | 0 文字以上の文字列 |
[…] | [] に含まれる任意の 1 文字 |
[!…] | [] に含まれない任意の 1 文字 |
~ | ホームディレクトリ |
$ | 変数の置換やコマンドの置換 |
‘ | 強いクォート。変数が展開されない |
“ | 弱いクォート。変数が展開される |
` | コマンド置換 |
cp コマンド
ファイルやフォルダを複製する。
cp [オプション] コピー元ファイル名...n コピー先ファイル名
- -i:コピー先に同名ファイルが存在するとき、上書きするか確認する。
- -f:コピー先に同名ファイルが存在するしても、強制的に上書きする。
- -p:コピー元の所有者、タイムスタンプ、アクセス圏などの情報を保持してコピーする。
- -R, -r:ディレクトリ階層をそのままコピーする。
ls コマンド
ファイルやディレクトリの情報を一覧表示する。
ls [オプション] [ディレクトリ名]...nls [オプション] [ファイル名]...n
- -F:ファイルタイプを表す記号の表示
- -a:隠しファイルの表示
- -l:詳細情報を表示
- -d:ディレクトリの内容ではなく、ディレクトリ自身の表示
rm コマンド
ファイルを削除する。rmdir
コマンドでからのディレクトリを削除する。
rm [オプション] ファイル名...n
- i:ファイルを削除する前にユーザーへ確認する。
- -f:ユーザーへの確認なしに削除する。
- -R, -r:指定したディレクトリにファイルやディレクトリが存在しても全て削除する。
tar コマンド
アーカイブファイルの管理に使用する。
tar [オプション] ファイル名またはディレクトリ名...n
- -c:アーカイブファイルを作成する。
- -t:アーカイブファイルの内容を表示する。
- -x:アーカイブファイルを展開する。
- -f:アーカイブファイル名を使用する。
- -v:詳細情報を表示する。
- -j:アーカイブに対して、bzip2 を使用する。
- -J:アーカイブに対して、xz を使用する。
- -z:アーカイブに対して、gzip を使用する。
圧縮方式と展開コマンドの対応
- gzip:gunzip
- bzip2:bunzip2
- xz:unxz
- cpio:複数のファイルやディレクトリを 1 つにまとめる。
- dd:ファイルシステムやディスク単位でバックアップを取る。
more コマンド
1 画面に収まらない内容を制御する。[Space] キーで次のページを表示する。
less コマンド
man コマンドと同様の操作方法で 1 画面に収まらない内容を制御する。
cat コマンド
ファイルの内容を表示する。ファイルを指定しない場合は標準入力から受け付ける。
- -n:行番号を表示する。
nl コマンド
ファイルの内容に行番号をつけて表示、空行は除いて表示する。
nl [オプション] ファイル名
type コマンド
ファイルの種類を調べる。
type [オプション] ファイル名やディレクトリ名
- -i:MIME タイプで表示する。
ファイル記述子
番号 | 標準接続 | 説明 |
---|---|---|
0 | 標準入力 | 標準の入力元はキーボード |
1 | 標準出力 | 標準の出力先はディスプレイ |
2 | 標準エラー出力 | 標準出力とは区別されるが、ディスプレイに出力される |
記号 | 説明 |
---|---|
>, 1>, >> | 標準出力をリダイレクトする。 |
2> | 標準エラー出力をリダイレクトする。 |
&>, >&, 1>both, 2>&1 | 標準出力と標準エラー出力をリダイレクトする。 |
< | 標準入力からリダイレクトする。 |
| | コマンド結果を標準出力をリダイレクトする。 |
<< | ヒアドキュメント。指定した文字列が表れるまでの内容を標準入力として扱う。 |
> [stdout] [stdeerr]
tee コマンド
標準入力からのデータを標準出力とファイルに出力する。
tee [オプション] ファイル
- -a:ファイルに上書きせず、追記する。
コマンドを連続実行する
- ;:順々に実行する。
- && :1 つ目のコマンドが正常に実行できれば 2 つ目のコマンドを実行する。
- ||:1 つ目のコマンドが正常に実行できなければ 2 つ目のコマンドを実行する。
grep コマンド
テキスト内の文字列を検索する。
grep [オプション] 検索パターン [ファイル名]...n
- -v:パターンに一致しない行を表示する。
- -n:行番号を表示する。
- -l:パターンと一致するファイル名を表示する。
- -i:大文字と小文字を区別しないで検索する。
head コマンド
テキストの先頭部分を表示する。(デフォルト 10 行)
head [オプション] [ファイル名]...n
- -n:表示行数を数字で指定する。
tail コマンド
テキストの末尾部分を表示する。(デフォルト 10 行)
tail [オプション] [ファイル名]...n
- -n:表示行数を数字で指定する。
- -f:常にファイルの最終部分を更新表示する。
tr コマンド
標準入力から入力した文字を指定した文字に変換して標準出力に出力する。
tr [オプション] [文字群 1 [文字群 2]]
- -d:文字群 1 で合致した文字を削除する。
- -s:文字群 1 で合致した文字の繰り返しを 1 文字に置換する。
文字クラス
- [:alnum:]:英文字と数字
- [:alpha:]:英文字
- [:digit:]:数字
- [:lower:]:英子文字
- [:upper:]:英大文字
- [:space:]:水平および垂直方向の空白
OS の改行コード
- Linux:LF, \n
- Windows:CR+LF, \r\n
sed コマンド
単語単位での変換や削除をする。
sed [オプション] [編集コマンド] [ファイル名]
- -i:編集結果を直接ファイルに書き込む
編集コマンド
- s/パターン/置換文字列/:各行を対象に、最初にパターン合致部分を置換する。
- s/パターン/置換文字列/g:ファイル全体を対象に、勝ちするパターンを全て置換する。
- /パターン/d:合致部分を削除する。
- /パターン/p:合致行を表示する。
cut コマンド
ファイル内の特定部分のみを取り出す。
cut [オプション] ファイル名
- -c:指定された位置の各文字だけ表示する。
- -l:指定された位置の各バイトだけを表示する。
- -d:フィールドの区切り文字を指定する。(デフォルトはタブ)
- -f:指定したフィールドのみ表示する。
- -s:フィールド区切り文字を含まない行を表示しない。
wc コマンド
ファイル内のバイト数、単語数、行数を表示する。
c [オプション] [ファイル名]
- -c:バイト数だけ出力する。
- -l:行数だけ出力する。
- -w:単語数だけ出力する。
od コマンド
ファイル内容を 8 進数などで表示する。
od [オプション] [ファイル名]
- -d:10 進数で表示する。
- -x:16 進数で表示する。
- -c:ASCII 文字またはバックスラッシュ付きエスケープ文字で表示する。
- -A 基数:表示のオフセットを選択する。
- d:10 進数
- o:8 進数
- x:16 進数
- n:オフセット表示しない
split コマンド
ファイルを決まった大きさに分割し、サフィックスをつける。
split [オプション] [入力元ファイル [プレフィックス]]
- -l:出力行数を指定する。(デフォルトは 1000 行)
- -d:サフィックスを数字にする。(デフォルトは aa, ab, …)
sort コマンド
ファイル内容を行単位でソートする。
sort [オプション] [ファイル名]
uniq コマンド
並び替えたファイルから重複した行を削除する。
uniq [オプション] [並び替え済みファイル名]
join コマンド
2 つのファイルを読み、フィールドが共通な行を結合する。
join [オプション] [ファイル名 1] [ファイル名 2]
parse コマンド
ファイルを行単位で結合する。
parse [オプション] [ファイル名]
ハッシュアルゴリズム
- md5 (Message Digest Algorithm 5):128 bit のハッシュ値
- sha256 (Secure Hash Algorithm 256):256 bit のハッシュ値
- sha512 (Secure Hash Algorithm 512):512 bit のハッシュ値
コメント