LoginSignup
7
4

More than 1 year has passed since last update.

LPIC102試験直前見直し用チートシート(シェルとシェルスクリプト編)

Last updated at Posted at 2021-11-03

はじめに

LPIC102(シェルとシェルスクリプト分野)で問われやすいコマンドや要点などをまとめた記事です。
寝る前の10分でざっと読んで各単元の復習に活かすも良し、試験直前に読んで最後の詰め込みに使うも良しです。
このシートがLPIC102を受けられる方の支えになれば幸いです。

チートシート(シェルとシェルスクリプト分野)

コマンドとオプション

コマンド 説明
set シェルや環境変数の表示
-o:オプションの設定状態を表示
-o オプション:オプションを有効化
+o オプション:オプションを無効化
declear 変数を宣言
-f:定義済みの関数を表示
function 関数を定義
export シェル変数を環境変数として登録
alias エイリアスを設定
書式:alias エイリアス='コマンド'
(オプションなし:登録されているエイリアスの表示)
unalias 指定したエイリアスを削除
-a:エイリアスを全削除
env 現在の環境を表示/変更後の環境で指定したコマンドを実行
-i:環境変数が設定されていない状態にする
-u:環境変数を一時的に削除
unset 指定した環境変数を削除
read シェルスクリプト内で標準入力からの入力を受け付ける際に利用
source 現在のシェルでスクリプトを実行(.で置き換えることも可能)
seq 連続した数値を自動的に生成
x y z:xからzまでyずつ増加
x y:xからyまで1ずつ増加
x:1からxまで
exec 指定したコマンドを既存のジョブに置き換えて実行

setコマンドの主なオプション

オプション 説明
allexport 作成/変更した変数を自動的にエクスポート
emacs emacs風のキーバインドにする
ignoreof Ctrl + D でログアウトしないようにする
noclobber 出力リダイレクトによる上書きを禁止
noglob メタキャラクタを使ったファイル名展開を無効
vi vi風のキーバインドにする
noexec 実際には実行せず確認のみ行う

testコマンドの主な条件式

条件式 説明
-f ファイルが存在すれば真
-d ディレクトリが存在すれば真
-r ファイルが存在かつ読み取り可能であれば真
-w ファイルが存在かつ書き込み可能であれば真
-x ファイルが存在かつ実行可能であれば真
-L シンボリックリンクが存在すれば真
Lは大文字であることに注意
-e パスが存在すれば真
ファイル1 -nt ファイル2 ファイル1の修正時刻がファイル2より新しければ真
ファイル1 -ot ファイル2 ファイル1の修正時刻がファイル2より古ければ真
数値1 -eq 数値2 数値1と数値2が等しければ真
数値1 -ge 数値2 数値1が数値2以上であれば真
数値1 -gt 数値2 数値1が数値2より大きければ真
数値1 -le 数値2 数値1が数値2以下であれば真
数値1 -lt 数値2 数値1が数値2未満であれば真
数値1 -nt 数値2 数値1が数値2と等しくなければ真
文字列1 = 文字列2 2つの文字列が等しければ真
文字列1 != 文字列2 2つの文字列が等しくなければ真
条件1 -a 条件2 両方の条件式が真であれば真
&&ではないことに注意
条件1 -o 条件2 いずれかの条件式が真であれば真

英語に直して考えれば全て暗記する必要はない。(例. ge = greater equal)

bashログイン時に読み込む環境設定ファイルの順序

順序 ファイル 説明 備考
1 /etc/profile ログイン時に実行され、全ユーザから参照される
環境変数などを設定
-
2 /etc/bash.bashrc bash起動時に実行され、全ユーザから参照される Debian系のみ
3 ~/.bash_profile ログイン時に実行される
ユーザ独自の環境変数などを設定
-
~/.bash_login ログイン時に実行される ~/.bash_profileが存在しない場合に読み込まれる
~/.profile ログイン時に実行される ~/.bash_loginも存在しない場合に読み込まれる
4 ~/.bashrc bash起動時に実行される
ユーザ独自のエイリアスなどを設定
-
5 /etc/bashrc ~/.bashrcから参照される -
ログアウト時 ~/.bash_logout ログアウト時に実行される

対話型シェルを起動した際に読み込まれるファイル

順序 ファイル 説明
1 ~/.bashrc ユーザ個別ファイル
2 /etc/bashrc 全体設定用(RedHat系)
/etc/bash.bashrc 全体設定用(Debian系)

制御構文

if文
if 条件式
then
 実行文1
else
 実行文2
fi
for文
for 変数名 in 値のリスト
do
 実行文
done
while文
while 条件文
do
 実行文
done
case文(値3以降は省略)
case 式 in
 値1)
  実行文1) ;;
 値2)
  実行文2) ;;
esac

基本的な制御構文の書式は暗記しておく。case文の;;などは忘れがちなので注意

スクリプトに渡す引数

変数名 説明
$0 シェルスクリプト名
$n (n=9以下の数値) n番目の引数
${N} (N=10以上の数値) N番目の引数
$# 引数の数
$@ すべての引数 (スペース区切り)
$* すべての引数 (環境変数IFS区切り)
$? 直前に実行されたコマンドの終了ステータス
$$ 現在のシェルのプロセス番号

LPIC102対策用チートシート リンク集

ユーザーインターフェースとデスクトップ
管理タスク
必須システムサービス

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4