186084 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

家studyをつづって

家studyをつづって

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

プロフィール

kinada3

kinada3

カテゴリ

日記/記事の投稿

バックナンバー

2025年05月
2025年04月
2025年03月
2025年02月
2025年01月

キーワードサーチ

▼キーワード検索

楽天カード

コメント新着

ラッキー@ Re[2]:1.セキュリティとリスクマネジメント(CISSP)(04/22) kinada3さんへ お返事いただき、有難うご…
kinada3@ Re[1]:1.セキュリティとリスクマネジメント(CISSP)(04/22) ラッキーさんへ コメントをいただきまして…
ラッキー@ Re:1.セキュリティとリスクマネジメント(CISSP)(04/22) コメント失礼致します。 すごく参考になり…
kinada3@ Re[1]:ubuntuをかじる(10/14) Apapaさんへ コメントをいただきありがと…
Apapa@ Re:ubuntuをかじる(10/14) Ubunteを使っていますが機械を変えてとこ…

フリーページ

ニューストピックス

2018年08月05日
XML
カテゴリ:資格勉強用

whatisデータベースを作成するコマンドは?

・makewhatis

設定されている全てのシェル変数を一覧表示するコマンドは?

・set

指定したコマンドを既存のジョブ(シェルのプロセス)に置き換えて実行するコマンドは?

・exec

コマンド実行履歴を保存するファイル名を格納する環境変数は?

・HISTFILE

コマンド実行履歴保存ファイルの最大記録数を設定する環境変数は?

・HISTFILESIZE

任意の1文字を表すメタキャラクタは?

・?

historyコマンド実行結果から過去のコマンドを実行する。

・!番号

/etc/crontabファイルに関するmanページを表示するコマンドは?

・man 5 crontab

ロケールを格納する環境変数は?

・LANG

現在ログインしているユーザはrootである。

testユーザのホームディレクトリに移動するコマンドは?

・cd ~test

ホスト名を格納する環境変数は?

・HOSTNAME

ログインしているユーザのホームディレクトリを格納する環境変数は?

・HOME

ホームディレクトリに\workディレクトリを作成するコマンドは?

(シングルクォーテーション、ダブルクオーテーションは使わないこと)

・mkdir ~/\\work

現在、ユーザがログインした際に起動するデフォルトのシェルは?

・bash

設定されている全ての環境変数を一覧表示できるコマンドは?

(アルファベット順に3つ)

・env

・printenv

・set

現在の環境変数PATHに「/usr/local/test」ディレクトリを追加したい。

  下線部にあてはまる語句は?

  $ export PATH=$PATH:/usr/local/test

現在使用しているシステムの情報を表示するコマンドは?

・uname

passwdというキーワードと完全に一致した名前を含むmanページを検索するコマンドは?

(アルファベット順に2つ)

・man -f passwd

・whatis passwd

囲んだ部分をコマンドとみなし、その実行結果を表示するメタキャラクタは?

