LPIC1

  • 投稿者:
  • 投稿カテゴリー:Linux

概要

LPIC1の勉強内容、知らなかったことを記載

ファイル

.bash_profile:ログイン時のみ読み込まれる
.bash_login:ログインして~/.bash_profileが存在しない場合に読み込まれる
.profile:ログインして~/.bash_loginが存在しない場合に読み込まれる
.bashrc:シェルを起動するたびに読み込まれる

### ブートローダーからカーネルに渡される値が記載されている ###
root@hostname:/home/shimizu# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=4decf51c-2399-452e-99f9-58ba282d6d5b ro quiet

### デバイスとのやりとりのためのIOポートが記載されている ###
root@hostname:/home/shimizu# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
...

### dpkgコマンドの設定ファイル ###
root@hostname:/home/shimizu# cat /etc/dpkg/dpkg.cfg
# dpkg configuration file
...

### ユーザ作成時にホームディレクトリに置かれるファイルを設定可能 ###
root@hostname:/home/shimizu# ls -al /etc/skel/
合計 20
drwxr-xr-x   2 root root 4096  5月  5 00:59 .
drwxr-xr-x 103 root root 4096  7月 10 09:16 ..
-rw-r--r--   1 root root  220 11月 13  2014 .bash_logout
-rw-r--r--   1 root root 3515 11月 13  2014 .bashrc
-rw-r--r--   1 root root  675 11月 13  2014 .profile


### シェル、コマンド実行前にsshが実行するファイル ###
[root@ip-172-32-0-221 ec2-user]# ls /etc/sshrc

### wやwhoコマンドが確認しているファイル。ユーザがログインやログアウトすると、このファイルが更新される ###
root@hostname:/home/shimizu# lv /var/run/utmp
...

### 送信待ちのメールキューが保存されているファイル ###
root@hostname:/home/shimizu# ls /var/spool/mqueue/
dft589nhjk019447  qft589nhjk019447


### 現在マウントされているファイルシステムの情報が格納されている ###
root@hostname:/home/shimizu# cat /etc/mtab
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

ログ

### linuxで一般的なログが記載されている ###
[root@ip-172-32-0-221 ec2-user]# tail -f /var/log/messages
Jul 10 22:16:17 ip-172-32-0-221 yum[30362]: Updated: newrelic-daemon-4.23.0.102-1.x86_64
Jul 10 22:16:17 ip-172-32-0-221 yum[30362]: Updated: php55-pdo-5.5.26-1.103.amzn1.x86_64
...

### プリンタやメールログが記載されている ###
[root@ip-172-32-0-221 ec2-user]# tail -f /var/log/spooler
...

コマンド

### PCIデバイス情報を表示 ###
root@hostname:/home/shimizu# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
...

### 上と同義 ###
root@hostname:/home/shimizu# cat /proc/bus/pci/devices
...

### 文字コードを変更するコマンド ###
### iconv:International Codeset Conversion Library ###
###  利用できる文字コードを表示する ###
[root@ip-172-32-0-221 ec2-user]# iconv -l
...

### setコマンドのオプションを表示する ###
root@hostname:/home/shimizu# set -o
allexport       off
braceexpand     on

### USBデバイス情報を表示 ###
root@hostname:/home/shimizu# lsusb
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

### ツリー状に表示する ###
root@hostname:/home/shimizu# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M

### ファイルシステム情報を表示###
root@hostname:/home/shimizu# dumpe2fs /dev/vda1
Filesystem volume name:   <none>
Last mounted on:          /
Filesystem UUID:          4decf51c-2399-452e-99f9-58ba282d6d5b
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
...

### プロセス番号11848を使用するプロセスを表示 ###
root@hostname:/home/shimizu# lsof -p 11848
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
apache2 11848 www-data  cwd    DIR  254,1     4096       2 /
apache2 11848 www-data  rtd    DIR  254,1     4096       2 /
apache2 11848 www-data  txt    REG  254,1   654136 2500794 /usr/sbin/apache2
apache2 11848 www-data  DEL    REG    0,4           986349 /dev/zero
...

### ポートを開いているプロセスを表示する ###
root@hostname:/home/shimizu# lsof -i:80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2 2091 www-data    4u  IPv6 185548      0t0  TCP *:http (LISTEN)
apache2 2101 www-data    4u  IPv6 185548      0t0  TCP *:http (LISTEN)

