LinuxコマンドF-J
LinuxコマンドF-J:記事リスト
LinuxコマンドF-Jのカテゴリーには以下の記事がリストされています。
CentOS7のログ管理(systemd、journald)
systemdがログ管理を行う新しい仕組みが導入されています。
従来のsyslogは、複数システムのログをネットワーク経由で一括管理出来たり、
多くの管理ソフトウェア製品とも連携が可能でしたが、
膨大なログの中から欲しい情報を抽出するには、
様々なコマンドやツールを駆使する必要がありました。
そこでCentOS7では、syslogでのログ抽出作業量を軽減するために、
以前と比べて格段に情報を抽出しやすい仕組みに変更されています。
■journaldの状態を確認する
CentOS7では、ログ収集の仕組みとして、「journald」を使用します。
サービス名は「systemd-journald.service」です。
journaldの起動確認は、systemctlコマンドを実行します。
# systemctl status systemd-journald.service
systemd-journald.service - Journal Service
Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static)
Active: active (running) since 金 2017-08-04 13:39:06 JST; 46min ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 712 (systemd-journal)
Status: "Processing requests..."
CGroup: /system.slice/systemd-journald.service
mq712 /usr/lib/systemd/systemd-journald
8月 04 13:39:06 Tiger systemd-journal[712]: Runtime journal is using 6.1M (max 48.9M, leavin...M).
8月 04 13:39:06 Tiger systemd-journal[712]: Runtime journal is using 6.1M (max 48.9M, leavin...M).
8月 04 13:39:06 Tiger systemd-journal[712]: Journal started
8月 04 13:39:07 Tiger systemd-journal[712]: Runtime journal is using 6.1M (max 48.9M, leavin...M).
Hint: Some lines were ellipsized, use -l to show in full.
■ブートログを確認する
journaldが収集したログを出力するためのコマンドは、「journalctl」になります。
サーバーに搭載されている各種ハードウェアの情報を確認するには、
CentOS7が起動した時のブートログを確認します。
ブートログを確認するには、journalctlコマンドにオプション「-b」を付けて実行します。
# journalctl -b
-- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 14:29:01 JST. --
8月 04 13:39:02 Tiger systemd-journal[336]: Runtime journal is using 6.1M (max 48.9M, leaving 73.4M
8月 04 13:39:02 Tiger systemd-journal[336]: Runtime journal is using 6.1M (max 48.9M, leaving 73.4M
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpuset
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpu
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpuacct
8月 04 13:39:02 Tiger kernel: Linux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org)
8月 04 13:39:02 Tiger kernel: Command line: BOOT_IMAGE=/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/map
8月 04 13:39:02 Tiger kernel: Disabled fast string operations
8月 04 13:39:02 Tiger kernel: e820: BIOS-provided physical RAM map:
■ログを日時でフィルタリングする
journalctlコマンドには、日時でログをフィルタリングする機能が備わっています。
日時開始を「--since=""」で、日時終了を「--until=""」で指定します。
下記例では、2017年8月4日 14時29分〜14時33分1秒までのログを出力しています。
# journalctl --since="2017-08-04 14:29:00" --until="2017-08-04 14:33:01"
-- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 14:35:01 JST. --
8月 04 14:29:01 Tiger systemd[1]: Starting Session 62 of user root.
8月 04 14:29:01 Tiger systemd[1]: Started Session 62 of user root.
8月 04 14:29:01 Tiger CROND[5038]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
8月 04 14:29:25 Tiger clamd[1113]: SelfCheck: Database status OK.
8月 04 14:29:25 Tiger clamd[1113]: SelfCheck: Database status OK.
8月 04 14:30:01 Tiger systemd[1]: Starting Session 64 of user root.
8月 04 14:30:01 Tiger systemd[1]: Started Session 64 of user root.
8月 04 14:30:01 Tiger systemd[1]: Starting Session 63 of user root.
8月 04 14:30:01 Tiger systemd[1]: Started Session 63 of user root.
8月 04 14:30:01 Tiger CROND[5046]: (root) CMD (/usr/lib64/sa/sa1 1 1)
8月 04 14:30:01 Tiger CROND[5047]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
8月 04 14:31:01 Tiger systemd[1]: Starting Session 65 of user root.
8月 04 14:31:01 Tiger systemd[1]: Started Session 65 of user root.
8月 04 14:31:01 Tiger CROND[5056]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
8月 04 14:32:01 Tiger systemd[1]: Starting Session 66 of user root.
8月 04 14:32:01 Tiger systemd[1]: Started Session 66 of user root.
8月 04 14:32:01 Tiger CROND[5061]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
デフォルトでは、自動的にlessページャが起動するので、
スペースでページ送りをしますが、
不要な場合は、「--no-pager」オプションを付与します。
■今日のログを出力する
実行日当時のログを出力したい場合は、--sinceオプションに「today」を指定します。
# journalctl --since=today
- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 14:40:01 JST. --
8月 04 13:39:02 Tiger systemd-journal[336]: Runtime journal is using 6.1M (max 48.9M, leaving 73.4M
8月 04 13:39:02 Tiger systemd-journal[336]: Runtime journal is using 6.1M (max 48.9M, leaving 73.4M
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpuset
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpu
8月 04 13:39:02 Tiger kernel: Initializing cgroup subsys cpuacct
8月 04 13:39:02 Tiger kernel: Linux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org)
8月 04 13:39:02 Tiger kernel: Command line: BOOT_IMAGE=/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/map
8月 04 13:39:02 Tiger kernel: Disabled fast string operations
8月 04 13:39:02 Tiger kernel: e820: BIOS-provided physical RAM map:
他にも「yesterday」や何に使うか分かりませんが「tomorrow」も指定できます。
■特定のサービスに絞ってログを表示する
特定のサービスのみのログを出力したい場合は、
「-u」オプションにサービス名を付けて実行します。
下記例では、SSHサービスのログを出力しています。
# journalctl --since="2017-08-03 14:29:00" --until="2017-08-04 14:33:01" -u sshd.service
-- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 14:44:01 JST. --
8月 04 13:39:09 Tiger systemd[1]: Starting OpenSSH server daemon...
8月 04 13:39:09 Tiger systemd[1]: Started OpenSSH server daemon.
8月 04 13:39:09 Tiger sshd[1106]: Server listening on 0.0.0.0 port 2222.
8月 04 14:24:24 Tiger sshd[3972]: Accepted publickey for pakira from 192.168.0.80 port 50700 ssh2:
■リアルタイムでログを確認する
現在、リアルタイムで出力しているログを表示させたい場合は、
journalctlコマンドに「-f」オプションを付けて実行します。
従来の「tail -f /var/log/messages」と同様な表示ができます。
# journalctl -f
-- Logs begin at 金 2017-08-04 13:39:02 JST. --
8月 04 18:32:01 Tiger systemd[1]: Started Session 267 of user root.
8月 04 18:32:01 Tiger CROND[11781]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
8月 04 18:33:01 Tiger systemd[1]: Created slice user-0.slice.
8月 04 18:33:01 Tiger systemd[1]: Starting Session 268 of user root.
8月 04 18:33:01 Tiger systemd[1]: Started Session 268 of user root.
8月 04 18:33:01 Tiger CROND[11787]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
8月 04 18:34:01 Tiger systemd[1]: Created slice user-0.slice.
8月 04 18:34:01 Tiger systemd[1]: Starting Session 269 of user root.
8月 04 18:34:01 Tiger systemd[1]: Started Session 269 of user root.
8月 04 18:34:01 Tiger CROND[11793]: (root) CMD (/var/www/system/check_process.pl > /dev/null 2>&1)
■プライオリティによるログのフィルタリング
syslogでは、ログのプライオリティ(緊急度)に応じた管理ができましたが、
journalctlでも同様の出力が行なえます。
プライオリティには、緊急度の高いものからemerg、alert、err、warning、
notice、debugがあります。
■warningプライオリティを表示する
特定のプライオリティを表示させるには、journalctlにオプション「-p」を付けて、
フィルタリングしたいプライオリティを指定します。
下記例では、warningプライオリティを表示しています。
# journalctl -p warning
-- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 18:42:01 JST. --
8月 04 13:39:02 Tiger kernel: ACPI: RSDP 00000000000f6a10 00024 (v02 PTLTD )
8月 04 13:39:02 Tiger kernel: ACPI: XSDT 000000003feea65b 0005C (v01 INTEL 440BX 06040000 VMW
8月 04 13:39:02 Tiger kernel: ACPI: FACP 000000003fefee73 000F4 (v04 INTEL 440BX 06040000 PTL
8月 04 13:39:02 Tiger kernel: ACPI: DSDT 000000003feec3fc 12A77 (v01 PTLTD Custom 06040000 MSFT
8月 04 13:39:02 Tiger kernel: ACPI: FACS 000000003fefffc0 00040
8月 04 13:39:02 Tiger kernel: ACPI: BOOT 000000003feec3d4 00028 (v01 PTLTD $SBFTBL$ 06040000 LTP
8月 04 13:39:02 Tiger kernel: ACPI: APIC 000000003feeb8bd 00742 (v01 PTLTD ? APIC 06040000 LTP
8月 04 13:39:02 Tiger kernel: ACPI: MCFG 000000003feeb881 0003C (v01 PTLTD $PCITBL$ 06040000 LTP
8月 04 13:39:02 Tiger kernel: ACPI: SRAT 000000003feea757 008A8 (v02 VMWARE MEMPLUG 06040000 VMW
8月 04 13:39:02 Tiger kernel: ACPI: HPET 000000003feea71f 00038 (v01 VMWARE VMW HPET 06040000 VMW
8月 04 13:39:02 Tiger kernel: ACPI: WAET 000000003feea6f7 00028 (v01 VMWARE VMW WAET 06040000 VMW
8月 04 13:39:02 Tiger kernel: kexec: crashkernel=auto resulted in zero bytes of reserved memory.
■errプライオリティを表示する
# journalctl -p err
-- Logs begin at 金 2017-08-04 13:39:02 JST, end at 金 2017-08-04 18:44:01 JST. --
8月 04 13:39:02 Tiger kernel: Detected CPU family 6 model 78
8月 04 13:39:02 Tiger kernel: Warning: Intel CPU model - this hardware has not undergone upstream t
8月 04 13:39:03 Tiger kernel: sd 0:0:0:0: [sda] Assuming drive cache: write through
8月 04 13:39:07 Tiger kernel: piix4_smbus 0000:00:07.3: Host SMBus controller not enabled!
8月 04 13:39:08 Tiger NetworkManager[839]: _nl_get_vtable: assertion 'vtable.handle' failed
8月 04 13:39:23 Tiger systemd[1]: Failed to start Crash recovery kernel arming.
これまでの例では各プライオリティ名を指定してフィルタリングしましたが、
これをプライオリティの値で指定することも可能です。
各プライオリティと値は下記の対応となっています。
| emerg | 0 |
| alert | 1 |
| crit | 2 |
| err | 3 |
| warning | 4 |
| notice | 5 |
| debug | 6 |
■emergプライオリティのログをプライオリティ値で表示する
emergログが存在しないので、loggerコマンドを使用してテストログを吐き出し、
その後プライオリティ値「0」でemergログを表示します。
# logger -p daemon.emerg "TEST LOG EMERG"
#
Message from syslogd@Tiger at Aug 7 16:23:46 ...
pakira:TEST LOG EMERG
# journalctl -p 0
-- Logs begin at 月 2017-08-07 15:57:16 JST, end at 月 2017-08-07 16:23:46 JST. --
8月 07 16:23:46 Tiger pakira[3402]: TEST LOG EMERG
■alertプライオリティのログをプライオリティ値で表示する
プライオリティ値「1」でalertログを表示します。
# logger -p daemon.alert "TEST LOG ALERT"
# journalctl -p 1
-- Logs begin at 月 2017-08-07 15:57:16 JST, end at 月 2017-08-07 16:26:26 JST. --
8月 07 16:23:46 Tiger pakira[3402]: TEST LOG EMERG
8月 07 16:26:26 Tiger pakira[3789]: TEST LOG ALERT
journalctlを実行すると、alertよりプライオリティの高い
emergプライオリティも表示されていることが分かります。
■カーネルログを表示する
カーネルログを表示するには、
journalctlコマンドにオプション「-k」を付けて実行します。
従来の「dmesg」コマンドに相当します。
# journalctl -k
-- Logs begin at 月 2017-08-07 15:57:16 JST, end at 月 2017-08-07 16:29:01 JST. --
8月 07 15:57:16 Tiger kernel: Initializing cgroup subsys cpuset
8月 07 15:57:16 Tiger kernel: Initializing cgroup subsys cpu
8月 07 15:57:16 Tiger kernel: Initializing cgroup subsys cpuacct
8月 07 15:57:16 Tiger kernel: Linux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org)
8月 07 15:57:16 Tiger kernel: Command line: BOOT_IMAGE=/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/map
8月 07 15:57:16 Tiger kernel: Disabled fast string operations
8月 07 15:57:16 Tiger kernel: e820: BIOS-provided physical RAM map:
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x0000000000100000-0x000000003fedffff] usable
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x000000003fee0000-0x000000003fefefff] ACPI data
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x000000003feff000-0x000000003fefffff] ACPI NVS
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x000000003ff00000-0x000000003fffffff] usable
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
8月 07 15:57:16 Tiger kernel: BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
■特定のプロセスIDのログを表示する
特定のプロセスIDに関係するログを表示する場合は、
journalctlコマンドに「_PID=プロセス番号」を付けて実行します。
# journalctl _PID=1112
-- Logs begin at 月 2017-08-07 15:57:16 JST, end at 月 2017-08-07 16:32:01 JST. --
8月 07 15:57:23 Tiger clamd[1112]: clamd daemon 0.98.7 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
8月 07 15:57:23 Tiger clamd[1112]: Running as user amavis (UID 991, GID 991)
8月 07 15:57:23 Tiger clamd[1112]: Log file size limited to 1048576 bytes.
8月 07 15:57:23 Tiger clamd[1112]: Reading databases from /var/lib/clamav
8月 07 15:57:23 Tiger clamd[1112]: Not loading PUA signatures.
8月 07 15:57:23 Tiger clamd[1112]: Bytecode: Security mode set to "TrustSigned".
■実行ファイルのパス指定でのログ表示
journalctlコマンドにサービスを提供する実行ファイルのパスを指定して
それに関連するログを表示することができます。
下記例では、SSHサービスの実行ファイルである「/usr/sbin/sshd」関連のログを
表示しています。
# journalctl /usr/sbin/sshd
-- Logs begin at 月 2017-08-07 15:57:16 JST, end at 月 2017-08-07 16:34:06 JST. --
8月 07 15:57:23 Tiger sshd[1105]: Server listening on 0.0.0.0 port 22.
8月 07 16:22:03 Tiger sshd[3308]: Accepted publickey for pakira from 192.168.0.80 port 54097 ssh2:
8月 07 16:22:04 Tiger sshd[3308]: pam_unix(sshd:session): session opened for user pakira by (uid=0)
CentOS7のホスト名設定(nmcliコマンド)
CentOS6までは、ホスト名の設定は「/etc/sysconfig/network」ファイルで
管理していましたが、CentOS7では、「/etc/hostname」ファイルで管理します。
ホスト名を変更するには、、「/etc/hostname」ファイルを直接編集するか、
または、nmcliコマンドでもホスト名設定が可能です。
現在設定されているホスト名を確認するには下記コマンドを実行します。
[root@Tiger ~]# nmcli general hostname
Tiger.linuxmaster.jp
上記の例ではホスト名に「Tiger.linuxmaster.jp」が設定されていることが確認できます。
ホスト名を「Leo.linuxmaster.jp」に変更します。
[root@Tiger ~]# nmcli general hostname Leo.linuxmaster.jp
変更後のホスト名を確認します。
[root@Tiger ~]# hostname
Leo.linuxmaster.jp
「/etc/hostname」ファイルの内容も確認します。
[root@Tiger ~]# cat /etc/hostname
Leo.linuxmaster.jp
finger
ユーザの個人情報を表示する
■-- 文法 --■
finger▲ユーザ名
例)
finger▲ユーザ名
ユーザの個人情報を表示する
※▲はスペースを表してます。
■ 説明
fingerコマンドは、システム内のユーザ情報を表示します。引数として、ユーザ名を指定すると、そのユーザの情報が表示されます。
また、「ユーザ名@ホスト名」、「@ホスト」と指定すると、指定したホスト内のユーザ情報も確認することができます。
fg
フォアグラウンドでジョブを実行する
■-- 文法 --■
例)
fg▲1
フォアグラウンドでジョブを実行する
※▲はスペースを表してます。
■ 説明
fgコマンドは、一時停止しているジョブをフォアグランドジョブとして実行します。引数なしでこのコマンドを実行した場合、停止しているジョブが複数あった場合、最後に停止したジョブがフォアグランドジョブとして実行されます。また、引数にジョブを指定して実行することもできます。
ftp
ファイルを転送する
■-- 文法 --■
例)
ftp 192.168.1.35
ファイルを転送する
※▲はスペースを表してます。
■ 説明
ftpはファイルを転送をするためのコマンドです。
「ftp ホスト名」でファイル転送先ホスト(リモートホスト)へ接続し、ftp専用のコマンドでファイル転送や、ファイルの取得などの操作を行うことができます。このコマンドを実行する際には、ホスト名に転送先のホスト名、またはIPアドレスを指定します。
halt
システムをシャットダウン(終了)、再起動する
■-- 文法 --■
例)
halt▲(オプション)
システムを停止する
※▲はスペースを表してます。
■ 説明
haltコマンドはシステムを停止し、再起動やシャットダウンの準備をする
コマンドです。haltコマンドの引数に「-p」オプションを付加して実行することで、
システムを停止後に電源を落とすことができます。
また、haltコマンドは一般ユーザでも実行することが可能であり、
下記のとおりディストリビューションごとに動作が異なります。
一般ユーザでhaltコマンドを実行した場合の各ディストリビューションの挙動
RedHat系:一般ユーザで実行可能。ただし、リモートホストからコマンドを実行した場合は無視される
Vine Linux:rootユーザのパスワードを求め、正しい場合停止プロセスを実行
Turbolinux:rootユーザのパスワードを求め、正しい場合停止プロセスを実行
Debian GNU/Linux:一般ユーザでの実行不可
Plamo Linux:一般ユーザでの実行不可
haltコマンドとshutdownコマンドの違い
haltはshutdownコマンドが利用できない場合に利用されることが多く、
その多くは緊急停止時に実行されることが多いです。
shutdownはマルチユーザモードを配慮して、シャットダウン時には
使用しているユーザへシステム停止のアナウンスがターミナルを通じて
行われますが、haltコマンドの場合、これがなく即システム停止処理を行います。
通常のシステム停止には「shutdown」、緊急時のシステム停止は「halt」と覚えると良いでしょう。
fsck
ハードディスクの検査、修復をする
■-- 文法 --■
fsck▲(オプション)▲ファイルシステム
例)
fsck▲-y▲/dev/hda2
ファイルシステムを修復する
※▲はスペースを表してます。
■ 説明
fsckコマンドはファイルシステムの検査を行い、修復が必要な場合に修復を実行します。
システム動作に問題がない場合には、実行することはありませんが、shutdownコマンドを使用しないで、電源を落とした場合などには、次にシステムを起動したときに自動でfsckコマンドが実行されます。
MS-DOSで言うと、chkdsk、Windowsではscandiskに相当するコマンドです。
fsckコマンドは動作に問題があった場合に自動で実行し、ファイルシステムの修復を行いますが、これで修復できない場合には、コマンドを実行してシステムの検査や修復を行う必要があります。
free
Linuxのメモリ状況を確認する
■-- 文法 --■
free▲(オプション)
例)
free▲-m
Linuxのメモリ状況を確認する
※▲はスペースを表してます。
■ 説明
freeコマンドはLinuxのメモリ状況を確認するコマンドです。表示される項目はメモリの合計値、使用領域、空き領域、バッファ、キャッシュがあり。これらメモリ状況をリアルタイムで表示します。またこのfreeコマンドは、「/proc/meminfo」ファイルを元に表示していますので、「cat /proc/meminfo」と実行しても同じ結果が得られます。
■ freeコマンドの表示項目
total:全メモリ容量
used:使用中のメモリ容量
free:空きメモリ容量
shared:共有メモリ容量
buffers:カーネルが使用するディスクバッファ容量
cached:キャッシュメモリ容量
groupdel
グループを削除する
■-- 文法 --■
groupdel▲グループ名
例)
groupdel▲linuxuser
グループを削除する
※▲はスペースを表してます。
■ 説明
groupdelコマンドは既存のグループを削除する場合に利用します。
グループ情報は/etc/groupに格納されているので、削除した場合このファイルから情報が削除されます。
コマンドを実行する場合には、引数として削除するグループ名を指定します。
groupadd
グループを追加する
■-- 文法 --■
groupadd▲(オプション)▲グループ名
例)
groupadd▲linuxuser
グループを追加する
※▲はスペースを表してます。
■ 説明
groupaddコマンドは新規にグループを追加する際に使用します。通常、新規にユーザを追加した際にはユーザ名と同じ名前でグループも作成されます。(これをユーザプライベートグループといいます)
また、グループIDの500未満はLinuxシステムであらかじめ使用されている為、グループを追加した際は、500以上で使用されていないIDが順番に割り振られます。ちなみにグループ情報は/etc/groupファイルに格納されています。
コマンドを実行する際には、引数として追加するグループ名を指定します。
fdformat
フロッピーディスクをフォーマットする
■-- 文法 --■
fdformat デバイス
例)
fdformat▲/dev/fd0h1440
フロッピーディスクをフォーマットする
※▲はスペースを表してます。
gcc
プログラムをコンパイルする(C言語)
■-- 文法 --■
gcc (オプション) ソースプログラム名
例)
gcc▲-o▲test.c
プログラムをコンパイルする
※▲はスペースを表してます。
gunzip
圧縮ファイルを復元する
■-- 文法 --■
gunzip (オプション) ファイル名
例)
gunzip▲-v▲test.tar.gz
gunzip形式圧縮ファイルを伸張する
※▲はスペースを表してます。
■ 説明
gunzipコマンドは、gzip形式で圧縮されたファイル(サフィックスがgz)を復元するコマンドです。
これは、gzipコマンドに「-d」オプションを付けた場合と同じになります。
コマンドを実行する際は、gunzipコマンドの引数として、
圧縮されたファイルを指定して実行します。
また、複数のファイルを一度に復元することもでき、その際はスペースで
区切って圧縮ファイルを指定します。
また、gunzipコマンドは、gzipコマンドで圧縮されたファイルだけではなく、
compressコマンドで圧縮されたファイルも復元できます。
・関連コマンド
gzipコマンド
gzip
ファイルを圧縮する
■-- 文法 --■
gzip (オプション) (ファイル名)
例)
gzip▲-v▲pakira.txt
ファイルを圧縮する
※▲はスペースを表してます。
■ 説明
gzipコマンドは、compressとともに入力データを圧縮するコマンドです。
gzipコマンドをファイル名を指定せずに実行すると、標準入力から
データを読み込み、圧縮したデータを標準出力します。
ファイル名を引数として指定すると、指定されたファイルからデータを
読み込み、元ファイルに「.gz」を付加したファイルを出力します。
圧縮処理が完了すると、元ファイルは削除されます。
compressコマンド
gzipで圧縮したファイルは、gzipコマンドに「-d」オプションを指定して
実行することで伸長することができます。また、gzipコマンドは
compressコマンドで圧縮したファイルも伸長できます。
groups
ユーザがどのグループに所属しているか表示する
■-- 文法 --■
groups (ユーザー名)
例)
groups▲pakira
グループを表示する
※▲はスペースを表してます。
■説明
groupsコマンドは、ユーザーが所属しているグループ名を表示します。
引数なしで実行した場合、コマンドを実行したユーザーが所属する
グループ名を表示します。
ユーザー名を引数に指定して実行すると、指定したユーザーが
所属するグループが表示されます。
id
ユーザー名やID、グループを確認する
■-- 文法 --■
id (オプション) (ユーザー)
例)
id▲pakira
ユーザID、グループID、グループを表示する
※▲はスペースを表してます。
■説明
idコマンドは、ユーザーのユーザーID(ユーザー名)やグループID(グループ名)を表示します。
引数なしで実行すると、コマンドを実行したユーザーの情報を表示します。
引数にユーザーID、またはユーザー名を指定すると、指定されたユーザーの情報を表示します。
複数のグループに所属している場合は、オプション「-G」を付けることで、
そのユーザーが所属しているグループも表示できます。
また、ログインした後に、suコマンドで他のユーザーになっている場合は、
現在その権限で作業しているユーザーの情報が表示されます。
jobs
バックグラウンドジョブの状況を表示する
■-- 文法 --■
例)
jobs
ジョブの状況を表示する
※▲はスペースを表してます。
■ 説明
jobsコマンドは、コマンドラインからユーザが実行したコマンド(バックグラウンドジョブ)の
状況を表示するために使用します。
表示される情報は、ジョブ番号、ジョブのステータス、ジョブの内容になります。
引数にジョブ番号を指定すると、そのジョブ番号が割り当てられているジョブの状況を表示します。
■プロセスIDとジョブ番号の違い
プロセスIDは、Linuxが起動してから実行されたすべてのプロセスに順番に振られます。
しかし、ジョブ番号は、ユーザーがそのシェル上で実行したバックグラウンドジョブのみに振られます。
ジョブ番号は、fgコマンドでバックグラウンドジョブをフォアグランドで実行したり、
killコマンドでジョブを強制終了する時に、対象のジョブを指定するのに使用されます。
history
コマンド実行履歴を表示する
■-- 文法 --■
例)
history
コマンド実行履歴を表示する
※▲はスペースを表してます。
■ 説明
historyコマンドは、ユーザーが実行したコマンドの履歴を表示するコマンドです。
このhistoryコマンドで表示された結果は、ホームディレクトリの「.bash_history」に格納されます。
ここに格納された結果は、コマンドラインから簡単に呼び出すことができ、
コマンドを再実行する際、コマンド入力が必要なくなるため非常に便利な機能です。
ただし、環境によっては、セキュリティ上好ましくないということで履歴機能を
無効している場合があります。その場合は使用出来ませんので注意が必要です。
ifconfig
ネットワークインターフェイスの動作状況を確認する
■-- 文法 --■
ifconfig インターフェイス (オプション)
例)
ifconfig▲ipアドレス
ネットワークインターフェイスのIPアドレスの設定をする
※▲はスペースを表してます。
■ 説明
ifconfgコマンドは、ネットワークインターフェイスの情報を表示したり、設定するコマンドです。
ifconfgコマンドの引数にネットワークインターフェイスを指定して実行すると、
そのネットワークインターフェイスに現在設定されているに内容を表示します。
また、引数にネットワークインターフェイスと、オプションを指定すると、
ネットワークインターフェイスの設定を変更できます。
但し、設定を変更できるのは、rootのみになります。
find
ファイルを検索する
■-- 文法 --■
find (パス) 検索条件
例)
find▲/home/usr/pakira▲-name▲pakira.dat
「/home/usr/pakira」ディレクトリのなかから「pakira.dat」ファイルを検索する
※▲はスペースを表してます。
grepコマンドで文字列を検索する方法|複数ファイルやディレクトリ除外も
「grepで検索したけど、不要なアクセスログまで引っかかって画面が埋め尽くされてしまう」
運用保守の現場で、毎日必ずと言っていいほど実行するのが
grep コマンドです。この記事では、Linuxの
grep コマンドを使ってファイルの中身から特定の文字列を検索する実践的な手順を解説します。単一ファイルの検索だけでなく、ディレクトリ以下の複数ファイルを一括検索する(-r)方法や、不要な結果を除外する(-v)、前後の行も表示する(-C)など、実務で必須となるオプションとテクニックをまとめました。
1. 単一のファイルから文字列を検索する(基本)
まずは基本となる、1つのファイルから特定の文字列を探し出す方法です。# 基本書式: grep "検索文字列" 対象ファイル名 # grep "ERROR" /var/log/messages
/var/log/messages の中から「ERROR」という文字が含まれる行だけが画面に表示されます。大文字・小文字を無視して検索する(-i)
デフォルトでは「Error」と「error」は区別されますが、-i(ignore-case)オプションを付けると大文字小文字を区別せずに検索できます。# grep -i "error" /var/log/messages
headコマンドでファイルの先頭を表示する方法|行数指定やパイプ活用も
「ログファイルの冒頭だけ見たいのに、lessを開くほどでもない」
ファイルの中身を全部見る必要がない場面は、実務では意外と多いものです。
この記事では、ファイルの先頭部分だけを表示する
head(ヘッド)コマンド の実践的な使い方を解説します。基本的な先頭表示から、行数・バイト数の指定、パイプとの組み合わせ、複数ファイルの同時表示まで、現場で使うテクニックをまとめました。
headコマンドとは?(tailとの違い)
head はファイルの先頭(最初の部分)を表示するコマンドです。名前のとおり「頭」の部分だけを取り出します。反対にファイルの末尾を表示する
tail コマンドと対になるコマンドで、どちらもオプションを省略すると 10行 を表示します。・
head:ファイルの先頭から表示する(設定ファイルのヘッダー確認、CSVの構造把握に便利)・
tail:ファイルの末尾から表示する(ログの最新部分を確認するのに便利)設定ファイルの冒頭を確認したり、CSVやTSVの1行目(ヘッダー行)を見たりする場面では
head の方が適しています。file
ファイルの種類を表示する
■-- 文法 --■
file ファイル名
例)
file▲out.txt
ファイルの種類を表示する。実行結果 out.txt: ASCII text
※▲はスペースを表してます。