・`

ログインしているユーザ名を格納する環境変数は?

・USER

シェル変数であるLPICの値をtestにするコマンドは?

・LPIC=test


dpkgコマンドのアクションのうち、設定ファイルを残してパッケージをアンインストールするアクションは?
・-r
・--remove


Debianパッケージにおいて、パッケージ情報のデータベースを使って依存関係を調整しながらパッケージのインストール・アンインストールなどを行えるコマンドは?
・apt-get


dpkgツールにおいてインストール済みのパッケージを再設定するコマンドは?
・dpkg-reconfigure


dpkgコマンドを使用して、「procmail」パッケージを設定ファイルを含めて全てアンインストールしたい。適切なコマンドは?
・dpkg -P procmail
・dpkg --purge procmail


apt-cacheコマンドのサブコマンドのうち、指定したパッケージへ依存しているパッケージを含めた詳細情報を表示するサブコマンドは?
・showpkg


apt-getコマンドのサブコマンドのうち、過去に取得したパッケージファイルを削除するサブコマンドは?
・clean


dpkgコマンドを使用して、インストール済みのパッケージを一覧表示させたい。
適切なコマンドは?
・dpkg -l
・dpkg --list


apt-getコマンドのサブコマンドのうち、パッケージをアンインストールするサブコマンドは?
・remove


dpkgツールの設定ファイルは?
・/etc/dpkg/dpkg.cfg


apt-cacheコマンドのサブコマンドのうち、指定したパッケージのサイズやファイル名などを含めた情報を表示するサブコマンドは?
・show


dpkgコマンドのアクションのうち、パッケージをインストールするアクションは?
・-i
・--install


apt-cacheコマンドを使用して、「ssh」パッケージが依存しているパッケージの名前を一覧表示させたい。適切なコマンドは? 
 ・apt-cache depends ssh


dpkgコマンドのオプションのうち、ディレクトリを再帰的に処理するオプションは?
・-R


apt-cacheコマンドを使用して、キーワード「ssh」を含むパッケージを表示させたい。適切なコマンドは?
・apt-cache search ssh


dpkgコマンドのアクションのうち、指定したインストール済みパッケージの詳細情報を表示するアクションは?
・-s
・--status


APTツールではネットワーク経由で最新のパッケージを取得できるがパッケージの取得元(リポジトリ)を設定するファイルは?
・/etc/apt/sources.list


dpkgコマンドのオプションのうち、新バージョンが既にインストールされている場合はインストールを行わないオプションは?
・-G

dpkgコマンドのオプションのうち、同バージョンが既にインストールされている場合はインストール行わないオプションは?
・-E

dpkgコマンドのアクションのうち、指定したファイルのインストール元のパッケージを表示するアクションは?
・-S
・--search

dpkgコマンドのアクションのうち、インストール済みのパッケージを一覧表示するアクションは?
・-l
・--list

dpkgコマンドのアクションのうち、指定したパッケージからインストールされたファイルを一覧表示するアクションは?
・-L
・--listfiles

dpkgコマンドのアクションのうち、インストールが中断しているパッケージを表示するアクションは?
・-C
・--audit

apt-getコマンドを使用して、ディストリビューションを最新版にしたい。適切なコマンドは?
・apt-get dist-upgrade


APTツールにおいてパッケージ情報の検索・参照などを行うコマンドは?
・apt-cache


APTツールにおいて、apt-getやapt-cacheコマンドよりも高度なコマンドで、対話的なパッケージ管理が行えるコマンドは?
・aptitude


apt-cacheコマンドのサブコマンドのうち、キーワードを含むパッケージを検索するサブコマンドは?
・search

あるプログラムが必要としている共有ライブラリを表示するコマンドは?

・ldd

「/bin/bash」を実行するときに必要となる共有ライブラリを調べたい。適切なコマンドは?

・ldd /bin/bash

共有ライブラリを格納するためのディレクトリを新たに作成した。

ldconfigコマンドを使用して共有ライブラリのキャッシュファイルを更新するためには、

どのファイルに新しいディレクトリのパスを記述する必要があるか?

・/etc/ld.so.conf

プログラムの実行時に、共有ライブラリの場所を検索するために使用されるファイルは?

・/etc/ld.so.conf

共有ライブラリの検索パスを設定できる環境変数は?

・LD_LIBRARY_PATH

共有ライブラリのキャッシュファイル「/etc/ld.so.cache」を更新するコマンドは?

・ldconfig


ルートパーティションを「/dev/sda2」に指定して起動させたい。起動プロンプトにおいて下線部に当てはまる記述は?
 ・grub> linux /boot/vmlinuz-2.6.35 root=/dev/sda2

「/sbin/init」の代わりに「/bin/bash」を起動したい。起動プロンプトにおいて下線部に当てはまる記述は?
・grub> kernel /boot/vmlinuz-2.6.35 init=/bin/bash

GRUB2の設定ファイルは?
・/boot/grub/grub.cfg

ブートローダであるGRUB2の設定ファイルの内容を変更したい。変更内容を反映させるコマンドは?
・grub-mkconfig

GRUB Legacyの設定ファイルは?(アルファベット順に2つ)
・/boot/grub/grub.conf
・/boot/grub/menu.lst

GRUB Legacyの設定ファイル「/boot/grub/menu.lst」において、ルートパーティションを
1番目のディスクの4番目のパーティションに指定したい。どのように指定すれば良いか?
・root (hd0,3)

GRUB Legacyの設定ファイル「/boot/grub/menu.lst」において、ルートパーティションを
2番目のディスクの3番目のパーティションに指定したい。どのように指定すれば良いか?
・root (hd1,2)


以下はGRUB2の設定ファイル「/boot/grub/grub.cfg」の抜粋である。ルートパーティションを
1番目のディスクの4番目のパーティションに指定したい。どのように指定すれば良いか?
・set root=(hd0,4)

以下はGRUB2の設定ファイル「/boot/grub/grub.cfg」の抜粋である。ルートパーティションを
2番目のディスクの3番目のパーティションに指定したい。どのように指定すれば良いか?
・set root=(hd1,3)

GRUB LegacyまたはGRUB2をインストールするコマンドは?
・grub-install

起動中のカーネルから出力される情報を抑制したい。
・grub> kernel /boot/vmlinuz-2.6.35 quiet

GRUBの第一段階のプログラムをバックアップしたい。
・dd if=/dev/sda of=stage1_backup.img bs=440 count=1

GRUB Legacyの設定ファイル「/boot/grub/menu.lst」において、システム起動時の
カーネルイメージと起動オプションを指定したい。
・kernel /boot/vmlinuz-2.6.35 root=/dev/hda1


systemdの動作するシステムで、実験的にグラフィカルログインモードで起動したい。
起動プロンプトで指定すべきカーネルパラメータを答えよ(省略不可)
・systemd.unit=graphical.target




「/etc/inittab」を設定ファイルとして使用しないinitプログラムは?
・systemd
・Upstart


systemdの動作するシステムで、システム起動時に最初に実行されるUnitファイルは?
・/etc/systemd/system/default.target

systemctlコマンドで次回起動時にシングルユーザーモードで起動するよう設定したい。
・systemctl set-default rescue.target


現在のランレベルを変更することでシステムを再起動したい。
・init 6
・telinit 6

現在および1つ前のランレベルを調べることが出来るコマンドは?
・runlevel

systemdが動作するシステムで次回起動時のターゲットを確認できるコマンド
・systemctl get-default


SysVinit採用システムで、ランレベル3で実行されるスクリプトが入っているディレクトリは?
・/etc/rc3.d

ユーザ数百人が利用すると想定されるファイルサーバを構築したい。
ルートパーティションとは別のパーティションとして構成した方がよいと考えられるディレクトリ
・/home/

システムの起動には必須で無いプログラムやライブラリが格納されたディレクトリは?
・/usr/

デバイスファイルが格納されていて、ルートパーティションから分割できないディレクトリ
・/dev/

アプリケーションのログファイルや一時的な電子メールファイルなど、
可変ファイル群を格納するディレクトリは?
・/var/

物理的な記憶デバイスの領域をまとめ、それを論理的なひとつの大きな記憶デバイスとして扱うことで、
物理的なパーティションの仕様に由来する制限を回避できるシステムの名称は?
・LVM
 
systemdの管理単位であるUnitの名称を以下の順に答えよ
  ・各種デバイスを管理するUnit    device
  ・ファイルシステムのマウントを管理するUnit    mount
  ・サービスを制御するUnit    service
  ・スワップ領域を管理するUnit    swap
  ・複数のサービスをひとつのグループにするためのUnit    target

カーネルが出力するメッセージが格納されるリングバッファの内容を表示するコマンドは?
・dmesg

  以下の特徴を持つinitプログラムの名前は?
  ・サービスやタスクを「ジョブ」という単位で扱う
  ・イベント駆動型
  ・サービスの並列起動処理が可能
・Upstart

システム起動時にブートローダからカーネルに渡されたパラメータが格納されたファイルは?
・/proc/cmdline

カーネルのログが記録されるなど、Linuxでメインで使用されるログファイルは?
・/var/log/messages


systemdの動作するシステムにおいて、プロセスのリソースを管理するLinuxカーネルの機能は?
・cgroups

デバイスが使用中のDMAチャネルに関する情報が格納されたファイル
/proc/dma

PCIデバイスの情報を表示するコマンド
また、PCIデバイスの情報が格納されたファイル
・lspci
・/proc/bus/pci/devices

I/Oポートアドレスの情報が格納されているファイル
・/proc/ioports


IRQに関する情報が格納されているファイル
・/proc/interrupts

ロードされているカーネルモジュールの情報を表示するコマンド
また、ロードされているカーネルモジュールの情報が格納されたファイル
・lsmod
・/proc/modules


接続されたUSBデバイスの情報を表示するコマンド
また、接続されたUSBデバイスの情報が格納されたファイルは?
・lsusb
・/proc/bus/usb/devices

キーボード、マウスなどが属しているUSBのデバイスクラスは?
・HID

CPUに関する情報が格納されたファイル
・/proc/cpuinfo

SCSIデバイスに関する情報が格納されたファイルは?

・/proc/scsi/scsi

依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンド
・modprobe

ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成する仕組み
・udev



Linuxではパッケージという単位でソフトウェアを管理する。
パッケージには以下のようなものが含まれる
・実行ファイル
・ライブラリ
・設定ファイル
・マニュアルドキュメント

dpkg(rpm)コマンドの場合、手動で依存関係を調整するがapt(yum)の場合は自動で調整する。

e2fsckコマンドで「/dev/sda4」をチェックする際、全ての問題を自動的に修復したい。
○e2fsck -p /dev/sda4


「/bin/ls」ファイルの内容をASCII文字とエスケープ文字で表示したい。
プロンプト~$ od -t c /bin/ls


ln [-s] リンク元 リンク先

viコマンド

$:行末へ移動

0:行頭へ移動


USBのデバイスクラス

HID キーボード、マウス

Mass Storage Class ハードディスク、USBメモリー

ACM モデム、TA

AudioClass スピーカ、マイク

dpkgツールの設定ファイル

・/etc/dpkg/dpkg.cfg

dpkgコマンドを使用して、「ssh」パッケージの詳細情報を表示させたい。

・dpkg --status ssh

・dpkg -s ssh

「/bin/bash」を実行するときに必要となる共有ライブラリを調べたい。

・ldd /bin/bash

systemdが利用できるユニットの一覧を取得したい。

・systemctl list-unit-files



YUMツールではネットワーク経由で最新のパッケージを取得することができる。
パッケージの取得元(リポジトリ)を設定するファイルが格納されているディレクトリ
・/etc/yum.repos.d

yumコマンドを使用して、パッケージグループを一覧表示させたい。
・yum grouplist


umaskコマンドではマスク値というものを設定して、
新規に作成するファイルとディレクトリのデフォルトのパーミッションを決定します。
マスク値はユーザ毎に設定します。
マスク値が0の場合に使用されるデフォルトのパーミッションは、
ファイルが「666」、ディレクトリが「777」です。
これらの値から、指定したマスク値を引いた値が新たなデフォルトのパーミッションとして設定されます。


「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、
カーネルから起動されるinitプロセスとして「/sbin/init」を起動します。
initは起動されると、設定ファイル「/etc/inittab」の記述に基づいて、
自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。



特殊なパーミッション
・SUID
実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、
プログラムの所有ユーザの権限で実行されます。
設定はchmodコマンドで、通常のパーミッションの値に4000を加えた値を設定するか、
所有ユーザに「s」という権限を追加します(u+s)。


・SGID
実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、
プログラムの所有グループの権限で実行されます。
設定はchmodコマンドで、通常のパーミッションの値に2000を加えた値を設定するか、
所有グループに「s」という権限を追加します(g+s)。

・スティッキービット
ディレクトリに設定する事で、そのディレクトリに対して書き込み権限を持つユーザでも、
自分が所有する以外のファイルを削除できなくなります。
設定方法はchmodコマンドで、通常のパーミッションの値に1000を加えた値を設定するか、
その他ユーザに「t」という権限を追加します(o+t)。
これが設定された代表的なディレクトリに「/tmp」ディレクトリがあります。


ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成する仕組み
・udev


「ctrl+alt+del」キーを押下した際のシステムの動作を設定するファイル
・/etc/inittab


ユーザ毎にディスククォータの設定を行う手順のリスト
1.「/etc/fstab」のファイルシステムにusrquotaオプションを設定する
2. ファイルシステムをマウントしなおす
3. quotacheckコマンドでデータベースファイルを作成・更新する
4. quotaonコマンドでクォータを有効にする
5. edquotaコマンド、またはsetquotaコマンドでユーザのクォータを設定する


「/etc/inittab」を設定ファイルとして使用しないinitプログラム
・systemd
・Upstart


システム起動時に最初に実行されるUnitは「/etc/systemd/system/default.target」です。
default.targetをSysVinitでのランレベルに相当するUnitへのシンボリックリンクとして作成することで、
期待するサービス群を起動できるようになります。
SysVinitのランレベルとsystemdのターゲットは以下のように対応しています。
これらのターゲットは「/lib/systemd/system」配下に格納されています。
また、SysVinitとの関連がわかりやすいように、runlevel0.target〜runlevel6.targetまでの
シンボリックリンクも用意されています。
シンボリックリンクは上書きできないので、事前に削除する必要があります。



デバイスが使用中のDMAチャネルに関する情報が確認できるファイルは次のうちどれか。
・/proc/dma
DMAは、Direct Memory Accessの略で、CPUを介さなくても周辺機器同士でデータをやり取りできる技術


IDEの接続インターフェースにはプライマリとセカンダリがあり、それぞれにマスターとスレーブのデバイスを接続できます。

ですので合計4台のIDEデバイスを接続できます。対応するデバイスファイル名は以下の通りです。(カーネル2.6.18より前)

・/dev/hda プライマリのマスター(1番目のディスク)

・/dev/hdb プライマリのスレーブ(2番目のディスク)

・/dev/hdc セカンダリのマスター(3番目のディスク)

・/dev/hdd セカンダリのスレーブ(4番目のディスク)

GRUB Legacy(GRUB1)の設定ファイル「/boot/grub/menu.lst」でルートパーティションを指定するには、「root (hdディスク番号,パーティション番号)」と指定します。その際、番号はどちらも0から数えます。


GRUB Legacyの設定ファイル「/boot/grub/menu.lst」において、

ルートパーティションを1番目のディスクの4番目のパーティションに指定

・root (hd0,3)

GRUB Legacy(GRUB1)の設定ファイル「/boot/grub/menu.lst」でルートパーティションを指定するには、

「root (hdディスク番号,パーティション番号)」と指定します。その際、番号はどちらも0から数えます。


SCSIデバイスに関する情報が確認できるファイル
・/proc/scsi/scsi

dpkgツールの設定ファイルは次のうちどれか。

・/etc/dpkg/dpkg.cfg


Linuxシステムを構築するに当たって、最低限必要なパーティション
・ルートパーティション
・スワップ領域



ブートローダであるGRUB Legacyの設定ファイル
・/boot/grub/menu.lst
・/boot/grub/grub.conf


マニュアルページが格納されているディレクトリとして適切なものは次のうちどれか。

・/usr/share/man

「/etc/fstab」ファイルは、利用するファイルシステムのマウント設定を事前に行っておく設定ファイルです。

mountコマンドはこのファイルの設定内容を参照して動作します。

「/etc/fstab」ファイルの書式は以下の通りです。項目は6つです。

(1) デバイス名

(2) マウントポイント

(3) ファイルシステムの種類

(4) マウントオプション

(5) dumpフラグ

(6) fsckフラグ

パーティションの設計について適切なものは次のうちどれか。

・/varは高速に書き込みできるディスクに割り当てる




D-Busについて

・Linuxで使われるプロセス間通信機構

D-Bus(Desktop Bus)は、プログラム同士が情報を伝達するプロセス間通信機構のひとつ

Linuxではdbus-daemonなどがプロセス間通信の中継を行う

新しいデバイスの認識情報を他のアプリケーションに伝達し、そのアプリケーションが新しいデバイスをすぐに使えるようになるなどのシステム管理上の利便性も向上します。

シグナルとシグナル番号

HUP 1 ハングアップ、再起動

INT(SIGINT) 2 Ctrl+c、割り込みによる終了

KILL(SIGKILL) 9 クリーンアップせずに終了

TERM(SIGTERM) 15 クリーンアップして終了、デフォルト

CONT(SIGCONT) 18 一時停止のプロセスを再開

STOP(SIGSTOP) 19 一時停止

TSTP(SIGSTP) 20 Ctrl+z、端末から入力された一時停止

パーティションの設計について適切なものは次のうちどれか。

・/varは高速に書き込みできるディスクに割り当てる

FHS(ファイルシステム階層標準)の説明

・ユーザがインストールしたプログラムの配置場所などを推測しやすくするためのもの

・ディストリビューションに依存しない、Linuxの標準的なディレクトリの構造を定めた規格のこと



dpkgツールの設定ファイル
・/etc/dpkg/dpkg.cfg



D-Busについて
・Linuxで使われるプロセス間通信機構


CPUに関する情報を確認できるファイル
・/proc/cpuinfo



設定ファイルを再度読み込ませて設定を反映させる為に、
プロセスを再起動するシグナル
・HUP



環境変数PATHの説明

・パスを指定しなくてもコマンドを実行できるようにするために使用される

・シェルは環境変数PATHに定義されたパスから、入力されたコマンドの実行ファイルを順に探す

GPTに存在しない制約

・基本パーティション数:4

・最大ハードディスク容量:2TB

・起動用システムファームウェア:BIOS



FHS(ファイルシステム階層標準)の説明

・ユーザがインストールしたプログラムの配置場所などを推測しやすくするためのもの

・ディストリビューションに依存しない、Linuxの標準的なディレクトリの構造を定めた規格のこと

YUMツールはRPMツールを拡張したツール群

インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、

依存関係を調整しながらパッケージ管理を行うことが可能

パッケージの取得元(リポジトリ)は「/etc/yum.repos.d」ディレクトリ内のファイルで設定する

udevが使用するデバイス設定情報

・設定情報ファイルは「/etc/udev/rules.d」に配置される

カーネルはデバイスを検知すると「/sys」以下(sysfsと呼ばれます)の情報を更新、

その更新をudevは検知し、/dev以下にデバイスファイルを動的に作成します。

デバイスファイル作成時の動作は、「/etc/udev/rules.d」ディレクトリに

配置された設定ファイル(拡張子「.rules」)に記述された情報に基づいて行われる

パーティションの設計

・/varは高速に書き込みできるディスクに割り当てる

ハードリンクトシンボリックリンク

【ハードリンク】

ハードリンクとは、ファイルの実体を直接参照するリンクのことです。

ファイルを新規作成した場合は、ハードリンクが1つある状態です。

同じ実体を参照するハードリンクは複数作成できます。

それらは同じinode番号を持つことになります。

・File1→ファイル実態←File2

【シンボリックリンク】

シンボリックリンクとは、Windowsでのショートカットのようなもので、

元ファイルの場所を指し示すリンクの事です。

シンボリックリンクが持っている情報は「元ファイル(ディレクトリ)が

どこにあるのか」というパス情報のみです。

なお、File1とFile2ではinode番号が違う

・File2→File1→ファイル実態



SysVinitを採用したシステムの特徴
・ランレベル3では「/etc/rc3.d」配下のスクリプトが実行される


SCSIデバイスに関する情報が確認できるファイル
・/proc/scsi/scsi


ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成する仕組み
・udev


一般的なLinuxシステムの起動順序(ブートプロセス)
・BIOS → ブートローダ → カーネル → init

○BIOS(Basic I/O System)
最もハードウェアに近い部分を司るシステムで、物理的なハードウェア(マザーボード)上に書き込まれています。
コンピュータの電源を入れると、まずこのBIOSが起動し、記憶装置(HDD)等に関して最低限の認識をして起動デバイスの優先順位を決定します。
その後、起動する順にデバイスの先頭セクタにあるMBR(ブート用の特殊領域。
ブートローダが格納されている)を読み込み、得られたブートローダに制御を移します。
ブートローダが得られない場合は次のデバイスのMBRを読み込みます。
最近のシステムではUEFI(Unified Extensible Firmware Interface)への移行が進んでいます。

○ブートローダ
LinuxシステムではGRUBが該当します。
MBRに格納されている第一段階部分と、記憶装置内の別の場所に格納されている第二段階部分があります。
このように分かれている理由は、MBRには厳しいサイズ制限があるためです。
ブートローダは記憶装置内のカーネルをロードし、カーネルに制御を移す役割を果たします。
第一段階のブートローダはMBRの先頭446バイトの領域にインストールされます。

○カーネル
カーネルは起動されると、高度にハードウェアを認識・制御し、
ルートパーティションのマウントなど様々な初期化処理を行います。
その後、initという特別な最初のプロセスを起動します。

○init
最初に起動されるプロセスで、PID(プロセス ID)は必ず1です。
「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、「/sbin/init」が起動されます。
initプロセスは設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、
アプリケーションレベルの初期化を行います。
以降、initプロセスは全てのプロセスの先祖(直接・間接的な呼び出し元)として存在し続けます。
なお、最近のシステムではinitプログラムとして、
初期化処理を高速化したUpstartやsystemdを採用している場合があります。
その場合は基本的に「/etc/inittab」ファイルは使用されません。

シェル変数と環境変数の違い

・シェル変数は、変数を設定したシェル上でのみ有効な変数で、exportすることによって環境変数とすることができる

・環境変数は、設定が子プロセスに引き継がれる

Windowsのメモ帳で作成したテキストファイルをLinuxで正しく扱えるようにしたい。

・テキストファイルから改行コードCR(\r)を取り除く

Linuxをインストールする際、ルートパーティションとは別のパーティションを割り当てる事が可能なディレクトリ

・/tmp

・/boot



ブートローダであるGRUB2の設定ファイル

・/boot/grub/grub.cfg

I/Oポートアドレスの情報が格納されているファイル

・/proc/ioports

スワップ領域は通常、物理メモリと同じサイズまたは2倍程度のサイズを設定


Systemdで扱う処理単位:Unit

・device :各種デバイスを管理するUnit

・mount :ファイルシステムのマウントを管理

・service :サービスを制御するUnit

・swap :スワップ領域を管理するユニット

・target :複数のサービスを一つのグループに管理するUnit


shutdownコマンドのmanページセクション
・8

マニュアルのセクション番号
1 ユーザコマンド
2 システムコール
3 ライブラリ関数
4 デバイスファイル
5 ファイルのフォーマット
6 ゲームプログラム
7 ファイルシステムなど
8 システム管理コマンド
9 カーネルルーチン


現在の環境変数PATHに「/usr/local/test」ディレクトリを追加
$ export PATH=$PATH:/usr/local/test


システム起動時においてのブートローダの説明
・記憶装置(HDD)内のカーネルをロードし、制御を移す

バス幅が16bitのSCSIに接続できる周辺機器の数
・15
※バス幅が16bitのSCSIでは16台のデバイスを扱うことができますが、そのうちの1台はSCSIコントローラになります。したがって、接続できる周辺機器の数は15台です。
SCSIデバイスの情報は「/proc/scsi/scsi」ファイルで確認できます。


全てのユーザが使用できるプログラムを作成した。そのプログラムはこのホストでのみ使用する。
プログラムを格納するディレクトリとして適切なもの
・/usr/local/bin


initプログラムであるUpstartの特徴
・イベント駆動型
・サービスやタスクを「ジョブ」という単位で扱う
・サービスの並列起動処理が可能


モデム、TA(ターミナルアダプタ)などが属しているUSBのデバイスクラス
・ACM Communication Device Class


従来のinitプログラムを置き換えるsystemdの特徴
・扱う処理をUnitという単位で管理する
・サービスの並列起動によって高速なシステム起動や停止が行える
・cgroupsでプロセスのリソースを管理する


USB関連

----------------------------------------------------------------------------------------------

コントローラ 規格 USBモジュール(カーネル2.4) USBモジュール(カーネル2.6)

----------------------------------------------------------------------------------------------

UHCI USB1.1 usb-uhci uhci_hcd

----------------------------------------------------------------------------------------------

OHCI USB1.1 usb-ohci ohci_hcd

----------------------------------------------------------------------------------------------

FHCI USB2.0 サポートされていない ehci_hcd

----------------------------------------------------------------------------------------------

プログラムの実行時に、共有ライブラリの場所を検索するために使用されるファイル

・/etc/ld.so.cache


正規表現
--------------------------------------------------------------
. |任意の1文字
--------------------------------------------------------------
* |直前文字の0回以上の繰り返し
--------------------------------------------------------------
[] |カッコ内のいずれか一文字[abc]ならa,b,cのいずれか一文字
--------------------------------------------------------------
^ |行頭 ただし、[^文字列]として使う場合は[文字列]以外の文字
--------------------------------------------------------------
$ |文末
--------------------------------------------------------------
\ |次の1文字エスケープ=通常文字として処理
--------------------------------------------------------------
+ |直前文字1回以上の繰り返し
--------------------------------------------------------------
? |直前文字の0回または1回の繰り返し
--------------------------------------------------------------
| |左右いずれかの文字列
--------------------------------------------------------------

正規表現関連
正規表現の「a.[^b]d」にマッチする文字列
=正規表現の「a.[^b]d」は、1文字目が「a」、2文字目が任意の1文字、3文字目が「b」以外、
4文字目が「d」の文字列を表しています。
これらの条件を満たしている文字列は「abcd」、「abdd」、「aacd」です。


ディレクトリの権限
-----------------------------------------------------------------------------
|ファイルに適用した場合 |ディレクトリに適用した場合
-----------------------------------------------------------------------------
読み |ファイルの内容参照 |ディレクトリ内の内容参照(ls、find)
書き |ファイルに書き込み |ディレクトリ内に新規ファイル作成(touch、mv)
実行 |ファイル実行 |ディレクトリ内のファイルアクセス、移動(cd)
-----------------------------------------------------------------------------
パーティションの話
---以下、基本パーティション---
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
---以下、論理パーティション---
/dev/sda5
/dev/sda6
/dev/sda7

ブートローダであるGRUB2の設定ファイル
・/boot/grub/grub.cfg
bashシェルで実行したコマンドの履歴を表示するコマンドと、履歴を保存するファイル
・.bash_history@ユーザのホームディレクトリ
・history


「/etc/fstab」ファイルに記述するマウントオプションで、
一般ユーザによるマウントを禁止するもの
・nouser
アーカイブと圧縮
アーカイブ :ファイルやディレクトリなどを単純に一箇所に集めたもののこと。圧縮してファイルサイズを小さくすることは含まれない
圧縮 :ファイルやディレクトリのデータの無駄を省き、データ量を小さくすること

すでにマルチユーザモードで起動しているシステムを、メンテナンスのためにシングルユーザモードに変更

・telinit S

・init s

・telinit 1

Linuxの動作モードのことをランレベルといいます。現在のランレベルはinitまたはtelinitコマンドで変更できます。

1/s/S:シングルモード



「/etc/fstab」ファイルに記述するマウントオプションで、一般ユーザによるマウントを禁止するもの
・nouser



systemdの動作するシステムにおいて、メンテナンスのために
以下のコマンドでシングルユーザーモードに変更し、作業を行った。
# systemctl rescue
作業が終わったので通常の起動状態に戻したい。
・Ctrl-Dを入力する
・systemctl reboot コマンドを実行する
・systemctl default コマンドを実行する


「/home/test」ディレクトリのシンボリックリンクを「/home/testlink」という名で作成したい。
・ln -s /home/test /home/testlink

依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンド
・modprobe


プロセスID指定
kill [-シグナル名または-シグナル番号] プロセスID
kill -s [シグナル名またはシグナル番号] プロセスID


プロセス名指定
killall [-シグナル名または-シグナル番号] プロセス名(コマンド名)
killall -s [シグナル名またはシグナル番号] プロセス名(コマンド名)

pkill [-シグナル名または-シグナル番号] プロセス名(コマンド名)
pkill --signal [-シグナル名または-シグナル番号] プロセス名(コマンド名)


findコマンドでファイルを検索する際、検索結果を改行区切りで表示するアクション
・-print


systemdが利用できるユニットの一覧を取得するコマンド
・systemctl list-unit-files


splitコマンドでオプションを指定しなかった場合、正しいものを選べ。
・1000行ごとに分割される


systemdが稼働するシステムにおいて、次回起動時のターゲットが確認できるsystemctlのサブコマンド
・get-default


「test.txt」ファイルの1行目から3行目を削除して表示したい。
・sed 1,3d test.txt




現在のシステムの負荷平均を表示するコマンド
・uptime


メモリやスワップ領域の使用状況を表示するコマンド
・free

現在実行中のプロセスを表示するコマンド
表示内容は一定時間ごとに更新しない
・ps


プロセスの稼動状況を一定時間ごとに更新して表示するコマンド
・top


「configure.xz」ファイルを展開することができるコマンド
・xz -d -k configure.xz
・xz -d configure.xz
・unxz configure.xz



niceコマンドを使用せずにコマンドを単体で実行した場合のデフォルトのnice値は「0」
niceコマンドを使用した場合のデフォルトの(nice値を指定しなかった場合の)nice値は「10」


端末上で複数の仮想端末を開くことのできるプログラム
・screen
・tmux


yumコマンドを使用して、アップデート可能なパッケージを確認したい。
・yum check-update




duコマンドオプション
-a    ディレクトリ以外にファイルについても表示
-h    わかりやすい単位を付加して表示
-c    合計容量も同時に表示
-s    指定したファイル・ディレクトリの合計容量を表示
-S    ディレクトリの容量にサブディレクトリを含めず表示
-k    キロバイト表示
-m    メガバイト表示







ファイルシステムのチェック、および問題を修復することが出来るコマンド
・e2fsck
・fsck


スワップ領域を作成するコマンド
・mkswap


dpkgツールにおいてインストール済みのパッケージを、
インストールした時と同じように再設定するコマンド
・dpkg-reconfigure





「test.txt」ファイルから、「.*」という文字列を含む行を抽出
・grep '¥.¥*' test.txt
・fgrep '.*' test.txt
・grep -F '.*' test.txt


「.*」は正規表現で任意の文字列を表します。検索パターンを正規表現ではなく、
固定文字列として扱うには「-F」オプションを併用するか、fgrepコマンドを使用します。
なお、シェルが「.」および「*」をメタキャラクタとして認識しないよう、
検索パターンを引用符で囲う必要があります。



sortコマンドのオプション
-b 行頭空白文字を無視
-f 大文字、小文字を区別しない
-r 降順ソート
-t 区切り文字指定
-n 数字を文字でなく数値としてソート
-k ソート対象のフィールド指定


一般ユーザが書き込みできることによりディスク容量が大きくなる可能性が高いため、ルートパーティションとは別のパーティションを割り当てた方がよいディレクトリ
・/tmp
・/home


YUMツールでパッケージの取得元(リポジトリ)を設定するファイルが格納されているディレクトリ
・/etc/yum.repos.d


「/etc/fstab」の1つ目の設定項目に指定できる値
・LABEL=/boot
・/dev/sda1
・UUID=3b80b96c-df15-401e-b74c-e8dcbfb68cec

環境変数

HISTFILE :コマンド履歴保存ファイルのパス

HISTSIZE :現在のシェルでのコマンド履歴保存数

HISTFILESIZE :コマンド履歴保存ファイルへの保存数

HOSTNAME :ホスト名

HOME :ログインしているユーザのホームディレクトリ

LANG :ロケール(言語設定)

PATH :コマンドやプログラムを検索するディレクトリのリスト

PWD :カレントディレクトリのパス

USER :ログインしているユーザ

USBのデバイスクラス

HID(Human Interface Device) :キーボード、マウス

Mass Storage Class :ハードディスク

ACM Communication Device Class :モデム

Audio Class :スピーカ、マイク

「/etc/inittab」を設定ファイルとして使用しないinitプログラム

・systemd

・Upstart

「/etc/fstab」ファイルを編集して、ext3ファイルシステムの「/dev/sda1」をシステム起動時から「/boot」に自動マウントするよう設定

・/dev/sda1 /boot ext3 auto 1 1

・/dev/sda1 /boot ext3 defaults 1 1

updatedbコマンドの設定ファイル

・/etc/updatedb.conf

「/etc/fstab」ファイルでファイルシステム「/dev/hda5」に以下のようにディスククォータの設定を行った。

グループ毎のディスククォータのみ有効にするコマンド

/dev/hda5 /export reiserfs defaults,usrquota,grpquota 0 3

・quotaon -g /export

・quotaon -g /dev/hda5


# dd if=/dev/zero of=/dev/sda bs=446 count=1
if(入力ファイル)オプションに「/dev/zero」を指定すると全データがnullであるファイルが作成され、
of(出力ファイル)オプション「/dev/sda」のデータが上書きされます。
bs(ブロックサイズ)オプションに446が指定されているため、
ブートローダ部分のみが初期化されます。count=1はコピーする回数です。


apt-getコマンドの「update」と「upgrade」サブコマンドの説明
・「update」はパッケージのデータベースを最新版に更新する
・「upgrade」はインストール済の全パッケージのアップグレードを行う


指定したコマンド、またそのマニュアル、ソースコードが格納されている場所を
検索し、絶対パスで表示するコマンド
・whereis


「/dev/sda2」のファイルシステムチェックを、
1週間に一度ファイルチェックを行えるように変更
・tune2fs -i 7 /dev/sda2


nice値は「-20」から「19」まであり、nice値が高いプロセスほど優先度が低くなります。
優先度を高くする「-」はrootのみ設定可能
niceコマンドを使用せずにコマンドを単体で実行した場合のデフォルトのnice値は「0」だが、
niceコマンドを使用した「# nice test」のような場合のデフォルトの
(nice値を指定しなかった場合の)nice値は「10」


「/etc/fstab」ファイルでディスククォータが設定されている全てのファイルシステムの

ディスククォータを無効にするコマンド

・quotaoff -a

・quotaoff -av

「/etc/mtab」ファイルに記載されているファイルシステムを全てアンマウントするumountコマンドのオプション

・-a



10Kバイトのサイズを指定してファイルを作成
・dd


catオプション
-n    :空行含めてすべての行に番号
-b    :空行は含まず


nlオプション
-b a    :空行含めたすべての行に番号
-b t    :デフォルト、空行含まず


作成したリンクがハードリンクかシンボリックリンクかを確認
・ls -i
・ls -l


Sambaというキーワードを一部に含むmanページを検索するコマンドは次のうちどれか。
・apropos samba
・man -k samba


manコマンドのオプション
-k    :キーワードの部分一致
-f    :キーワードの完全一致


umount [オプション] [マウントされているデバイス名、またはマウントポイント]
-a    :/etc/mtabファイル記載のファイルシステムをすべてアンマウント
-t    :指定した種類のファイルシステムのみをアンマウント


MBR形式、GPT形式のパーティションテーブルをサポートするパーティション操作コマンド
・parted



MBRとGPTの違い
MBR
・2TB以下
・最大4個までパーティションを分けれる
・32bit環境まで
・どのマザーボードでも使用可能

 
GPT
・2TB以上(最大8.5ZB)
・最大128個までパーティションを分けれる
・64bit環境が必要
・マザーボードがUEFIに対応している必要がある ※2



システムを今すぐ再起動させたい。適切なコマンドは次のうちどれか。(全て選択)
・telinit 6
・systemctl reboot
・shutdown -r now
・systemctl start reboot.target


splitコマンドでオプションを指定しなかった場合、正しいものを選べ。

・1000行ごとに分割される

ファイルの内容をページ(1画面)ごとに表示するが、編集はできないコマンド

・more

・less

sortコマンドのオプション

-b 行頭空白文字を無視

-f 大文字、小文字を区別しない

-r 降順ソート

-t 区切り文字指定

-n 数字を文字でなく数値としてソート

-k ソート対象のフィールド指定



inodeの使用状況を確認することができるコマンド

・df -i



起動中のカーネルから出力される情報を抑制したい。
起動プロンプトにおいて下線部に当てはまる記述
・grub> linux /boot/vmlinuz-2.6.35 quiet


現在および1つ前のランレベルを調べることができるコマンド
・runlevel


「ping localhost > ping.txt」コマンドをログアウト後もバックグラウンドで実行し続けたい。
・nohup ping localhost > ping.txt &


標準入力元をキーボードからファイルに切り替えるリダイレクト演算子
・<


configure.bz2ファイルを展開
・bzip2 -d configure.bz2
・bunzip2 configure.bz2


ps ax ほぼ同義 ps -ef


コマンドラインからディスククォータの容量の設定を行うコマンド
・setquota

cpコマンドの場所を絶対パスで表示したい。適切なコマンドは次のうちどれか。

・whereis cp

・which cp

ubuntu@ik1-333-26510:~$ which  cp

/bin/cp

検索用データベースを使用して高速でファイル検索を行うコマンドは次のうちどれか。

・locate

現在22:50である。「Rebooting in 10 minutes」というメッセージを表示して、

23:00にサーバを再起動するコマンドは次のうちどれか。

・shutdown -r +10 "Rebooting in 10 minutes"

・shutdown -r 23:00 "Rebooting in 10 minutes"

rebootコマンドはシステムを再起動しますが、時間およびメッセージを指定することはできませんので、誤りです。



再起動コマンド
・systemctl start reboot.target
・shutdown -r now
・systemctl reboot
・telinit 6


「configure」ファイルをxz形式で「configure.xz」というファイルに圧縮したい。
また、圧縮前の元ファイルも残したい。
・xz -k configure
※k:keep


スワップ領域を作成するコマンド
・mkswap

「test.txt」ファイル内の全ての「a」を「A」に、また「b」を「B」に置換

・sed y/ab/AB/ test.txt

・sed -e s/a/A/g -e s/b/B/g test.txt

「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピー

・dd if=boot.img of=/dev/sdc

現在マウントされているファイルシステムを確認するコマンドを全て選べ。

・mount

・cat /proc/mounts

・cat /proc/self/mounts

・cat /etc/mtab

「file.txt」の所有ユーザをtestからstaffに、所有グループをtestからstaffgroupに変更

・chown staff.staffgroup file.txt

・chown staff:staffgroup file.txt

所有ユーザと所有グループを同時に変更する場合の書式は以下のとおりです。

chown [-R] ユーザ名:グループ名 ファイルまたはディレクトリ

なお、「:」の部分は「.」としても同じです。

partedを使って、新しいハードディスクのパーティションテーブルの方式をGPTに設定

・# parted /dev/sdb -s mklabel gpt

・# parted /dev/sdb

   (parted) mklabel gpt

   (parted) q

YUMツールの設定ファイル

・/etc/yum.conf

「/home」ディレクトリの詳細情報のみを表示させたい

・ls -dl /home

XFSファイルシステムを作成するコマンド

・mkfs.xfs



command1を実行し、command1が失敗した場合のみcommand2を続けて実行

・command1 || command2

command1を実行し、command1が成功した場合のみcommand2を続けて実行

・command1 && command2

終了文字が現れるまで、コマンドの標準入力に入力を続けるリダイレクト演算子

・<<

バックグラウンドで動作中または一時停止中のジョブを、フォアグラウンド動作に切り替えるにはfgコマンドを利用

fgコマンドの書式

・fg [ジョブ番号]

また、ジョブ番号を引数に指定しない場合は、カレントジョブ(直前にバックグラウンドで実行されたジョブ、

または直前に一時停止されたジョブ)がフォアグラウンドに変更されます。

カレントジョブはjobsコマンドの実行結果にある「+」がついているジョブです。

フォアグラウンド動作に切り替えたいジョブはカレントジョブですので、引数にジョブ番号を指定する必要がありません。

ファイルシステムをチェックせずに「/dev/sda2」がマウント出来る回数を10回に変更したい。

・tune2fs -c 10 /dev/sda2

プロセスのnice値を表示するコマンド

・top

・ps l

ext2/ext3/ext4ファイルシステムの各種情報を表示するコマンド

・dumpe2fs

[root@floren postfix]# lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda           8:0    0   20G  0 disk

tqsda1        8:1    0    1G  0 part /boot

mqsda2        8:2    0   19G  0 part

  tqcl-root 253:0    0   17G  0 lvm  /

  mqcl-swap 253:1    0    2G  0 lvm  [SWAP]

sr0          11:0    1 1024M  0 rom

「/dev/sr0」として認識されている内蔵CD-ROMドライブを「/mnt/cdrom」にマウントしたい。

「/etc/fstab」ファイルには、これを実現する為のエントリを追加していない。適切なコマンド

・mount /dev/sr0 /mnt/cdrom

フォアグラウンドで実行中のジョブを一時停止したい。

・Ctrl+z

「file1」と「file2」ファイルを行単位で区切り文字「:」を使用して結合

・paste -d : file1 file2

「dir」ディレクトリのパーミッションを700から500に変更

・chmod u=rx dir

・chmod 500 dir

・chmod u-w dir

「:」で区切られている「/etc/passwd」ファイルから、ユーザー名(1番目のフィールド)とログインシェル(7番目のフィールド)を取り出したい。

・cut -d : -f 1,7 /etc/passwd

[root@floren postfix]# yum list postfix

読み込んだプラグイン:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: ftp.nara.wide.ad.jp

 * extras: download.nus.edu.sg

 * updates: centos.usonyx.net

インストール済みパッケージ

postfix.x86_64                        2:2.10.1-6.el7                        @anaconda

[root@floren postfix]# yum list php

読み込んだプラグイン:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: ftp.nara.wide.ad.jp

 * extras: download.nus.edu.sg

 * updates: download.nus.edu.sg

利用可能なパッケージ

php.x86_64                             5.4.16-45.el7                             base

[root@floren postfix]#

以下はユーザ毎にディスククォータの設定を行う手順

1.「/etc/fstab」のファイルシステムにusrquotaオプションを設定する

2. ファイルシステムをマウントしなおす

3. quotacheckコマンドでデータベースファイルを作成・更新する

4. quotaonコマンドでクォータを有効にする

5. edquotaコマンド、またはsetquotaコマンドでユーザのクォータを設定する

「/dev/sda5」のディスク使用量をチェックし、ユーザクォータのデータベースファイルを作成・更新するコマンド

・quotacheck -u /dev/sda5

・quotacheck /dev/sda5

「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピー

・dd if=boot.img of=/dev/sdc

testユーザが所有する「File1」というファイルが存在する。rootユーザで以下のコマンドを実行した後、

「File1」と「File2」で共通するファイル情報

 # ln File1 File2

・ハードリンク数

・パーミッション

・所有ユーザ・グループ

・inode番号

検索用データベースを使用して高速でファイル検索を行うコマンド

・locate

yumコマンドを使用して、パッケージグループを一覧表示させたい。

・yum grouplist

systemdの動作するシステムにおいて、メンテナンスのために以下のコマンドでシングルユーザーモードに変更し、作業を行った。

# systemctl rescue

作業が終わったので通常の起動状態に戻したい。

・systemctl default コマンドを実行する

・Ctrl-Dを入力する

・systemctl reboot コマンドを実行する

sambaというキーワードを一部に含むmanページを検索するコマンドは次のうちどれか。

・apropos samba

・man -k samba

fdiskコマンドのサブコマンド

m サブコマンドのメニュー表示

l パーティションタイプの一覧表示

n パーティションの作成

d パーティションの削除

p パーティションテーブルの表示

t パーティションタイプの変更

w パーティションテーブルの変更を保存して終了

q パーティションテーブルの変更を保存せずに終了

psのオプションには、UNIXオプション(ハイフンで始まるもの)と

BSDオプション(ハイフンを付けないもの)の2つの流派があり、

それに加えてGNU psではハイフン2つで始まるロングオプションが使える。

現在実行中の全てのプロセスを表示するpsコマンドのオプション

・-ef

・ax



プロセスに終了や再起動などのシグナル(命令)を送ることができるコマンド
・pkill
・kill
・killall


プロセスのシグナル
-------------------------------------------------
HUP(SIGHUP) 1 ハングアップ(再起動)
-------------------------------------------------
INT(SIGINT) 2 割り込みによる終了
-------------------------------------------------
KILL(SIGKILL) 9 クリーンアップせずに終了
-------------------------------------------------
TERM(SIGTERM) 15 クリーンアップして終了※killコマンドで送られるシグナル
-------------------------------------------------
CONT(SIGCONT) 18 一停止のプロセスを再開
-------------------------------------------------
STOP(SIGSTOP) 19 一時停止
-------------------------------------------------
TSTP(SIGTSTP) 20 端末から入力された一時停止
-------------------------------------------------


apt-get
-------------------------------------------------
install  パッケージのインストールまたはアップグレード
-------------------------------------------------
remove  パッケージのアンインストール
-------------------------------------------------  
upgrade  インストール済みの全パッケージアップグレード
-------------------------------------------------  
dist-upgrade ディストリビューションを最新版にアップグレード
------------------------------------------------- 
upgrade  パッケージのデータベースを最新版に更新
-------------------------------------------------  
clean  過去に取得したパッケージファイルを削除
-------------------------------------------------  


プロセスの稼動状況を一定時間ごとに更新して表示するコマンド
・top


「httpd.conf」ファイルの末尾500バイトを表示
・tail -c 500 httpd.conf


プログラム「file」をどのユーザが実行しても、プログラムを所有するグループの権限で実行させたい。
なお、「file」のパーミッションは755である。
・chmod g+s file
・chmod 2755 file
プログラムをどのユーザが実行しても、プログラムを所有するグループの権限で実行されるようにするにはSGIDを設定します。
SGIDは特殊なパーミッションの1つです。
設定方法は、chmodコマンドで通常のパーミッションの値に2000を加えた値を設定するか、
グループに「s」という権限を追加します(g+s)。


「/etc/fstab」について
・「mount -a」コマンド実行時にマウントされないマウントオプション指定は「noauto」である
・項目数は6つである
cat /etc/fstab


fdisk
m サブコマンドのメニュー表示
l パーティションタイプの一覧表示
n パーティション作成
d パーティション削除
p パーティションテーブル表示
t パーティションタイプの変更
w パーティションテーブルを変更の保存
q パーティションテーブルの変更を保存せずに終了

「spacefile.txt」ファイルにあるスペース1つ分(行頭以外にあるスペースも含む)をタブに置き換えて表示
・unexpand -t 1 spacefile.txt
・unexpand -a -t 1 spacefile.txt


空のディレクトリのみを削除することができるコマンド
・rmdir


MBR形式のハードディスクにおいて、パーティションの作成、削除、変更および情報表示を行うことができるコマンド
・fdisk


「test.txt」ファイルから、「.*」という文字列を含む行を抽出
・fgrep '.*' test.txt
・grep -F '.*' test.txt
・grep '\.\*' test.txt


「/etc/mtab」ファイルでディスククォータが設定されている全てのファイルシステムのディスク使用量をチェックし、
データベースファイルを作成・更新するコマンド
・quotacheck -a


systemdが稼働するシステムにおいて、次回起動時のターゲットを設定するためのsystemctlのサブコマンド
・set-default
systemctl set-default


カレントディレクトリにあるファイルやディレクトリをファイルタイプをつけて表示したい。
適切なコマンドは次のうちどれか。
・ls -F


ハードリンク:ファイルの実体を直接参照するリンク
inode番号はファイルシステム毎に別々に管理される為、
異なるファイルシステムへハードリンクを作成する事はできません。
※シンボリックリンクは異なるファイルシステムでも作成できます。
ディレクトリのハードリンクは作成できない


「/bin/ls」ファイル(lsコマンドのバイナリファイル)の内容を16進数で表示
・od -t x /bin/ls


yumコマンドを使用して、「php」パッケージがインストールされているかどうか確認
・yum list php


apt-cacheコマンドを使用して、「ssh」パッケージへ依存しているパッケージを含めた詳細情報を表示させたい。
・apt-cache showpkg ssh


apt-getコマンドを使用して、過去に取得したパッケージファイルを削除したい。
・apt-get clean


systemdが稼働するシステムにおいて、システム起動時にhttpdサービスが自動起動しないようにしたい。
・systemctl disable httpd


XFSファイルシステムのデバッグを行うコマンド
・xfs_db


sambaというキーワードを一部に含むmanページを検索するコマンド
・man -k samba
・apropos samba



システムを今すぐ再起動
・systemctl reboot
・systemctl start reboot.target
・shutdown -r now
・telinit 6





ubuntu@ik1-333-26510:~$ sudo find / -name .bash_history
/home/ubuntu/.bash_history
/home/wilkinson/.bash_history
/opt/wow/.bash_history




Debian形式のパッケージ管理ツール
●dpkgツール
Debian系パッケージを管理する基本的なツールです。
設定ファイルは「/etc/dpkg/dpkg.cfg」です。
dpkgツールの主なコマンドは以下のとおりです。

・dpkgコマンド
パッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンド
(RPM系Linuxでは、rpmがほぼ同等のコマンドにあたる)

・dpkg-reconfigureコマンド
インストール済みのパッケージを再設定するコマンド

●APT(Advanced Package Tool)ツール
APTツールはdpkgツールを拡張したツール群です。
インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、
依存関係を調整しながらパッケージ管理を行うことができます。
パッケージの取得元(リポジトリ)は「/etc/apt/sources.list」ファイルで設定します。
APTツールの主なコマンドは以下のとおりです。

・apt-get
パッケージのインストール・アンインストールなどを行うコマンド
(RPM系Linuxでは、yumがほぼ同等のコマンドにあたる)

・apt-cache
パッケージ情報の検索・参照などを行うコマンド

・aptitude
apt-getやapt-cacheコマンドよりも高機能で、対話的なパッケージ管理が可能なコマンド
また、apt-getやapt-cacheコマンドとほぼ同じサブコマンドを使用したパッケージ管理も行える


「dir」ディレクトリの合計容量のみを分かりやすい単位を付加して表示したい。
適切なコマンドは次のうちどれか。
・du -sh dir


「/dev/hdc」として認識されているCD-ROMドライブを「/mnt/cdrom」にマウント
これを実現する為のエントリは既に「/etc/fstab」ファイルに追加してある
・mount /mnt/cdrom
・mount /dev/hdc
・mount -t iso9660 /dev/hdc /mnt/cdrom


dpkgツールにおいてインストール済みのパッケージを、
インストールした時と同じように再設定するコマンド
・dpkg-reconfigure

dpkgコマンドを使用して、「/usr/share/doc/ssh」ファイルのインストール元パッケージを表示させたい。適切なコマンドは次のうちどれか。(全て選択)

・dpkg -S /usr/share/doc/ssh

・dpkg --search /usr/share/doc/ssh

gzipのオプション

---------------------------------------------------

-d 圧縮ファイルを展開

---------------------------------------------------

-c 元ファイルを残して標準出力に出力

---------------------------------------------------

-r ディレクトリ内のすべてのファイル圧縮

---------------------------------------------------



「/etc/fstab」ファイルに記述したディスククォータの設定を有効にするコマンド

・quotaon

接続されたUSBデバイスの情報を表示するコマンド

・lsusb

・cat /proc/bus/usb/devices

apt-cacheコマンドを使用して、「ssh」パッケージが依存しているパッケージの名前を一覧表示

・apt-cache depends ssh

ext3ファイルシステムを「/dev/sda2」に作成したい

・mkfs -t ext3 /dev/sda2

・mke2fs -j /dev/sda2

・mke2fs -t ext3 /dev/sda2

シンボリックリンクの説明

・lsコマンドで確認するとパーミッションの先頭に「l」が表示される

・異なったファイルシステム間でも作成可能


スクリプトなど
< =同義= 0< :標準入力の入力元指定
<< =同義= 0<< :標準入力の入力元指定、終了文字指定
> =同義= 1> :標準出力の出力先指定
>> =同義= 1>> :標準出力の出力先指定、終了文字指定
2>  :標準エラー出力の出力先を指定
2>>  :標準エラー出力の出力先を指定、出力先に追記
>&2 =同義= 1>&2 :標準出力の出力先を標準エラー出力の出力先を同じにする
2>&1  :標準エラー出力の出力先を標準出力の出力先を同じにする

コマンド1 2>&1 | コマンド2
・コマンド1の標準出力と標準エラー出力をコマンド2の標準入力に送る

環境変数とシェル変数

シェル変数LPICを設定→このシェル変数を環境変数にするコマンド
・export LPIC

シェル変数を環境変数に変更するにはexportコマンドを利用

書式
export シェル変数名

シェル変数:現在実行中のシェルだけで有効な変数
環境変数:シェルから実行したプロセスにも引き継がれる

環境変数

HISTFILE コマンド履歴保存ファイルのパス

HISTSIZE 現在のシェルのコマンド履歴の保存数

HISTFILESIZE コマンド履歴保存ファイルへの履歴保存数

HOSTNAME ホスト名

HOME ログインしているユーザのホームディレクトリ

LANG ロケール

PATH コマンドやプログラムの検索リスト

PWD カレントディレクトリのパス

USER ログインしているユーザ


lpic1@lpic1-Virtual-Machine:~$ echo $HISTSIZE
1000
lpic1@lpic1-Virtual-Machine:~$ echo $HISTFILE
/home/lpic1/.bash_history
lpic1@lpic1-Virtual-Machine:~$ echo $HISTFILESIZE
2000

initプログラムであるUpstartの特徴

・サービスやタスクを「ジョブ」という単位で扱う

・イベント駆動型

・サービスの並列起動処理が可能


lpic1@lpic1-Virtual-Machine:~$ ls
hoge.sh       テンプレート  ドキュメント  ピクチャ      公開
ダウンロード  デスクトップ  ビデオ        ミュージック
lpic1@lpic1-Virtual-Machine:~$ cat ./hoge.sh
#!/bin/sh
echo ${HOGE}

lpic1@lpic1-Virtual-Machine:~$ set | grep HOGE・・・HOGEには何も設定されていない
lpic1@lpic1-Virtual-Machine:~$ echo $HOGE・・・何もでない

lpic1@lpic1-Virtual-Machine:~$ HOGE=hogehoge・・・HOGE設定
lpic1@lpic1-Virtual-Machine:~$ set | grep HOGE
HOGE=hogehoge
lpic1@lpic1-Virtual-Machine:~$ echo $HOGE
hogehoge・・・シェルの中では利用可能:シェル変数状態
lpic1@lpic1-Virtual-Machine:~$ sh hoge.sh・・・なので、スクリプトで表示しようとしても表示不可

lpic1@lpic1-Virtual-Machine:~$ export HOGE・・・環境変数化
lpic1@lpic1-Virtual-Machine:~$ sh hoge.sh
hogehoge・・・表示される
lpic1@lpic1-Virtual-Machine:~$
lpic1@lpic1-Virtual-Machine:~$ unset HOGE・・・消すときはunset
lpic1@lpic1-Virtual-Machine:~$ sh hoge.sh

lpic1@lpic1-Virtual-Machine:~$ set | grep HOGE
lpic1@lpic1-Virtual-Machine:~$

initのPID(プロセス ID)

・1

SysVinitを採用したシステムの設定ファイルで、デフォルトのランレベルの設定

・/etc/inittab

カーネルのログが記録されるなど、Linuxでメインで使用されるログファイル

・/var/log/messages

「/etc/fstab」ファイルに記述するマウントオプションで、グループ毎のディスククォータを設定するもの

・grpquota

100GBの記憶装置(HDD)を接続したが、実際の半分以下の容量で認識されてしまった。

もっとも適切な解決方法として考えられるのはどれか。

・BIOSをアップデートする

コンピュータの電源を入れると、まずBIOS(Basic Input Output System)が起動し、

記憶装置(HDD)等に関して最低限の認識を行います。

BIOSが古い場合、大容量の記憶装置(HDD)を正常に認識できない(実際より少ない容量を認識するなど)場合があります。

BIOSをアップデートすることで、この問題を解消できることがあります。

IRQに関する情報が格納されているファイル

・/proc/interrupts

※IRQに関する情報は「/proc/interrupts」ファイルで確認できる

IRQ(Interrupt ReQuest)とは、マウスやキーボードなどの周辺機器(デバイス)からCPUへの割り込み要求のことです。

IRQには0から15までの16個の番号がついており、そのうちのいくつかは特定のデバイスに割り当てられています。

例えば0はシステムタイマー、1はキーボードに割り当てられています。

なお、IRQ番号が重複しているとハードウェアが正常に動作しないことがあります。

lpic1@lpic1-Virtual-Machine:~$ cat /proc/interrupts

           CPU0

  0:     117536   IO-APIC   2-edge      timer

  1:          9   IO-APIC   1-edge      i8042

  6:          3   IO-APIC   6-edge      floppy

システム起動時にブートローダからカーネルに渡されたパラメータが確認できるファイル

・/proc/cmdline

Linuxシステムを構築するに当たって、最低限必要なパーティション

・スワップ領域

・ルートパーティション

最低限必要なパーティションは、ルートディレクトリ(/)を持つルートパーティションと、スワップ領域

UEFIの特徴

・3TB以上のHDDからの起動をサポートする

・GUIでの操作が可能となる

コマンド関連

MBR形式、GPT形式のパーティションテーブルをサポートするパーティション操作コマンド

・parted

apt-getコマンドを使用して、ディストリビューションを最新版にしたい。

・apt-get dist-upgrade

rpmコマンドの「-V(--verify)」オプション

・検査する内容は主にファイルのサイズ、MD5チェックサム、所有ユーザ、所有グループ、タイムスタンプである

・RPMデータベースに格納されているファイルに関する情報と、インストールされたパッケージのファイルに関する情報を比較して変更(改ざんなど)が無いか検査する

mycommandを実行している全てのプロセスをクリーンアップして終了させたい。

・killall -SIGTERM mycommand

・killall -s 15 mycommand

・pkill mycommand

ext3ファイルシステムを「/dev/sda2」に作成したい。

・mke2fs -t ext3 /dev/sda2

・mke2fs -j /dev/sda2

・mkfs -t ext3 /dev/sda2

dpkgコマンドを使用して、インストールが中断しているパッケージを表示したい。

・dpkg --audit

・dpkg -C

「file.txt」ファイルに記載されているファイル名を元に、複数の新規ファイルを一度に作成したい。

・cat file.txt | xargs touch

locateコマンドが利用する検索用のデータベースを更新するコマンドは次のうちどれか。

・updatedb

ファイルやディレクトリのパーミッションを変更するコマンド

・chmod

SysVinitを採用したシステムの設定ファイルで、デフォルトのランレベルの設定を行う

・/etc/inittab

bzip2より圧縮率が高い圧縮形式

・xz

bzip2よりも圧縮率が高い圧縮形式として、LZMA2圧縮アルゴリズムを採用した

xzフォーマットがあります。xzはbzip2よりも多くのCPU/メモリを要求しますが、

その分圧縮率が高く、また展開速度はbzip2より短いためファイル配布時の圧縮形式

として採用されることが増えています。

Linuxカーネルソースの配布形式としても採用されています。

ext3ファイルシステムの「/dev/sda1」を「/export」に読み取り専用でマウント

・mount -t ext3 -o ro /dev/sda1 /export

シンボリックリンクを検索するfindコマンドの検索式

・-type l

共有ライブラリを格納するためのディレクトリを新たに作成した。

ldconfigコマンドを使用して共有ライブラリのキャッシュファイルを更新する

ためには、どのファイルに新しいディレクトリのパスを記述する必要があるか。

・/etc/ld.so.conf

ldconfigコマンドは、共有ライブラリの検索パスが記述されている「/etc/ld.so.conf」ファイルを参照し「/etc/ld.so.cache」ファイルを更新(作成)します。

変数DATEに「date」という文字列(現在の日時を表示するコマンド)を格納した。

以下のコマンドの実行結果は次のうちどれか。

$ echo '$DATE'

→$DATE

「'」(シングル・クォーテイション)はシェルによって特別に解釈されるメタキャラクタの1つです。

シェルは「'」で囲まれた部分を文字列と見なします(「'」で囲まれているメタキャラクタを無視)。

また、echoコマンドは引数に指定された文字列を表示するコマンドです。

通常、echoコマンドは「$」で始まる文字は変数とみなし、

その変数に格納された値を表示しますが、「'」で囲まれている「$」は変数を表すメタキャラクタではなく文字列と見なすため、

そのまま「$DATE」が実行結果として表示されます。

lsコマンドのオプション

-a 隠しファイル表示

-A 上記と同じ、ただし「.」「..」は表示しない

-d 指定したディレクトリの情報を表示

-F ファイルタイプを表示

-i inode番号を付けて表示

-l 詳細情報を表示

-R サブディレクトリの内容も再帰的に表示

依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンド

・modprobe

odコマンドのオプション

--------------------------------------

-t 出力フォーマット形式指定

c ASCII

o 8進数

x 16進数

--------------------------------------

-o 8進数表示

--------------------------------------

-x 16進数表示

--------------------------------------

-c ASCII文字表示

--------------------------------------

ディスククォータ管理のコマンド

quotacheck ファイルシステムのディスク使用量のチェック

quotaon /etc/fstabの設定内容を有効化

quotaoff 無効化

edquota クォータ容量の設定(GUI)

setquota クォータ容量の設定(CLI)

quota 指定したユーザやグループのクォータ表示

repquota 指定したファイルシステムのクォータ表示

「test」ディレクトリをxz形式で圧縮した「test.tar.xz」というアーカイブにしたい。

・tar cfJ test.tar.xz test

tar [オプション] [ファイルまたはディレクトリ名]

「ln fileA fileB」とした場合、「変化するもの:変化しないもの」の組み合わせ

・ハードリンク数:lsコマンドによるパーミッションの先頭表示

メモリの使用状況を確認できるファイル

・/proc/meminfo

マスク値が0の場合に使用されるデフォルトのパーミッションは、ファイルが「666」、ディレクトリが「777」です。これらの値から、指定したマスク値を引いた値が新たなデフォルトのパーミッションとして設定されます。

666 - マスク値 = ファイルのデフォルトのパーミッション

777 - マスク値 = ディレクトリのデフォルトのパーミッション

666を640、777を750にするマスク値は027です。

したがって正解は

 ・umask 027

です。

パーミッションの表記は各桁が独立して、左から所有ユーザ、所有グループ、その他のユーザを表します。ですのでumask値を引く際も各桁ごとに引きます。

6-0=6

 6-2=4

 6-7=-1 マイナスは無いので権限無し(0)と考えます。

fdiskコマンド

m サブコマンドのメニュー表示

l パーティションタイプの一覧表示

n パーティションの作成

d パーティションの削除

p パーティションテーブルの表示

t パーティションタイプの変更

w パーティションテーブルを変更保存して終了

q パーティションテーブルを変更保存せずに終了

バックグラウンドで動作中または一時停止中のジョブを、フォアグラウンド動作に切り替えるにはfgコマンドを利用します。

fgコマンドの書式は以下のとおりです。

fg [ジョブ番号]

したがって正解は

 ・fg 2

です。

また、ジョブ番号を引数に指定しない場合は、カレントジョブ(直前にバックグラウンドで実行されたジョブ、または直前に一時停止されたジョブ)がフォアグラウンドに変更されます。

カレントジョブはjobsコマンドの実行結果にある「+」がついているジョブです。

フォアグラウンド動作に切り替えたいジョブはカレントジョブですので、引数にジョブ番号を指定する必要がありません。

したがって「fg」も正解です。

ファイルシステムをチェックせずに「/dev/sda2」がマウント出来る回数を10回に変更したい。

・tune2fs -c 10 /dev/sda2

プロセスのnice値を表示するコマンド

・top

・ps l

ext2/ext3/ext4ファイルシステムの各種情報を表示するコマンドは次のうちどれか。

・dumpe2fs

[root@floren postfix]# lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda           8:0    0   20G  0 disk

tqsda1        8:1    0    1G  0 part /boot

mqsda2        8:2    0   19G  0 part

  tqcl-root 253:0    0   17G  0 lvm  /

  mqcl-swap 253:1    0    2G  0 lvm  [SWAP]

sr0          11:0    1 1024M  0 rom

「/dev/sr0」として認識されている内蔵CD-ROMドライブを「/mnt/cdrom」にマウントしたい。

「/etc/fstab」ファイルには、これを実現する為のエントリを追加していない。

・mount /dev/sr0 /mnt/cdrom

フォアグラウンドで実行中のジョブを一時停止したい。

・Ctrl+z

「file1」と「file2」ファイルを行単位で区切り文字「:」を使用して結合したい。

・paste -d : file1 file2

「dir」ディレクトリのパーミッションを700から500に変更したい。

・chmod u=rx dir

・chmod 500 dir

・chmod u-w dir

FHS(ファイルシステム階層標準)の説明

・ユーザがインストールしたプログラムの配置場所などを推測しやすくするためのもの

・ディストリビューションに依存しない、Linuxの標準的なディレクトリの構造を定めた規格のこと

[root@floren postfix]# yum list postfix

読み込んだプラグイン:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: ftp.nara.wide.ad.jp

 * extras: download.nus.edu.sg

 * updates: centos.usonyx.net

インストール済みパッケージ

postfix.x86_64                        2:2.10.1-6.el7                        @anaconda

[root@floren postfix]# yum list php

読み込んだプラグイン:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: ftp.nara.wide.ad.jp

 * extras: download.nus.edu.sg

 * updates: download.nus.edu.sg

利用可能なパッケージ

php.x86_64                             5.4.16-45.el7                             base

[root@floren postfix]#

以下はユーザ毎にディスククォータの設定を行う手順

1.「/etc/fstab」のファイルシステムにusrquotaオプションを設定する

2. ファイルシステムをマウントしなおす

3. quotacheckコマンドでデータベースファイルを作成・更新する

4. quotaonコマンドでクォータを有効にする

5. edquotaコマンド、またはsetquotaコマンドでユーザのクォータを設定する

「/dev/sda5」のディスク使用量をチェックし、ユーザクォータのデータベースファイルを作成・更新するコマンド

・quotacheck -u /dev/sda5

・quotacheck /dev/sda5

「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピーしたい。

・dd if=boot.img of=/dev/sdc

testユーザが所有する「File1」というファイルが存在する。rootユーザで以下のコマンドを実行した後、

「File1」と「File2」で共通するファイル情報

 # ln File1 File2

・ハードリンク数

・パーミッション

・所有ユーザ・グループ

・inode番号

検索用データベースを使用して高速でファイル検索を行うコマンド

・locate

systemdの動作するシステムにおいて、メンテナンスのために以下のコマンドでシングルユーザーモードに変更し、作業を行った。

# systemctl rescue

作業が終わったので通常の起動状態に戻したい。

・systemctl default コマンドを実行する

・Ctrl-Dを入力する

・systemctl reboot コマンドを実行する

sambaというキーワードを一部に含むmanページを検索するコマンド

・apropos samba

・man -k samba



「configure.xz」ファイルを展開することができるコマンド

・xz -d -k configure.xz
・unxz configure.xz
・xz -d configure.xz



PIDが500のプロセスのnice値を-20に変更
・renice -20 500
・renice -20 -p 500

yumコマンドを使用して、「php」パッケージをアンインストール

・yum remove php

rpmコマンドを使用して、インストールされる前に「postfix-1.1.12-1.i386.rpm」ファイルで

パッケージの詳細情報を確認

・rpm --query --info --package postfix-1.1.12-1.i386.rpm

・rpm -qip postfix-1.1.12-1.i386.rpm

rpmコマンドを使用して、「procmail」パッケージを「procmail-3.22-9.i386.rpm」にアップグレード

・rpm -F procmail-3.22-9.i386.rpm

・rpm --freshen procmail-3.22-9.i386.rpm

変数DATEに「date」という文字列(現在の日時を表示するコマンド)を格納した。

以下のコマンドの実行結果は次のうちどれか。

$ echo "$DATE"

・date

「"」はシェルによって特別に解釈されるメタキャラクタ

シェルは「"」で囲まれた部分を文字列と見なす→「"」で囲まれているメタキャラクタを無視(エスケープ)します。

ただし、「$」、「`」、「\」、「"」のメタキャラクタは除きます。