### PIDが500のプロセスのnice値を-20に変更する ###
root@hostname:/home/shimizu# renice --20 500

root@hostname:/home/shimizu# chage -l shimizu
最終パスワード変更日                            : 5月 04, 2015
パスワード期限:                                 : なし
パスワード無効化中                                      : なし
アカウント期限切れ                                              : なし
パスワードが変更できるまでの最短日数            : 0
パスワードを変更しなくてよい最長日数            : 99999
パスワード期限が切れる前に警告される日数                : 7

### -Sオプションはディレクトリの容量にサブディレクトリの容量を含めずに表示する ###
root@hostname:/home/test# du -ch
143M    ./test1
200M    .
200M    合計
root@hostname:/home/test# du -chS
143M    ./test1
57M     .
200M    合計

### manページを検索する ###
root@hostname:/home/shimizu# whatis uname
uname (1)            - システム情報を表示する
uname (2)            - 現在稼働中のカーネルについての名前と情報を得る
root@hostname:/home/shimizu# man -f uname
uname (1)            - システム情報を表示する
uname (2)            - 現在稼働中のカーネルについての名前と情報を得る

パッケージ操作

### パッケージからインストールされたファイルを表示(--listfiles) ###
root@hostname:/var/cache/apt/archives# dpkg -L apache2-utils
/.
/usr
/usr/bin
/usr/bin/rotatelogs
...

### パッケージに含まれるファイル一覧を表示 ###
root@hostname:/var/cache/apt/archives# dpkg -c apache2-utils_2.4.10-10_amd64.deb
drwxr-xr-x root/root         0 2015-03-15 18:52 ./
drwxr-xr-x root/root         0 2015-03-15 18:52 ./usr/
drwxr-xr-x root/root         0 2015-03-15 18:52 ./usr/bin/
...

### パッケージ状態を表示 ###
root@hostname:/home/shimizu# dpkg -l apache2-utils
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                              バージョン            アーキテクチャ        説明
+++-=================================-=====================-=====================-=======================================================================
ii  apache2-utils                     2.4.10-10             amd64                 Apache HTTP Server (utility programs for web servers)


### unameコマンドが含まれているパッケージを検索 ###
root@hostname:/var/cache/apt/archives# dpkg -S /bin/uname
coreutils: /bin/uname

### 指定したディレクトリに格納されているパッケージファイルを再帰的に検索し、パッケージをまとめてインストールする ###
root@hostname:/var/cache/apt/archives# dpkg -Ri directory
...

### インストール済パッケージを表示 ###
[root@ip-172-32-0-221 ec2-user]# rpm -qa
yum-3.4.3-137.57.amzn1.noarch
python27-botocore-1.0.1-1.15.amzn1.noarch
...

### 指定したファイルが含まれるパッケージを表示 ###
[root@ip-172-32-0-221 ec2-user]# rpm -qf /etc/pear.conf
php-pear-1.9.5-2.17.amzn1.noarch

### パッケージを検証(RPMデータベースと実際のファイルが一致するか検証) ###
[root@ip-172-32-0-221 ec2-user]# rpm -V nginx
S.5....T.  c /etc/nginx/nginx.conf
.M....G..    /var/log/nginx

### インストール済パッケージ詳細を表示 ###
[root@ip-172-32-0-221 ec2-user]# rpm -qi nginx
Name        : nginx
Epoch       : 1
Version     : 1.6.2
Release     : 1.23.amzn1
Architecture: x86_64
Install Date: 2015年03月29日 21時22分09秒
Group       : System Environment/Daemons
...

### インストール前パッケージ詳細を表示(--query --info --package) ###
[root@ip-172-32-0-221 ec2-user]# rpm -qip xxx
...

### インストール前パッケージによってインストールされるファイルを表示(--query --list --package) ###
### インストール後はp(--package)は不要 ###
[root@ip-172-32-0-221 ec2-user]# rpm -qlp xxx
...

### パッケージのアンインストール(--erase) ###
[root@ip-172-32-0-221 ec2-user]# rpm -e xxx
...

### 既に同じバージョンのパッケージがインストールされている場合は、インストールを行わない ###
dpkg -Ei procmail_3.22-16_i386.deb
...