日付を表示したい場合は

echo 'date'等

viエディタであるファイルを編集しているが、別ファイルである「test.txt」の内容をカレント行の次の行に読み込み

・:r test.txt

viエディタでファイルを編集しているが、viエディタを終了せずに、

ファイルの内容を最後に保存した状態に戻す。

・:e!

viエディタのコマンドモードにおいて、カーソルのある行をコピーし、下の行に挿入

・yyp

・Yp

viエディタのコマンドモードで、カーソルをファイルの5行目へ移動する

viコマンド

・:5

・5G

viエディタで、あるファイルを編集しているが、viエディタを終了することなく

カレントディレクトリにあるファイルを確認

・:!ls

viエディタを終了することなくLinuxコマンドを実行させるには、

コマンドモードで「:!コマンド」を実行

fdiskコマンドで作成したパーティションにファイルシステムを作成することができるコマンド

・mke2fs

・mkfs

------------------------------------------------------

コマンド 説明

------------------------------------------------------

set 全てのシェル変数と環境変数を表示

------------------------------------------------------

env 全ての環境変数を表示

------------------------------------------------------

printenv 一部、またはすべての環境変数を表示

------------------------------------------------------

「/etc/fstab」ファイルに記述するマウントオプションでSUIDとSGIDを有効化するもの

・suid

バックグラウンドで動作中または一時停止中のジョブをフォアグラウンド動作に切り替えるコマンド

・fg

ディスククォータの猶予期間を設定することが出来るコマンド

・edquota -t

yumコマンドを使用して、「Emacs」パッケージグループをインストール

・yum groupinstall Emacs

findコマンドの-print0アクション

・検索結果をNULL文字で区切って表示する

mycommandを実行している全てのプロセスをクリーンアップして終了

・pkill mycommand

・killall -SIGTERM mycommand

・killall -s 15 mycommand

ext2ファイルシステムを「/dev/hda1」に作成

・mkfs /dev/hda1

・mkfs -t ext2 /dev/hda1

・mke2fs /dev/hda1

systemdを管理するためのコマンド

・systemctl

動作中のプロセスの親子関係をツリー状で表示するコマンド

・ps axf

・pstree

すでに起動しているプロセスのnice値を変更するコマンド

・renice

プロセスにはnice値という実行優先度が設定されています。

優先度の高いプロセスにはCPUの使用時間が多く割り当てられます。

※プロセスのデフォルトのnice値:0

アーカイブを作成することができるコマンド

・cpio

ファイルシステムをマウントすることが出来るコマンド

・mount

「httpd.conf」ファイルの先頭500バイトを表示するコマンド