### 「-h」オプションにて、進行状況を表示 ###
rpm -ih nc-1.84-24.8.amzn1.x86_64
...

### パッケージのアップグレード(なければインストール) (--upgrade)###
rpm -U nc-1.84-24.8.amzn1.x86_64
...

### パッケージのアップグレード(なければインストールしない) (--freshen) ###
rpm -F nc-1.84-24.8.amzn1.x86_64
...

### パッケージグループを一覧表示する ###
[root@ip-172-32-0-221 ec2-user]# yum grouplist
読み込んだプラグイン:priorities, update-motd, upgrade-helper
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
4 packages excluded due to repository priority protections
利用可能なグループ
   Console internet tools
   DNS Name Server
   Development Libraries
   Development tools
   Editors
...

chmod

### SUID(Set User ID) ###
### コマンドやプログラムが実行されると、ファイル所有者の権限で実行されたと見なされる
### chmod u+s でも可
root@hostname:/home/shimizu# chmod 4755 test
root@hostname:/home/shimizu# ls -al | grep "test"
-rwsr-xr-x 1 root    root           0  7月 12 23:04 test

### SGID(Set Group ID) ###
### コマンドやプログラムが実行されると、ファイル所有グループの権限で実行されたと見なされる
### chmod g+s でも可
root@hostname:/home/shimizu# chmod 2755 test
root@hostname:/home/shimizu# ls -al | grep "test"
-rwxr-sr-x 1 root    root           0  7月 12 23:04 test

### スティッキービット ###
### 書き込みを許可されたとしても、スティッキービットが設定されていた場合は所有者でなければ削除できない
### chmod o+t でも可
root@hostname:/home/shimizu# chmod 1755 test
root@hostname:/home/shimizu# ls -al | grep "test"
-rwxr-xr-t 1 root    root           0  7月 12 23:04 test

ネットワーク

### 通信経路を表示(UDPを利用) ###
root@hostname:/home/shimizu# tracepath www.google.co.jp
 1?: [LOCALHOST]                                         pmtu 1500
 1:  49.212.204.1                                          0.688ms
 1:  49.212.204.1                                          3.343ms
 2:  oshrt1b-hrt21e.bb.sakura.ad.jp                        1.083ms
 3:  osnrt1s-hrt2b.bb.sakura.ad.jp                         0.540ms
 4:  osdrt2-hrt1s-2.bb.sakura.ad.jp                        0.613ms
 5:  no reply

### ネットワーク名とネットワークアドレスの対応を記載 ###
root@hostname:/home/shimizu# cat /etc/networks
default         0.0.0.0
loopback        127.0.0.0
...

### ネットワークインターフェースの統計情報を表示
root@hostname:/home/shimizu# netstat -i
カーネルインタフェーステーブル
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR フラグ
eth0       1500 0  72911726      0      0 0        407806      0      0      0 BMRU
lo        65536 0    100160      0      0 0        100160      0      0      0 LRU

atコマンド

### 利用方法 ###
[root@ip-172-32-0-221 ec2-user]# at midnight
at> shutdown -h now
# 終了時は[Ctl]+[D]
at> <EOT>
job 1 at 2015-07-12 00:00
### atq は at -l と同義 ###
[root@ip-172-32-0-221 ec2-user]# atq
1       2015-07-12 00:00 a root
[root@ip-172-32-0-221 ec2-user]# atrm 1
[root@ip-172-32-0-221 ec2-user]# atq

useradd

### デフォルトの値確認方法 ###
[root@ip-172-32-0-221 ec2-user]# useradd -D
GROUP=100
HOME=/home
...
### デフォルトの値が保存されているファイル ###
[root@ip-172-32-0-221 ec2-user]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
...

lpq(プリントキュー)コマンド利用方法

root@hostname:/home/shimizu# lpr
test print
root@hostname:/home/shimizu# lpq
Warning: no daemon present
Rank   Owner      Job  Files                                                                                                                                                     Total Size
1st    root       5    (standard input)                                                                                                                                          11 bytes
root@hostname:/home/shimizu# lprm 5
dfA005hostname dequeued
cfA005hostname dequeued
root@hostname:/home/shimizu# lpq
no entries

テキスト整形

fmt:テキストを整形する
join:フィールドが共通する列を結合する
paste:複数ファイルを行ごとに連結する
tac:テキストを末尾から順に表示する