・head -c 500 httpd.conf

「/etc/fstab」ファイルでディスククォータが設定されている

全てのファイルシステムのディスククォータを無効にするコマンド

・quotaoff -av

・quotaoff -a

「/etc/passwd」ファイルのパーミッション、及び所有者

・-rw-r--r--. 1 root root

# ls -l /etc/passwd

-rw-r--r--. 1 root root 1929 Jan 18 14:17 /etc/passwd

dpkgコマンドを使用して、「ssh」パッケージからインストールされたファイルを一覧表示

・dpkg -L ssh

・dpkg --listfiles ssh

ddコマンドのオプションのうち、入出力のブロックサイズ(一度に読み書きするバイト数)を指定するオプション

・bs

「file」ファイルにある重複行のみを表示

・uniq -d file

-u:重複していない行のみ表示

-d:重複している行のみ表示

File1のハードリンクをFile2として作成

・ln File1 File2

「httpd.conf」ファイルの行数のみを表示

・wc -l httpd.conf

findコマンドでファイルを検索する際、ファイルのサイズを検索条件として使用

・-size

「file.txt」の所有グループのみをtestからstaffgroupに変更

・chgrp staffgroup file.txt

・chown .staffgroup file.txt

・chown :staffgroup file.txt

ファイルとディレクトリを新規作成した際のデフォルトのパーミッションを、

それぞれ「600」と「700」にしたい。

・umask 077

メモリやスワップ領域の使用状況を表示するコマンド

・free

・top

カレントディレクトリとそのサブディレクトリが占めている容量をメガバイト単位で表示

・du -m

「configure」ファイルをbzip2形式で「configure.bz2」というファイルに圧縮したい。

また、圧縮前の元ファイルも残したい。

・bzip2 -c configure > configure.bz2

systemctlコマンドを使って、postfixサービスに設定ファイルを再読み込みさせたい。

・systemctl reload postfix

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

・pr

1行あたりの最大文字数を指定してテキストを整形するコマンド

・fmt



「/etc/fstab」ファイルに記述するマウントオプションで、ユーザ毎のディスククォータを設定するも
・usrquota


親プロセスのPIDや実行優先度を決定するnice値なども併せて表示するpsコマンド
・l
・-l
オプション
a 他のユーザのプロセスも表示
f プロセスの親子関係表示
x 実行ユーザ名も表示
-e 全てのプロセスを表示
-f 完全なフォーマットでプロセス表示
-p/p 指定したPIDのプロセス表示
-l/l 親プロセス、nice値も表示


「/etc/hosts」ファイル内の英小文字を英大文字に変換して表示
・cat /etc/hosts | tr [:lower:] [:upper:]
・tr a-z A-Z < /etc/hosts
※trは引数にファイルを指定できないので「tr [:upper:] [:lower:] < /etc/hosts」は不正

ファイルの内容をページ(1画面)ごとに表示するが、編集はできないコマンド
・more
・less


「file.txt」の所有グループのみをtestからstaffgroupに変更
・chown .staffgroup file.txt
・chgrp staffgroup file.txt
・chown :staffgroup file.txt

あるプログラムが必要としている共有ライブラリを表示するコマンド
・ldd
例:ldd /bin/cat

YUMツールにおいてパッケージファイルのダウンロードのみを行うコマンド
・yumdownloader

「dir」ディレクトリ内の全てのファイルをそれぞれgzip形式で圧縮
・gzip -r dir
オプション
-d 圧縮ファイルを展開
-c 元ファイルを残して標準出力に出力
-r ディレクトリ内のファイルを再帰的にそれぞれ圧縮

カレントディレクトリにあるtestディレクトリを内部にあるファイルやディレクトリも含めて再帰的に削除
削除するかどうか確認するメッセージを表示
・rm -iR test
・rm -ir test
オプション
-f 強制的に削除、確認無し
-i 削除して良いか問い合わせる
-r/-R ディレクトリ全体に再帰的に処理


findコマンドで検索したファイルに対してコマンドを実行
・-exec


systemctlコマンドのサブコマンドで、システムを停止させることができるもの
・halt
・poweroff


「httpd.conf」ファイルを「/etc」ディレクトリ以下から検索
・find /etc -name httpd.conf


「/etc/fstab」ファイルでディスククォータが設定されている全てのファイルシステムの
ディスククォータを有効にするコマンド
・quotaon -av
・quotaon -a


lpic1@lpic1-Virtual-Machine:~$ systemctl is-active ssh
active
lpic1@lpic1-Virtual-Machine:~$ systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since Thu 2018-08-16 21:32:15 JST; 44min ago
 Main PID: 667 (sshd)
    Tasks: 1 (limit: 2232)
   CGroup: /system.slice/ssh.service
           mq667 /usr/sbin/sshd -D

 8月 16 21:32:18 lpic1-Virtual-Machine systemd[1]: Reloaded OpenBSD Secure Shell
 8月 16 21:32:18 lpic1-Virtual-Machine systemd[1]: Reloading OpenBSD Secure Shel
 8月 16 21:32:18 lpic1-Virtual-Machine sshd[667]: Server listening on 0.0.0.0 po
 8月 16 21:32:18 lpic1-Virtual-Machine sshd[667]: Server listening on :: port 22
 8月 16 21:32:18 lpic1-Virtual-Machine sshd[667]: Received SIGHUP; restarting.
 8月 16 21:32:18 lpic1-Virtual-Machine systemd[1]: Reloaded OpenBSD Secure Shell
 8月 16 21:32:18 lpic1-Virtual-Machine sshd[667]: Server listening on 0.0.0.0 po
 8月 16 21:32:18 lpic1-Virtual-Machine sshd[667]: Server listening on :: port 22
 8月 16 22:16:25 lpic1-Virtual-Machine sshd[12345]: Accepted password for lpic1
 8月 16 22:16:25 lpic1-Virtual-Machine sshd[12345]: pam_unix(sshd:session): sess

lpic1@lpic1-Virtual-Machine:~$


ext2/ext3/ext4ファイルシステムのパラメータを設定するコマンド
・tune2fs

root以外の一般ユーザで以下のコマンドを実行した結果
$ mount
→ 現在マウントされているファイルシステムの一覧が表示される
通常、一般ユーザによるファイルシステムのマウントは禁止されていますが、
「mount」のみを実行した場合は、現在マウントされているファイルシステムの一覧が、
「/etc/mtab」ファイルの情報を元に表示されます。


現在22:00である。23:00にサーバを停止するコマンド
・shutdown -h 23:00
・shutdown -h +60

ブートローダであるGRUB LegacyまたはGRUB2をインストールするコマンド
・grub-install


rpmコマンドオプション
-------------------------------------------------
-i  インストール
-------------------------------------------------
-U  アップグレード
-------------------------------------------------
-F  アップグレード
-------------------------------------------------
-e  アンインストール
-------------------------------------------------
-v  詳細表示
-------------------------------------------------
-h  進行状況表示
-------------------------------------------------
--test  実際には実行せずにテストを実施
-------------------------------------------------
--nodeps 依存関係を無視
-------------------------------------------------


行頭にある連続したスペースをタブに変換するコマンド
・unexpand


指定したコマンドが通常のコマンドか、シェルの組み込みコマンドか、
エイリアスかなどの情報を表示するコマンド
・type


指定したコマンドの場所のみを絶対パスで表示するコマンド
・which


指定したコマンドおよび、そのコマンドのソースコード、マニュアルが置かれている場所を絶対パスで表示するコマンド
・whereis


ext2ファイルシステムの「/dev/hda5」をext3に変換するコマンド
・tune2fs -j /dev/hda5


ddコマンドのオプションのうち、入力ファイルから出力ファイルへブロックをコピーする回数を指定するオプション
・count


シャットダウン処理を行わず、メッセージ通知のみを行うshutdownコマンドのオプション
・-k


rpmコマンドを使用して、「postfix-1.1.12-1.i386.rpm」ファイルからインストールされる設定ファイルのみを表示
・rpm -qcp postfix-1.1.12-1.i386.rpm
・rpm --query -cp postfix-1.1.12-1.i386.rpm


dpkgコマンドを使用して、「procmail」パッケージを設定ファイルを残してアンインストール
・dpkg --remove procmail
・dpkg -r procmail


現在実行中のプロセスから特定の名前を持つプロセスIDを検索
・pgrep

プロンプト$ systemctl list-unit-files

UNIT FILE                                                                 STATE

proc-sys-fs-binfmt_misc.automount                                         static

-.mount                                                                   generated

プロンプト$ touch test

プロンプト$ file test

test: empty

プロンプト$ ls -dl /home/

drwxr-xr-x 4 root root 4096 12月 15 00:03 /home/



tarコマンドオプション
-----------------------------------------
-c 新しいアーカイブを作成
-----------------------------------------
-x アーカイブからファイルを展開
-----------------------------------------
-t アーカイブの内容を一覧表示
-----------------------------------------
-f アーカイブファイル名を指定
-----------------------------------------
-v 処理の詳細情報を表示
-----------------------------------------
-z gzipを通して圧縮/展開
-----------------------------------------
-j bzip2を通して圧縮/展開
-----------------------------------------
-J xzを通して圧縮/展開
-----------------------------------------


「file」ファイルにある重複していない行のみを表示
・uniq -u file


「backup.cpio」というcpio形式のアーカイブからファイルを展開することができるコマンド
・cpio -i < backup.cpio


現在実行中のプロセスからtestユーザーが実行した特定の名前を持つプロセスIDを検索
・pgrep -u test


lspciコマンドで取得できる情報
・バスの速度
・I/Oポートアドレス
・IRQ番号
・ベンダー名(ベンダーID)


メモリやスワップ領域の使用状況を表示するコマンド
・top
・free


現在実行中のプロセスから特定の名前を持つプロセスIDを検索するコマンド
・pgrep


fdiskコマンドで作成したパーティションにファイルシステムを作成することができるコマンド
・mke2fs
・mkfs


「/dev/sda5」のディスク使用量をチェックし、グループクォータのデータベースファイルを作成・更新するコマンド
・quotacheck -g /dev/sda5


「test.txt」ファイルから、「.*」という文字列を含む行を抽出したい。
・grep '\.\*' test.txt
・fgrep '.*' test.txt
・grep -F '.*' test.txt

※grepのオプション
-c マッチした行の行数
-f 検索パターンをファイルから読み込み
-i 大文字小文字は区別しない
-n 先頭に行番号を付けてマッチした行を表示
-v マッチしなかった行を表示
-E =egrep
-F 正規表現を使わない


「file」ファイルにある重複した行を1行にまとめて、「newfile」ファイルに出力
・uniq file newfile


/etc/fstabに記載するマウントオプション
-----------------------------------------------------------------
async  非同期で入出力
-----------------------------------------------------------------
auto  コマンド実行時にマウント
-----------------------------------------------------------------
noauto  コマンド実行時にマウントしない
-----------------------------------------------------------------
defaults デフォルト指定
-----------------------------------------------------------------
exec  バイナリの実行許可
-----------------------------------------------------------------
noexec  バイナリの実行禁止
-----------------------------------------------------------------
no  読み取り禁止
-----------------------------------------------------------------
rw  読み書き禁止
-----------------------------------------------------------------
suid  SUID、SGIDを有効化
-----------------------------------------------------------------
user  一般ユーザでマウント可、本人のみアンマウント可
-----------------------------------------------------------------
users  一般ユーザでマウント、アンマウント可
-----------------------------------------------------------------
nouser  一般ユーザによるマウントを禁止 
-----------------------------------------------------------------

ファイルやディレクトリを新規作成した際の、デフォルトのパーミッションを設定するコマンド

・umask

Linuxにおいて、ファイルを圧縮できるコマンド

・bzip2

・gzip

指定したファイルシステム全体のディスククォータ状況を表示するコマンド

・repquota

複数のファイルを行単位で結合するコマンド

・paste

「test.tar」というアーカイブの内容を表示できるコマンド

なお、アーカイブは展開しない

・tar ft test.tar

・tar ftv test.tar

tarオプション

-c :新しいアーカイブ作成

-x :アーカイブからファイルを展開

-t :アーカイブの内容を一覧表示

-f :アーカイブファイル名を指定

-v :処理の詳細情報を表示

-z :gzipを通じて圧縮、展開

-j :bzipを通じて圧縮、展開

-J :xzを通じて圧縮、展開



指定したコマンドが通常のコマンドか、シェルの組み込みコマンドか、

エイリアスかなどの情報を表示するコマンド

[root@floren ~]# type cp