### 2行目から7行目を削除して表示する ###
sed 2,7d test.txt
### 先頭が"#"を外して表示する ###
sed /^#/d test.txt
### ファイルの行頭のタブをスペース2つ分に置き換えて表示 ###
expand -i -t 2 tabfile.txt
### 行頭の空白は無視してソートする ###
sort -b file
### 行番号を空行を除いた行につけて出力する ###
nl file
cat -b file

転送速度

SATA : 1.5Gbps
SATAⅡ : 3Gbps
SATAⅢ : 6Gbps
USB2.0 : 480Mbps
USB3.0 : 5Gbps

USB

USBデバイスはいくつかのデバイスクラス(種類)がある
 Mass Storage Class:ハードディスク、USBメモリ
 ACM Communication Device Class:モデムなど
 Human Interface Device:キーボードやマウス

GRUB

GRUBのバージョンが0.9x系→GRUB Legacy
 設定ファイルは /boot/grub/menu.lst、もしくは /boot/grub/grub.conf
1.9以降→GRUB2
 設定ファイルは /boot/grub/grub.cfg

カーネルでルートパーティションを指定するには
「root (hdディスク番号,パーティション番号)」と指定する。その際、番号はどちらも0から数える

### GRUB Legacyの設定ファイル ###
[root@ip-172-32-0-221 ec2-user]# cat /boot/grub/menu.lst
# created by imagebuilder
default=0
timeout=1
...
[root@ip-172-32-0-221 ec2-user]# cat /boot/grub/grub.conf
# created by imagebuilder
default=0
timeout=1
...

### 「/sbin/init」の代わりに「/bin/bash」を起動
### 何らかの理由で「/sbin/init」プロセスの処理の途中でシステムが停止し、起動に失敗する場合に有効
grub> kernel /boot/vmlinuz-2.6.35 init=/bin/bash

SCSI

8bitのSCSIでは8台の、16bitのSCSIでは16台のデバイスを扱うことが可能
1つはSCSIコントローラーになる

認証

ホスト認証
 サーバの持つ公開鍵をクライアントに登録しておき、クライアントがサーバへSSH接続を行った際
 クライアントは登録されている公開鍵とサーバの公開鍵が一致するかどうかを確認する(~/.ssh/known_hosts)

ユーザ認証
 クライアントの持つ公開鍵をサーバに登録しておき、サーバがSSH接続を受け付けた際
 サーバは登録されている公開鍵とユーザの公開鍵が一致するかどうかを確認

文字コード

ASCⅡ:7bitで表現される。128種類の英数字、記号、制御コードで校正
ISO-8859:ASCⅡコードを8bitに拡張し、256種類を表現可能
Unicode:1つの文字コード体系で多言語を扱うために作成
UTF-8:ASCⅡと互換性あり、Unicodeをベースに

XServer利用方法

Xserver# xhost +(XclientのIP)
Xclient# DISPLAY=(XserverのIP):0
Xclient# export DISPLAY
Xclient# xeyes &

xdm

/etc/X11/xdm
 xdm-config:XDMの設定ファイル
 Xresorces:XDMログイン画面のデザイン設定
 Xacess:ホストからXDMへアクセス許可の設定
 Xsession:XDMのログイン後に実行されるスクリプト

KDM(KDEディスプレイマネージャ)は、KDE標準のディスプレイマネージャ
XDM(Xディスプレイマネージャ)は、X.Org標準のディスプレイマネージャ
GDM(GNOMEディスプレイマネージャ)は、GNOME標準のディスプレイマネージャ

CUPS

CUPS(Common UNIX Printing System)は、これまで使われてきた「lpd」に代わる新しい印刷システム
 ・ネットワーク上のプリンタをサポートするプロトコル「IPP(Internet Printing Protocol)」を採用している。
 ・プリンタの機種依存情報を記述する「PPD(PostScript Printer Description)」ファイルをサポートしている。
 ・Webブラウザベースで設定できる。
 ・従来の印刷システム「lpd」との互換性を持っている。

atとcron 相違点

at は/etc/at.allowファイル、/etc/at.denyファイルのどちらもない場合、rootユーザだけが利用できる
cron は/etc/cron.allowファイル、/etc/cron.denyファイルのどちらもない場合、すべてのユーザが利用可能