cp は `cp -i' のエイリアスです

ファイルシステムをチェックせずに「/dev/sda2」がマウント出来る回数を10回に変更したい。

・tune2fs -c 10 /dev/sda2

プロセスのnice値を表示するコマンド

・top

・ps l

[root@floren ~]# ps -l

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 S     0 28992 28980  0  80   0 - 29108 do_wai pts/1    00:00:00 bash

0 T     0 29217 28992  0  80   0 - 40532 do_sig pts/1    00:00:00 top

0 R     0 29218 28992  0  80   0 - 38301 -      pts/1    00:00:00 ps

ext2/ext3/ext4ファイルシステムの各種情報を表示するコマンド

・dumpe2fs

[root@floren postfix]# lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda           8:0    0   20G  0 disk

tqsda1        8:1    0    1G  0 part /boot

mqsda2        8:2    0   19G  0 part

  tqcl-root 253:0    0   17G  0 lvm  /

  mqcl-swap 253:1    0    2G  0 lvm  [SWAP]

sr0          11:0    1 1024M  0 rom

「/dev/sr0」として認識されている内蔵CD-ROMドライブを「/mnt/cdrom」にマウントしたい。

「/etc/fstab」ファイルには、これを実現する為のエントリを追加していない。

・mount /dev/sr0 /mnt/cdrom

「file1」と「file2」ファイルを行単位で区切り文字「:」を使用して結合したい。

・paste -d : file1 file2

「dir」ディレクトリのパーミッションを700から500に変更したい。

・chmod u=rx dir

・chmod 500 dir

・chmod u-w dir

[root@floren postfix]# yum list php

読み込んだプラグイン:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: ftp.nara.wide.ad.jp

 * extras: download.nus.edu.sg

 * updates: download.nus.edu.sg

利用可能なパッケージ

php.x86_64                             5.4.16-45.el7                             base

[root@floren postfix]#

ユーザ毎にディスククォータの設定を行う手順

1.「/etc/fstab」のファイルシステムにusrquotaオプションを設定する

2. ファイルシステムをマウントしなおす

3. quotacheckコマンドでデータベースファイルを作成・更新する

4. quotaonコマンドでクォータを有効にする

5. edquotaコマンド、またはsetquotaコマンドでユーザのクォータを設定する

「/dev/sda5」のディスク使用量をチェックし、ユーザクォータのデータベースファイルを作成・更新するコマンド

・quotacheck -u /dev/sda5

・quotacheck /dev/sda5

「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピーしたい。

・dd if=boot.img of=/dev/sdc

testユーザが所有する「File1」というファイルが存在する。

rootユーザで以下のコマンドを実行した後、「File1」と「File2」で共通するファイル情報はどれか。

 # ln File1 File2

・ハードリンク数(リンク数)

・パーミッション

・所有ユーザ・グループ

・inode番号

検索用データベースを使用して高速でファイル検索を行うコマンド

・locate

systemdの動作するシステムにおいて、メンテナンスのために以下のコマンドで

シングルユーザーモードに変更し作業を行った。

# systemctl rescue

作業が終わったので通常の起動状態に戻したい。

・systemctl default コマンドを実行する

・Ctrl-Dを入力する

・systemctl reboot コマンドを実行する

sambaというキーワードを一部に含むmanページを検索するコマンド

・apropos samba

・man -k samba

フォアグラウンドで実行中のジョブを一時停止

・Ctrl+z

[root@floren ~]# ping 8.8.8.8 > ping.txt

^Z

[1]+  停止                  ping 8.8.8.8 > ping.txt

[root@floren ~]# jobs

[1]+  停止                  ping 8.8.8.8 > ping.txt

[root@floren ~]# bg 1

[1]+ ping 8.8.8.8 > ping.txt &

[root@floren ~]# jobs

[1]+  実行中               ping 8.8.8.8 > ping.txt &

[root@floren ~]# fg

ping 8.8.8.8 > ping.txt

^C[root@floren ~]#

バックグラウンドで動作中または一時停止中のジョブを、フォアグラウンド動作に切り替える

・fg [ジョブ番号]

また、ジョブ番号を引数に指定しない場合は、カレントジョブ(直前にバックグラウンドで実行されたジョブ、

または直前に一時停止されたジョブ)がフォアグラウンドに変更されます。

カレントジョブはjobsコマンドの実行結果にある「+」がついているジョブです。

フォアグラウンドで実行中のジョブを一時停止したい。

・Ctrl+z

findコマンドでファイルを検索する際、検索するディレクトリの階層を指定したい。

・-maxdepth

・-mindepth

「dir」ディレクトリと、サブディレクトリが占めている容量を分かりやすい単位を付加して表示したい。

ただし、「dir」ディレクトリの容量にサブディレクトリの容量を含めず、

また別途「dir」ディレクトリ内の合計容量を表示したい。

・du -chS dir

Linuxをインストールする際、ルートパーティションとは別のパーティションを割り当てる事が可能なディレクトリ

・/tmp

・/boot

xzコマンドのオプション

-d,--decompress :圧縮ファイルの展開

-k,--keep :圧縮、展開後に元のファイルを削除しない

-l,--list :圧縮ファイルの情報を表示する

dpkgコマンドの「-r」と「-P」アクションの説明

・「-r」は設定ファイルを残してパッケージをアンインストールする

・「-P」は設定ファイルを含め完全にパッケージをアンインストールする

論理ボリュームを作成する際の主な手順

・物理ボリューム(PV)の作成

pvcreateコマンドを使用して作成します。

・ボリュームグループ(VG)の作成

vgcreateコマンドを使用して作成します。

・論理ボリューム(LV)の作成

lvcreateコマンドを使用して作成します。

「/home/test」ディレクトリのシンボリックリンクを「/home/testlink」という名で作成したい。

・ln -s /home/test /home/testlink

[root@floren ~]# tail -c 500 /etc/postfix/main.cf.org

irectory: The location of the Postfix HTML documentation.

#

html_directory = no

# manpage_directory: The location of the Postfix on-line manual pages.

#

manpage_directory = /usr/share/man

# sample_directory: The location of the Postfix sample configuration files.

# This parameter is obsolete as of Postfix 2.1.

#

sample_directory = /usr/share/doc/postfix-2.10.1/samples

# readme_directory: The location of the Postfix README files.

#

readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

[root@floren ~]#

cdコマンドで、ユーザのホームディレクトリに移動する方法

・cdコマンドの引数にホームディレクトリを表すメタキャラクタ「~」とユーザ名を指定する

「cd ~ユーザ名」とすることで、指定したユーザのホームディレクトリに移動します。

・cdコマンドの引数にホームディレクトリを表すメタキャラクタ「~」を指定する

「cd ~」とすることで、コマンドを実行したユーザのホームディレクトリに移動します。

・cdコマンドの引数に何も指定しない

cdコマンドを引数なしで実行することで、コマンドを実行したユーザのホームディレクトリに移動します。

ブートローダであるGRUB2の設定ファイルの内容を変更したい。

・grub-mkconfig

現在実行中のプロセスからtestユーザーが実行した特定の名前を持つプロセスIDを検索したい。

・pgrep -u test

[root@floren /]# od -t o /bin/ls

0000000 10623042577 00000200402 00000000000 00000000000

0000020 00017400002 00000000001 00020041704 00000000000

[root@floren /]# od /bin/ls

0000000 042577 043114 000402 000001 000000 000000 000000 000000

0000020 000002 000076 000001 000000 041704 000100 000000 000000

fsckのオプション

-t :ファイルシステムの種類を指定

-A :/etc/fstabの全ファイルシステムに対して実行

-N :実際には実行せず、実行する内容を表示

-a :問題を自動的に修復

-r :問題を対話的に修復

fdiskのオプション

m :サブコマンドメニュー

l :パーティション一覧

n :パーティション作成

d :パーティション削除

p :パーティションテーブル表示

t :パーティションタイプ変更

w :パーティションテーブルの変更を保存して終了

q :パーティションテーブルの変更を破棄して終了

現在および1つ前のランレベルを調べることができるコマンド

・runlevel

「file」ファイルを500行ごとに分割したものを別のファイルに保存したい。

また、保存するファイル名は「hogeaa」、「hogeab」などのようにしたい。

・split -500 file hoge

出力ファイル名を指定しない場合は、先頭が「x」で、末尾に「aa」、「ab」、「ac」などの文字列が順番に付いたファイルが出力されます。

PCIデバイスの情報を表示するコマンド

・lspci

・cat /proc/bus/pci/devices

依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンドは次のうちどれか。

・modprobe

「test」プログラムを最も高い優先度で実行したい。

・nice --20 test

・nice -n -20 test

systemdが稼働するシステムにおいて、次回起動時のランレベルの確認作業

・cd /etc/systemd/system

・ls -l default.target

RPM系パッケージをcpio形式のアーカイブに変換するコマンド

・rpm2cpio

APTツールではネットワーク経由で最新のパッケージを取得することができる。

パッケージの取得元(リポジトリ)を設定するファイル

・/etc/apt/sources.list

apt-cacheコマンドを使用して、「ssh」パッケージが依存しているパッケージの名前を一覧表示させたい。

・apt-cache depends ssh

接続されたUSBデバイスの情報を表示するコマンド

・cat /proc/bus/usb/devices

・lsusb

touchコマンド

-t 時刻 :アクセス時刻と修正時刻を指定した時刻に変更

-a :アクセス時刻を変更

-m :修正時刻を変更

fsck [オプション] デバイス名

-t :ファイルシステムの種類を指定

-A :全ファイルシステムに対して実行

-N :実際には実行せず実行する内容を表示

-a :問題を自動的に修復

-r :問題を対話的に修復

hostoryコマンドで過去実行したコマンド番号を確認

!番号で実行

現在のランレベルが変更できるコマンド

・telinit

・init

prコマンドで「httpd.conf」ファイルを整形する際、ヘッダに表示されるファイル名を「testfile」に変更

1ページあたり30行とする

・pr -h testfile -l 30 httpd.conf

teeは画面出力と同時にファイルへも同時に出力するコマンド

以下のコマンドの実行結果

$ echo ping-t | tee | cat

・「ping-t」が表示される

lnコマンドの書式

・ln [-s] リンク元 リンク先

trコマンドで使用する文字クラスのうち、数字を表すもの

・[:digit:]

XFSファイルシステムのメタデータをバックアップするコマンド

・xfs_metadump

ディスククォータの容量の設定をテキストエディタで行うコマンド

・edquota

testgroupグループのディスククォータの容量を設定

・edquota -g testgroup

systemdが稼働するシステムにおいて、次回起動時にグラフィカルログインさせるようにしたい。

・rm -f /etc/systemd/system/default.target

・ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target

「aa」「bb」「cc」の3ファイルを1つにまとめて「hoge.tar」というアーカイブにしたい。適切なコマンドは次のうちどれか。

・tar cf hoge.tar aa bb cc

現在ログインしているユーザはtestである。testユーザのホームディレクトリに移動できるコマンド

・cd ~

・cd

・cd ~test

「dir」ディレクトリおよびその配下にあるファイルの所有グループを「staffgroup」に変更

・chgrp -R staffgroup dir

・chown -R :staffgroup dir



rpmコマンドを使用して、「procmail-3.22-9.i386.rpm」パッケージをインストール

・rpm -U procmail-3.22-9.i386.rpm

・rpm -i procmail-3.22-9.i386.rpm

ファイル内の文字数や行数を調べることができるコマンド

・wc

ロードされているカーネルモジュールの情報を表示するコマンド

・cat /proc/modules

・lsmod

whatisデータベースを作成するコマンド

・makewhatis

※whatisデータベースとは、オンラインマニュアルページ(manページ)に関する情報を蓄積するデータベース

makewhatisコマンドを実行することで作成、または更新されます。

lpic1@lpic1-Virtual-Machine:~$ whatis man

man (1)              - オンラインマニュアルのインターフェース

man (7)              - macros to format man pages

行頭にある連続したスペースをタブに変換するコマンド

・unexpand

command1を実行し、続けてcommand2を実行

・command1 && command2

「configure」ファイルをbzip2形式で「configure.bz2」というファイルに圧縮

圧縮前の元ファイルも残したい。

・bzip2 -c configure > configure.bz2

親プロセスのPIDや実行優先度を決定するnice値なども併せて表示するpsコマンドのオプション

・-l

「/bin/bash」を実行するときに必要となる共有ライブラリを調べるコマンド

・ldd /bin/bash

lpic1@lpic1-Virtual-Machine:~$ ldd /bin/bash

        linux-vdso.so.1 (0x00007ffc937b8000)

        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fdf67966000)

        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdf67762000)

        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdf67371000)

        /lib64/ld-linux-x86-64.so.2 (0x00007fdf67eaa000)

共有ライブラリとは、複数のプログラムが共通して利用するライブラリの事です。

あるプログラム(コマンドなど)が必要としている共有ライブラリを表示するコマンドはlddです。

現在使用しているシステムの情報を表示するコマンド

・uname

lpic1@lpic1-Virtual-Machine:~$ uname

Linux

「dir」ディレクトリと、その配下にあるディレクトリおよびファイルが占めている容量を、


分かりやすい単位を付加して表示するコマンド

・du -ah dir

lpic1@lpic1-Virtual-Machine:~$ du -ah /bin/

36K     /bin/cat

12K     /bin/fgconsole

4.0K    /bin/zforce

trコマンドの文字クラス

[:alpha:] 英字

[:lower:] 英小文字

[:upper:] 英大文字

[:digit:] 数字

[:alnum:] 英数字

[:space:] スペース

論理ボリュームを作成するまでの手順

・pvcreate, vgcreate, lvcreate

1.物理ボリューム(PV)の作成

pvcreateコマンドを使用して作成します。

2.ボリュームグループ(VG)の作成

vgcreateコマンドを使用して作成します。

3.論理ボリューム(LV)の作成

lvcreateコマンドを使用して作成します。

lpic1@lpic1-Virtual-Machine:~$ df -m

Filesystem     1M-blocks  Used Available Use% Mounted on

udev                 931     0       931   0% /dev

tmpfs                192     2       191   1% /run

/dev/sda1          50139  7713     39851  17% /

XFSファイルシステムのメタデータをバックアップするコマンド

・xfs_metadump

lpic1@lpic1-Virtual-Machine:~$ ps f

  PID TTY      STAT   TIME COMMAND

 3284 pts/0    Ss     0:00 -bash

 3832 pts/0    R+     0:00  \_ ps f


「file」ファイルを行番号をつけて出力
・nl file
・cat -b file
lpic1@lpic1-Virtual-Machine:~$ cat -b hoge.sh
     1  #!/bin/sh
     2  echo ${HOGE}
lpic1@lpic1-Virtual-Machine:~$ nl hoge.sh
     1  #!/bin/sh
     2  echo ${HOGE}

「httpd.conf」ファイルの内容を1行あたり30文字に整形して表示
・fmt -w 30 httpd.conf


「/etc/mtab」ファイルでクォータが設定されている
全てのファイルシステムのクォータ状況を表示するコマンド
・repquota -a


「ping-t」ファイルのパーミッションを、
所有者は読み取りと書き込みのみが可能で、
グループとその他のユーザは読み取りのみが出来るように設定
・chmod u=rw,go=r ping-t
・chmod 644 ping-t


23:00にシステムを停止するようshutdownコマンドを実行したが、キャンセルしたい。
・shutdown -c


「dir」ディレクトリ内において、自分以外のユーザが所有するファイルを
削除できないようにしたい。
なお、「dir」ディレクトリのパーミッションは755である。
・chmod 1755 dir
・chmod o+t dir
あるディレクトリ内において、自分以外のユーザが所有するファイルを削除出来ないようにするには
スティッキービットをディレクトリに設定します。
スティッキービットは特殊なパーミッションの1つです。
設定方法は、chmodコマンドで通常のパーミッションの値に1000を加えた値を設定するか、
その他ユーザに「t」という権限を追加します(o+t)。

dpkgオプション
-E:同じバージョンがインストールされていればインストールを行わない
-G:新バージョンがインストールされていればインストールを行わない
-R:ディレクトリを再帰的に処理

sedコマンドの書式と主なオプション・編集コマンド
sed [オプション] 編集コマンド [ファイル名]
sed [オプション] -e 編集コマンド1 [-e 編集コマンド2 ...] [ファイル名]
sed [オプション] -f スクリプト [ファイル名]
・s/文字列1/文字列2/ :各行の最初の文字列1を文字列2に変更
・s/文字列1/文字列2/g :各行のすべての文字列1を文字列2に変更
・/文字列1/d  :文字列が含まれる行を削除


mkdirオプション
-m:指定したアクセス権でディレクトリ作成
-p:引数に階層のあるディレクトリを指定した場合、中間のディレクトリも作成


systemdが利用できるユニットの一覧を取得
lpic1@lpic1-Virtual-Machine:~$ systemctl list-unit-files
UNIT FILE                                  STATE
proc-sys-fs-binfmt_misc.automount          static
-.mount                                    generated
dev-hugepages.mount                        static
dev-mqueue.mount                           static
media-floppy0.mount                        generated
proc-sys-fs-binfmt_misc.mount              static
snap-core-4486.mount                       enabled
snap-core-4830.mount                       enabled
snap-core-4917.mount                       enabled



wcコマンドのオプション
-l:行数表示
-w:単語数表示
-c:文字バイト数表示

lpic1@lpic1-Virtual-Machine:~$ wc hoge.sh
 3  3 24 hoge.sh
lpic1@lpic1-Virtual-Machine:~$ cat hoge.sh
#!/bin/sh
echo ${HOGE}

オプションを指定せずに実行すると行数、単語数、文字(バイト)数が順に表示されます。



dpkgコマンドを使用して、「ssh」パッケージの詳細情報を表示
lpic1@lpic1-Virtual-Machine:~$ dpkg --status ssh
Package: ssh
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 104
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Source: openssh
Version: 1:7.6p1-4
Depends: openssh-client (>= 1:7.6p1-4), openssh-server (>= 1:7.6p1-4)
Pre-Depends: dpkg (>= 1.17.5)
Description: secure shell client and server (metapackage)
 This metapackage is a convenient way to install both the OpenSSH client
 and the OpenSSH server. It provides nothing in and of itself, so you
 may remove it if nothing depends on it.
Original-Maintainer: Debian OpenSSH Maintainers <debian-ssh@lists.debian.org>
Homepage: http://www.openssh.com/
lpic1@lpic1-Virtual-Machine:~$ dpkg -s ssh
Package: ssh
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 104
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Source: openssh
Version: 1:7.6p1-4
Depends: openssh-client (>= 1:7.6p1-4), openssh-server (>= 1:7.6p1-4)
Pre-Depends: dpkg (>= 1.17.5)
Description: secure shell client and server (metapackage)
 This metapackage is a convenient way to install both the OpenSSH client
 and the OpenSSH server. It provides nothing in and of itself, so you
 may remove it if nothing depends on it.
Original-Maintainer: Debian OpenSSH Maintainers <debian-ssh@lists.debian.org>
Homepage: http://www.openssh.com/

パーテションの作成
・parted /dev/sdb

・mklabel msdos
・mkpart primaryext4 1 1000MB
・print

「DATE=`date`」というコマンドの実行結果
・"現在の日時"


apt-cacheコマンドを使用して、キーワード「ssh」を含むパッケージを表示

・apt-cache search ssh

$ tr -s '#' < file1 > file2

・「file1」ファイル内の連続した「#」を1つに置き換えて「file2」ファイルに出力する
trコマンドはファイル内の文字を変換・削除するコマンド
tr [オプション] [文字列1 [文字列2]]
-d:指定文字削除
-s:連続した場合、1文字削除

エディタでファイルを編集する際、行番号を付けてファイルを表示
※コマンドモードで実行
・:set number
・:set nu


共有ライブラリのキャッシュファイル「/etc/ld.so.cache」を更新するコマンド
・ldconfig


依存関係を考慮してカーネルモジュールをロードまたはアンロードするコマンド
・modprobe


プロセスIDが5884のプロセスをクリーンアップせずに強制的に終了
・kill -SIGKILL 5884
・kill -9 5884

dpkgコマンドを使用して、「procmail_3.22-16_i386.deb」パッケージをインストールしたい。
但し、既に新しいバージョンのパッケージがインストールされている場合には、インストールを行わない。
・dpkg -Gi procmail_3.22-16_i386.deb
・dpkg -G --install procmail_3.22-16_i386.deb

「test.txt」ファイルから、「PINGT」または「pingt」という文字列を含む行を抽出
・grep -E 'PINGT|pingt' test.txt
・egrep 'PINGT|pingt' test.txt

yumコマンドを使用して、キーワード「yum」を含むパッケージを表示
・yum search yum
yumコマンドは、インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、
依存関係を調整しながら、パッケージのインストール・アンインストールなどを行えるコマンド

dpkgコマンドを使用して、「procmail_3.22-16_i386.deb」パッケージをインストール
・dpkg -i procmail_3.22-16_i386.deb
・dpkg --install procmail_3.22-16_i386.deb

アーカイブファイル「test.tar.xz」をカレントディレクトリに展開
・tar xvJf test.tar.xz
・tar xfJ test.tar.xz

コマンドを使用してカレントディレクトリ内にある「dir」ディレクトリと、
その子ディレクトリの「dir/dir2」を削除
・rmdir -p dir/dir2
※-p(parents)は親ディレクトリが空の場合、親ディレクトリも削除する

「test.txt」ファイルに含まれる全ての「pingt」という文字列を「hoge」に置換
・sed s/pingt/hoge/g test.txt
・sed -e s/pingt/hoge/g test.txt

動作中のプロセスの親子関係をツリー状で表示するpsコマンドのオプション
・f

rpmコマンドを使用して、インストールされている「postfix」パッケージの変更履歴を調べたい。
・rpm --query --changelog postfix
・rpm -q --changelog postfix

ユーザのディスク使用状況の表示
・quota pingtgroup
・quota -u pingtgroup
指定したファイルシステムのディスククォータ状況を表示するコマンド

・repquota -g pingtgroup
・repquota pingtgroup

1行あたりの最大文字数を指定してテキストを整形するコマンド
・fmt

file1とfile2ファイルはそれぞれの2番目のフィールドが共通している部分がある。
その行を結合して表示するコマンド
・join -j 2 file1 file2

fsckコマンドでファイルシステムの整合性をチェックする際、障害箇所を自動的に修復
・-a

apt-cacheコマンドを使用して「ssh」パッケージへ依存しているパッケージを含めた詳細情報を表示
・apt-cache showpkg ssh


systemdが稼働するシステムにおいて、次回起動時のターゲットが確認できる
systemctlのサブコマンド
・get-default
lpic1@lpic1-Virtual-Machine:~$ systemctl get-default
graphical.target

systemctlのサブコマンド
disable  :サービスの自動起動を無効にする
enable  :サービスの自動起動を有効にする
get-default :次回起動時のターゲットを表示する
halt  :システムを停止し、halt状態にする
is-active :サービスが稼働しているかを表示する
list-unit-files :全てのUnit定義ファイルを一覧表示する
reboot  :再起動
reload  :設定ファイルの再読み込み
restart  :サービスを再起動
set-default :次回起動時のターゲットを設定する
start  :サービスを起動する
status  :サービスの状態を表示する
stop  :サービスを停止する
poweroff :システムを停止、電源停止

テキストファイルの「file.txt」にある「PINGT」を「pingt」に変換してディスプレイに表示
・tr PINGT pingt < file.txt
・cat file.txt | tr PINGT pingt

cpコマンドの場所を絶対パスで表示
・which cp
・whereis cp


findコマンドでファイルを検索する際、ファイルの最終アクセス日を検索条件として使用
・-atime

「/home/test/file.txt」ファイルのシンボリックリンクを「/export/file.txt」という名で作成
「/home」と「/export」は異なったファイルシステム
・ln -s /home/test/file.txt /export/file.txt

カレントディレクトリ以下にある全てのファイルを1つにまとめて、
ユーザのホームディレクトリに「backup.cpio」というアーカイブを作成
・find . | cpio -o > ~/backup.cpio

現在バックグラウンドで動作しているジョブと一時停止中のジョブを表示するコマンド
・jobs

「file.txt」の所有ユーザをtestからstaffに、所有グループをtestからstaffgroupに変更
・chown staff.staffgroup file.txt
・chown staff:staffgroup file.txt

# ln File1 File2
共通事項
・所有ユーザ・グループ
・パーミッション
・inode番号
・ハードリンク数
File2はFile1のハードリンクのため、inode番号が同じ
この状態でFile1を削除しても、File2が実体にリンクしているため実体は残る
File2も削除し、ハードリンクが0になると、実体がはじめて削除される

【シンボリックリンク】
シンボリックリンクとは、Windowsでのショートカットのようなもので、
元ファイルの場所を指し示すリンクの事です。
シンボリックリンクが持っている情報は「元ファイル(ディレクトリ)が
どこにあるのか」というパス情報のみです。

cpコマンドのオプション
・-R/-r :ディレクトリをコピー
・-f :同名のファイルやディレクトリがある場合、強制的に上書き
・-i :上書きするかどうか問い合わせ
・-p :ファイルの属性を保持したままコピー

quotaonコマンドのオプション
・-a :全てのファイルシステムのクオータ有効化
・-u :ユーザごとのクォータ有効化
・-g :グループごとのクォータ有効化
・-v :詳細情報表示

「original」というファイルに対して、コマンド発効後、
タイムスタンプ等のファイル情報が更新されないコマンドのはどれか。
・file original
更新される
・echo "original" > original
・ls -l original > original
・touch original

ファイルシステムの対話的なデバッガであり、
ext2/ext3/ext4ファイルシステムの状態の調査・変更を行えるコマンド
・debugfs


「/bin/ls」ファイル(lsコマンドのバイナリファイル)の内容を8進数で表示
・od /bin/ls
・od -t o /bin/ls


passwdというキーワードと完全に一致した名前を含むmanページを検索するコマンド
・whatis passwd
・man -f passwd

ping-tユーザが起動している全てのプロセスのnice値を10にしたい。
・renice 10 -u ping-t

「/etc/passwd」ファイルの各行の2番目の文字を取り出して表示
・cut -c 2 /etc/passwd

「httpd.conf」ファイルを1ページあたり30行として整形して表示
1ページから2ページまで
・pr -l 30 +1:2 httpd.conf
-l :行数
-h :文字列
+ :開始ページ
: :終了ページ

「configure.gz」ファイルを展開できるコマンド
・gunzip configure.gz
・gzip -d configure.gz

APTツールにおいてパッケージ情報の検索・参照などを行うコマンド
・apt-cache

sortコマンドのオプション
-b :行頭の空白無視
-f :大文字小文字の区別なし
-r :降順ソート
-t :区切り文字指定
-n :数字を文字でなく数値としてソート
-k :ソート対象とするフィールドを指定

expandコマンドはタブをスペースに変換するコマンドです
-i  :行頭のタブのみ置換
-t スペース数 :一つのタブをいくつのスペースに置き換えるか

ファイルシステムのディスク使用量をチェックし、
データベースファイルを作成(初期化)・更新するコマンド
・quotacheck

rpmコマンドを使用して、インストールされている
「postfix」パッケージの詳細情報を表示
・rpm --query --info postfix
・rpm -qi postfix

ログイン中の全ユーザーにメッセージを送信するコマンド
・wall

プロセスIDが1756のプロセスのみの情報を表示
・ps -p 1756
・ps p 1756

PTツールにおいて、apt-getやapt-cacheコマンドよりも高度なコマンド
対話的なパッケージ管理が行えるコマンド
・aptitude

「/etc/fstab」ファイルに記述するマウントオプションで、
「mount -a」コマンドを実行した際にマウントしないように指定するもの
・noauto

yumコマンドを使用して、アップデート可能なパッケージを確認
・yum check-update

検索パターンをファイルから読み込むgrepコマンドのオプション
・-f

指定した文字を変換・削除するコマンド
・tr


メンテナンス用にシングルユーザモードで起動
grub> kernel /boot/vmlinuz-2.6.35 (1 or single or s)


プログラム「file」をどのユーザが実行しても、プログラムの所有者の権限で実行させたい。
なお、「file」のパーミッションは755である。
・chmod u+s file
・chmod 4755 file


「/bin/ls」ファイル(lsコマンドのバイナリファイル)の内容を8進数で表示
・od -t o /bin/ls
・od /bin/ls


quotaonまたはquotaoffコマンドでディスククォータの設定を有効・無効にする際、詳細情報を表示
・-v


コマンドの標準エラー出力先をディスプレイからファイルに切り替えるリダイレクト演算子
・2>
・2>>


「test.txt」ファイルから、「PINGT」または「pingt」という文字列を含まない行を抽出
・grep -Ev 'PINGT|pingt' test.txt
・egrep -v 'PINGT|pingt' test.txt


MBR方式のハードディスク「/dev/sda」デバイスのパーティションテーブルを確認
・fdisk -l /dev/sda

「/etc/fstab」ファイルに記述するマウントオプションで、
読み書きを許可してマウント
・rw


「configure.xz」ファイルを展開することができるコマンド
・xz -d -k configure.xz
・unxz configure.xz
・xz -d configure.xz



$ cat << world
> Hello world 1
> Hello world 2
> world

実行結果
Hello world 1
Hello world 2
※リダイレクト演算子の「<<」で終了文字を指定してcatコマンドを実行すると、
終了文字を入力するまで標準入力への入力を続けることができます。


アーカイブファイル「test.tar.xz」をカレントディレクトリに展開
・tar xfJ test.tar.xz
・tar xvJf test.tar.xz

※tarオプション
-c:新しいアーカイブ作成
-x:アーカイブからファイルを展開
-t:アーカイブの内容表示
-f:アーカイブのファイル名を指定
-v:処理の詳細を表示
-z:gzipを通して圧縮/展開
-j:bzip2を通して圧縮/展開
-J:xzを通して圧縮/展開


「/etc/fstab」ファイルに記述するマウントオプションで、出入力を非同期で行うコマンド
・async


ファイルシステムをアンマウントするコマンド
・umount


XFSファイルシステムの情報を表示するコマンド
・xfs_info



rpmコマンドを使用して、インストールする前に「postfix-1.1.12-1.i386.rpm」ファイルの変更履歴を確認したい。
・rpm -qp --changelog postfix-1.1.12-1.i386.rpm
・rpm --query -p --changelog postfix-1.1.12-1.i386.rpm


rpmコマンドを使用して、システムにインストールされている全てのパッケージを表示させたい。
・rpm --query --all
・rpm -qa


接続されたUSBデバイスの情報を表示するコマンド
・cat /proc/bus/usb/devices
・lsusb

GPT形式のハードディスクにおいて、パーティションの作成、削除、変更および情報表示を行うことができるコマンド
・gdisk

edquotaのオプション
-u:ユーザを指定
-g:グループを指定
-p:指定したユーザの設定をコピー
-t:ファイルシステムごとに猶予期間を指定

command1を実行し、続けてcommand2を実行

command1 ; command2

findコマンドでファイルを検索する際、ファイルの所有者を検索条件として使用したい

・-user

findコマンドでファイルを検索する際、検索するディレクトリの階層を指定したい

・-mindepth

・-maxdepth



apt-getコマンドを使用して、過去に取得したパッケージファイルを削除
・apt-get clean



2つのファイルを読み込み、共通するフィールドがある行を結合して表示するコマンド

・join

「test.txt」ファイルからPINという文字列を含む行を抽出

・cat test.txt | grep PIN

・grep PIN test.txt

sedコマンドを使用して「test.txt」ファイルの内容を編集して表示する際、

編集コマンドを記述したスクリプトファイル「editfile」を使用したい。適切なコマンドは次のうちどれか。

・sed -f editfile test.txt

e2fsckコマンドで「/dev/sda4」をチェックする際、全ての問題を自動的に修復したい。

・e2fsck -p /dev/sda4



sortコマンド
sort オプション ファイル名
オプション
-b 行頭空白を無視
-f 大文字小文字区別しない
-r 降順ソート
-t 指定した文字を区切りとする
-n 数字を文字でなく数値でソート
-k ソートする対象フィールドを指定


指定したコマンドが格納されている場所を、環境変数PATHで設定しているディレクトリから検索し、
その場所を絶対パスで表示するコマンド
・which

テキストファイルの「file.txt」にある「PINGT」を「pingt」に変換してディスプレイに表示
・cat file.txt | tr PINGT pingt
・tr PINGT pingt < file.txt

zip形式で圧縮したアーカイブファイル「test.tar.gz」の内容を展開せずに表示
・gzip -cd test.tar.gz | tar ftv -
・tar ftvz test.tar.gz

teeコマンドは標準入力の内容を、まさにTの字のように、標準出力先(デフォルトはディスプレイ)と

ファイルの双方に出力するコマンド

起動時にカーネルが出力したメッセージを表示するコマンド

lpic1@lpic1-Virtual-Machine:~$ cat /proc/cmdline

BOOT_IMAGE=/boot/vmlinuz-4.15.0-30-generic root=UUID=fdb8bb77-3bb7-4c42-a7db-4dd6f8981cc7 ro quiet splash vt.handoff=1

lpic1@lpic1-Virtual-Machine:~$

lpic1@lpic1-Virtual-Machine:~$ ls -al | grep testfile

-rw-rw-r--  1 lpic1 lpic1   10  8月 12 16:07 testfile

lpic1@lpic1-Virtual-Machine:~$ touch -t 201808130000.00 testfile

lpic1@lpic1-Virtual-Machine:~$ ls -al | grep testfile

-rw-rw-r--  1 lpic1 lpic1   10  8月 13  2018 testfile

teeコマンドを使用する際、標準入力の内容を標準出力に出力すると共にファイルに追記

・-a


vi関連

vi
i カーソル左から入力
a カーソル右から入力
I カーソル行の先頭から入力
A カーソル行の末尾から入力
o カーソル行の下に空白行を追加し、そこから入力
O カーソル行の上に空白行を追加し、そこから入力


viコマンド

yy/Y カーソル位置の行をバッファにコピー

yw カーソル位置の単語をバッファにコピー

dd カーソル位置の行をバッファに切り取り

dw カーソル位置の単語をバッファに切り取り

x カーソル位置の文字をバッファに切り取り

X カーソル位置の左文字をバッファに切り取り

p ペースト

P ペースト(右側)

u もとに戻す


viエディタで編集しているファイルにある「ping-t」という文字列を、
全て「hoge」に置換
・:%s/ping-t/hoge/g


viエディタでコマンドモードから入力モードに移行する際、カーソルのある行の上に空白行を挿入し、

その行で文字を入力

・O


エディタでコマンドモードから入力モードに移行する際、カーソルのある行の下に空白行を挿入し、その行で文字を入力

・o

コマンドモードにおいて、カーソル位置の単語をバッファにコピーするviコマンド
・yw

コマンドモードで、画面を次の画面へ移動するviコマンド
・Ctrl+f


viエディタのコマンドモードで、カーソルを行頭へ移動するviコマンド
・0(ゼロ)


コマンドモードで、画面を前の画面へ移動するviコマンド
・Ctrl+b


viエディタの検索
/検索文字列 :検索文字列をカーソルの位置から末尾に向かって検索
?検索文字列 :検索文字列をカーソルの位置から先頭に向かって検索


viエディタのコマンドモードにおいて、カーソルのある行を含めてn行をバッファにコピー
・nyy

viエディタのコマンドモードにおいて、カーソルのある行を含めてn行を切り取り、バッファにコピー
・ndd

viエディタで読み取り専用でファイルを開くためのオプション
・-R

viエディタで編集しているファイルにある「ping-t」という文字列を全て「hoge」に置換したい。

・:%s/ping-t/hoge/g


viエディタで、パラメータなしで起動した場合の動作
・空のファイルで起動する
・ファイル名は保存する際に指定する


h:一文字左
l:一文字右
k:1文字上
j:1文字下
0:行頭
$:行末
H:画面の西城行
L:画面の最下行
gg:ファイルの先頭行
G:ファイルの最終行
nG:ファイルのn行目
:n:ファイルのn行目
Ctrl+f:次のページ
Ctrl+b:前のページ

編集しているファイルをエディタを終了することなく保存したい。
・:w
※:qの場合、警告が出て終了できない


viエディタで、「/sbin」として文字列「sbin」をカーソル位置からファイルの末尾に向かって検索している。
次の候補を検索するviコマンド
・n
※Nは前の候補

Linux構成関連

現在マウントされているファイルシステムの情報が格納されているファイル

・/etc/mtab


「ctrl+alt+del」キーを押下した際のシステムの動作を設定するファイル
・/etc/inittab


一時停止しているプロセスを再開するシグナル
・CONT


以下のコマンドでプロセスID「1234」に送られるシグナル

$ kill 1234

・TERM(SIGTERM)

デバイスが使用中のDMAチャネルに関する情報が確認できるファイル
・/proc/dma

lpic1@lpic1-Virtual-Machine:~$ cat /proc/dma
 2: floppy
 4: cascade

ディレクトリのアクセス権

・書き込み権限があるディレクトリ内で、ファイルやディレクトリを作成・削除できる
・実行権限があるディレクトリに移動できる


systemdの動作するシステムにおいて、次回起動時にメンテナンスを行うために最低限のシステムサービス状態で起動させたい。
・runlevel1.target
・rescue.target

フォアグラウンドで実行しているプロセスに割り込みシグナルを送信し、プロセスを終了したい。
・killまたはkillallコマンドでINT(SIGINT)シグナルを送信する
・Ctrl+cキーを押下する


Linuxのルートファイルシステムに使用できるファイルシステム
・ext3
・XFS
・ext4

Linuxをインストールする際、ルートパーティションから分割できないディレクトリ
・/etc
・/bin
・/sbin

GRUB Legacy(GRUB1)は設定ファイル「/boot/grub/menu.lst」を変更しても、実行するコマンドはありません。

USBについて
・USB1.1はカーネル2.4からサポートされている
・USB2.0はカーネル2.6からサポートされている

ハードディスク、USBメモリーなどが属しているUSBのデバイスクラス
・Mass Storage Class

共有ライブラリが格納されているディレクトリ
・/usr/lib

MBR方式のハードディスクに作成できる基本パーティション数:最大4

スワップ領域とは、物理メモリ(実メモリ)に収まらなかった情報を
一時的に格納する為の、通常ハードディスク上に作成する領域
ハードディスク上にある為、物理メモリよりも動作は格段に遅くなる
スワップ領域は通常、物理メモリと同じサイズまたは2倍程度のサイズを設定する

次世代のLinux標準ファイルシステムとなるべく開発中のファイルシステム
・Btrfs

端末上で複数の仮想端末を開くことのできるプログラム
・screen
・tmux

「/etc/fstab」ファイルを編集して、ext3ファイルシステムの「/dev/sda1」をシステム起動時から「/boot」に自動マウントするよう設定
・/dev/sda1 /boot ext3 auto 1 1
・/dev/sda1 /boot ext3 defaults 1 1

umountコマンドを発行したが、使用中である「busy」を示すエラーが表示された原因
・アンマウントしようとしているファイルシステムに、ユーザーがアクセスしている
・アンマウントしようとしているファイルシステムを、プロセスが使用している

カレントディレクトリの内容を表示させたい。
また、カレントディレクトリ内にあるディレクトリ(サブディレクトリ)の内容も再帰的に表示させたい。
・ls -R

MBR形式のハードディスクである「/dev/sda」デバイスのパーティションを操作したい。
・fdisk /dev/sda


ファイルシステム
ext2  :以前のLinuxで標準的に使用されていた規格
ext3  :ext2の後継、ジャーナリングファイルシステム
ext4  :ext3の後継、ジャーナリングファイルシステム
XFS  :動的inode、ジャーナリングファイルシステム
JFS  :動的inode、ジャーナリングファイルシステム
ReiserFS :動的inode、ジャーナリングファイルシステム
※inodeの数が制限されるファイルシステムは、動的inodeの機能がないファイルシステム

現在、次世代のLinux標準ファイルシステムとなるべくBtrfs(バターエフエス、またはビーツリーエフエスと発音します)が開発中です。

Btrfsはカーネル2.6.29に取り込まれ、現在も開発が続けられています。

ブートローダであるGRUB Legacyの設定ファイル

・/boot/grub/menu.lst

・/boot/grub/grub.conf



systemdの動作するシステムにおいて、次回起動時にメンテナンスを行うために
最低限のシステムサービス状態で起動させたい。
次回起動時のターゲットとしてどれを指定すればよいか
・rescue.target
・runlevel1.target

0 :poweroff.target
1 :rescue.target
2,3,4 :multiuser.target
5 :graphical.target
6 :reboot.target

GRUB2でパーティションを指定する際は、
「(hdディスク番号,パーティション番号)」と指定
ディスク番号は0から、パーティション番号は1から数える

1番目のディスクの1番目のパーティション → (hd0,1)
1番目のディスクの2番目のパーティション → (hd0,2)
2番目のディスクの2番目のパーティション → (hd1,2)

Linuxのディレクトリ
/home  :一般ユーザのホームディレクトリ
/usr  :起動には不要なプログラムを格納
/var  :ログファイルやメールなどの可変ファイル
/opt  :追加でインストールしたパッケージ
/boot  :Linuxカーネルの起動ファイル
/tmp  :一時ファイル
/bin  :一般ユーザのコマンド格納
/sbin  :管理者用のコマンド格納
/etc  :システムの設定用ファイル
/lib  :共有ライブラリ
/dev  :デバイスファイル
/etc/mtab :現在マウントされているファイルシステムの情報が格納されているファイル
box







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2019年02月10日 16時12分10秒
コメント(0) | コメントを書く
[資格勉強用] カテゴリの最新記事



© Rakuten Group, Inc.
X