Linuxコマンド
Linuxコマンド:記事リスト
Linuxコマンドのカテゴリーには以下の記事がリストされています。
SSHの接続方法と鍵認証の設定|ssh-keygenからconfig活用まで
「毎回パスワードを入力するのが面倒。鍵認証に切り替えたい」
「Permission denied (publickey) と表示されて接続できない」
SSHはLinuxサーバーをリモートで操作するための必須技術です。パスワード認証のままだと、ブルートフォース攻撃(総当たり攻撃)の標的になります。
この記事では、SSHの基本的な接続方法から、鍵認証の設定、configファイルによる接続の効率化、セキュリティ強化まで、実務で必要な知識を網羅します。
dig
digコマンドとは
digコマンドは、DNSサーバーにドメイン名を元にIPアドレスを問い合わせる(正引き)コマンドになります。
CentOS6系まではnslookupが使用されていましたが、
CentOS7からはdigコマンドの使用が推奨されています。
digコマンドの書式
dig<オプション><@DNSサーバ>ドメイン名<クエリタイプ><クエリクラス>※<>の物は省略可
| 書式項目 | 意味 |
| オプション | digコマンドのオプション |
| @DNSサーバー | 名前解決の問い合わせを行うDNSサーバーを指定します。 省略時は/etc/resolve.confに設定されている DNSサーバーを使用します。 |
| クエリタイプ | どのタイプ(レコード)の名前解決を行いたいか設定します。省略時は「a」(正引き)となる |
| クエリクラス | クエリタイプを指定しない場合、 「in」のインターネットクラスドメインになります。 |
| クエリオプション | 表示結果の指定や問い合わせ方法を細かく指定できます。 |
zcat
圧縮ファイルを復元する(圧縮ファイルの内容を表示する)
■-- 文法 --■
zcat ファイル名
例)
zcat▲test.gz
zcat形式圧縮ファイルを伸張する
※▲はスペースを表してます。
■ 説明
zcatコマンドは、圧縮ファイルを復元するコマンドの一つですが、
圧縮ファイルの内容を表示するためのコマンドです。
「uncompress -c」を実行したのと同じ結果になり、
指定されたファイルの圧縮データを読み込み、
復元したファイルを標準出力に出力します。
・関連コマンド
uncompressコマンド
catコマンド
e2fsck
ext2、ext3のファイルシステムの一貫性をチェックする
■-- 文法 --■
e2fsck [オプション] [デバイス名]
例)
e2fsck▲cfpv▲/dev/hda1
「/dev/hda1」のファイルシステムの一貫性をチェックする
※▲はスペースを表してます。
■ 説明
e2fsckコマンドは、ext2(Linux第2拡張ファイルシステム)及び、
ext3(ジャーナル、自動記録保存つきLinux第2拡張ファイルシステム)
のファイルシステムの一貫性をチェックする
■e2fsck の主なオプション
-c 不良ブロックをチェックし、見つかった場合見つかったものうぃ不良ブロックinodeに加える
-f ファイルシステムがクリーンであっても強制的にチェックする
-p 問題がある場合、自動的に修復する
-v 状況を詳細に表示する
-y 問い合わせがおこなれた場合、自動的に「yes」とする
■ 実行例
▼ボリューム「/dev/hda1」のファイルシステムの一貫性をチェックする
[pakira@Tiger ~]$ su - ←rootにスイッチします。
パスワード: ←rootパスワードは表示されません。
[root@Tiger ~]# e2fsck -cfpv /dev/hda1 ←ボリューム「/dev/hda1」のファイルシステムの一貫性をチェックします。
/dev/hda1 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to continue (y/n)? yes ←対象ボリュームをアンマウントかシングルユーザモードで起動しているなら「y」を入力します
/boot: recovering journal
35 inodes used (0.13%)
2 non-contiguous inodes (5.7%)
# of inodes with ind/dind/tind blocks: 8/3/0
15397 blocks used (14.75%)
0 bad blocks
0 large files
22 regular files
3 directories
0 character device files
0 block device files
0 fifos
0 links
1 symbolic link (1 fast symbolic link)
0 sockets
--------
fdisk
パーティションテーブルを操作する
■-- 文法 --■
fdisk [オプション] [デバイス名]
例)
fdisk▲-l
パーティションテーブルを表示する
※▲はスペースを表してます。
■ 説明
fdiskコマンドは、ハードディスク内にパーティションの情報を書き込んだり、表示したりする
コマンドになります。fdiskコマンドを実行すると対話型のコマンド入力によって操作を
行うことができます。
このコマンドを実行するにはroot権限が必要になります。
■fdiskの主なオプション
-l パーティションテーブルを確認する
■fdiskの対話型コマンド一覧
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
■ 実行例
▼ディスクパーティションの状況を確認する
[root@Tiger ~]# fdisk /dev/hda ←デバイスを指定してfdiskを実行します。
コマンド (m でヘルプ): p ←対話式コマンドの「p」を入力します。
Disk /dev/hda: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 913 7229250 8e Linux LVM
sync
キャッシュ(メモリ)の内容をディスクに書き込む
■-- 文法 --■
sync
例)
sync
キャッシュの内容をディスクに書き込む
※▲はスペースを表してます。
■ 説明
syncコマンドは任意にキャッシュの内容をディスクに書き込むコマンドです。
syncコマンドはメモリ内に存在するデータでありながら、ディスクに存在しない
データをディスクに書き込むコマンドになります。
実行するにはオプションなしでsyncコマンドを実行します。
また、shutdownコマンド、rebootコマンド、haltコマンドを実行した場合も
自動的に実行されるようになっています。
※補足
処理を高速に実現する為には、処理の実行及び、実行結果をそのまま
ディスクに書き込む事は得策ではないため、通常のOSではメモリにデータを書き込み、
CPUの不可やI/O(ハードディスクやメモリ)の利用状況を判断しながら自動的に
ディスクに書き込みを行うようになっています。
■ 実行例
▼キャッシュ(メモリ)の内容をディスクに書き込む
[root@Tiger ~]# sync ←syncコマンドを実行して、メモリ内のデータをディスクに書き込みます。
■ 関連記事
shutdownコマンドの詳細はこちら
rebootコマンドの詳細はこちら
haltコマンドの詳細はこちら
chkconfigコマンドの使い方|systemctlでの代替手順も【現代Linux対応】
最近のLinux環境(RHEL 9やUbuntuなど)を触り始めた方が、必ずと言っていいほど直面するエラーです。
この記事では、自動起動を設定する
chkconfig コマンドの基本的な使い方に加え、現代のLinuxで標準となっている「systemctl」コマンドでの代替手順までを網羅して解説します。chkconfigコマンドとは?(なぜ最近は使えないのか)
chkconfig は、Linuxが起動する際に「どのサービス(Webサーバーやデータベースなど)を自動で立ち上げるか」を設定するためのコマンドです。しかし、これは「SysVinit(シスブイイニット)」という古い起動システムを採用していたCentOS 6などの時代のコマンドです。
現代のRHEL 7/8/9、AlmaLinux、Ubuntuなどでは、より高速で並列処理が得意な「systemd(システムディー)」という新しい仕組みに完全に移行しています。そのため、現代の環境で自動起動を設定する場合は、
chkconfig ではなく systemctl コマンドを使用するのが現場の常識となっています。telinit
ランレベルを切り替える
■-- 文法 --■
telinit [runlevel]
例)
runlevel 5
ランレベルを5に変更
※▲はスペースを表してます。
■ 説明
telinitコマンドはランレベルを切り替えるコマンドです。
telinitコマンドを実行するには設定したいランレベルを
引数として指定し、実行します。
また、telinitコマンドの実行にはroot権限が必要になり、
設定後は再起動して設定を有効にする必要があります。
■ 主なオプション
なし
■ 実行例
[pakira@Tiger ~]$ su - ←rootにユーザ切り替えを行う
パスワード: ←rootパスワードを入力する(パスワードは表示されません)
[root@Tiger ~]# runlevel ←現在のランレベルを確認します。
N 3 ←現在のランレベルは「3」に設定されています。
[root@Tiger ~]# telinit 5 ←ランレベルを5に設定します。
[root@Tiger ~]# runlevel ←設定後のランレベルを確認します。
3 5 ←ランレベルが「5」に変更されます。
■ ランレベルとモード
レベル:0 停止
レベル:1 シングルユーザモード
レベル:2 マルチユーザモード(テキストログイン、NFSサーバーは停止)
レベル:3 マルチユーザモード(テキストログイン)
レベル:4 未使用
レベル:5 マルチユーザモード(グラフィカルログイン)
レベル:6 再起動(リブート)
レベル:S シングルユーザモード(/etc/rc.d/rc.sysinitを読み込む)
runlevel
現在のランレベルと変更前のランレベルを表示する
■-- 文法 --■
runlevel
例)
runlevel
現在のランレベルと変更前のランレベルを表示する
※▲はスペースを表してます。
■ 説明
runlevelコマンドは現在のランレベルと変更前のランレベルを表示コマンドです。
ランレベルとは、Linuxの動作モードを表し、Linuxではランレベルがいくつか
定義されていて、ランレベルを変更することによって Linuxの動作を変えることができます。
ちなみに起動時のデフォルトランレベルは、/etc/inittabに記述されており、
runlevelコマンドを実行する場合にはrootでなければなりません。
■ 主なオプション
なし
■ 実行例
▼ 現在のランレベルと変更前のランレベルを表示する
[root@Tiger ~]# runlevel ←ランレベルを表示します。
5 3 ←現在のランレベルは「3」です。
↑
行頭の「5」は現在のランレベルにする前のランレベルが表示され、
前回ランレベルがない場合は「N」と表示されます。
■ ランレベルとモード
レベル:0 停止
レベル:1 シングルユーザモード
レベル:2 マルチユーザモード(テキストログイン、NFSサーバーは停止)
レベル:3 マルチユーザモード(テキストログイン)
レベル:4 未使用
レベル:5 マルチユーザモード(グラフィカルログイン)
レベル:6 再起動(リブート)
レベル:S シングルユーザモード(/etc/rc.d/rc.sysinitを読み込む)
dd
ディバイスなどへファイルコピーや変換を行う
■-- 文法 --■
dd [入力元] [ 出力先 ]
例)
dd▲if=/boot/vmlinuz▲of=/dev/fd0
コピーや変換を行う(起動ディスクを作成する)
※▲はスペースを表してます。
■ 説明
ddコマンドは入力から出力へデータをコピーするコマンドです。
cpコマンドはファイルからファイルにコピーするだけですが、
ddコマンドはファイルからデバイス、デバイスからファイル、
デバイスからデバイスへのコピーも可能なため、ディスクの
バックアップやダンプにも使用でき、cpコマンドよりも汎用性が
高いのが特徴です。
■ 主なオプション
if=[file] 入力ファイル file から読み込む
of=[file] 出力ファイル file へ書き出す
bs=[size] 入出力のブロックサイズを指定
ibs=[size] 入力のブロックサイズを指定
obs=[size] 出力のブロックサイズを指定
count=[block] コピーするブロック数を指定
conv=変換オプション 変換オプションを指定
seek=[block] 出力の開始位置を指定されたブロックに移動してからコピーする
skip=[block] 入力の開始位置を指定されたブロックに移動してからコピーする
■ 実行例
▼ ハードディスク上のパーティションを、別のディスクにコピーする
[root@Tiger ~]# dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=notrunc,noerror
▼ ハードディスク全体を完全消去する
[root@Tiger ~]# dd if=/dev/urandom of=/dev/hda
▼ CDをiso仮想イメージファイルに変換する
[root@Tiger ~]# dd if=/dev/cdrom of=/home/sam/myCD.iso bs=2048 conv=sync,notrunc
▼ ハードディスクのMBRをバックアップする
[root@Tiger ~]# dd if=/dev/sda of=/home/sam/MBR.image bs=446 count=1
▼ 起動ディスクを作成する
[root@Tiger ~]# dd if=/boot/vmlinuz of=/dev/fd0
■関連記事
起動ディスクを作成する
pstree
■-- 文法 --■
pstree [オプション] [ プロセスID or ユーザ名 ]
例)
pstree
動作中のプロセスをツリー形式に表示する
※▲はスペースを表してます。
■ 説明
動作中のプロセスをツリー形式に表示するコマンドです。
■ 主なオプション
-a コマンドライン引数も表示する
-c 同じサブツリーを圧縮して表示しない
-G グラフィカルに表示する
-h 現在のプロセスのツリーを強調して表示する
-n プロセスIDでソートして表示する
-p プロセス IDも表示する
■ 実行例
▼ ツリー形式で表示する
[pakira@Tiger ~]$ pstree
init-+-atd
|-auditd-+-audispd---{audispd}
| `-{auditd}
|-automount---4*[{automount}]
|-crond
|-events/0
|-gpm
|-httpd-+-9*[httpd]
| `-12*[rotatelogs]
|-khelper
|-klogd
|-ksoftirqd/0
|-kthread-+-aio/0
| |-ata/0
| |-ata_aux
| |-cqueue/0
| |-kacpid
| |-kauditd
| |-kblockd/0
| |-kgameportd
| |-khubd
| |-2*[kjournald]
| |-kmpath_handlerd
| |-kmpathd/0
| |-kpsmoused
| |-kseriod
| |-ksnapd
| |-kstriped
| |-kswapd0
| `-2*[pdflush]
|-migration/0
|-6*[mingetty]
|-mysqld_safe---mysqld---8*[{mysqld}]
|-postmaster-+-postmaster
| `-postmaster---postmaster
|-proftpd
|-smartd
|-sshd---sshd---sshd---bash---pstree
|-syslogd
|-udevd
|-watchdog/0
`-xinetd
vmstat
CPU、プロセス、メモリに関する情報を表示する
■-- 文法 --■
vmstat [オプション] [間隔(sec) [回数] ]
例)
vmstat▲1▲10
1秒間隔で10回表示する
※▲はスペースを表してます。
■ 説明
vmstatコマンドは、CPU、プロセス、メモリになどの統計情報を表示するコマンドです。
■ 主なオプション
-V vmstatコマンドのバージョンを表示する
-n ヘッダー(項目)を一度だけ表示する
-a メモリのアクティブ/非アクティブ情報について表示する
-d ディスクに関する統計情報を表示する
-p 指定したパーティションの統計情報を表示する
-s 各項目の情報を詳しく表示する
-m 各項目の情報の一覧表示(?)
-S 各項目の情報を指定した単位で表示する
■ vmstatコマンドの表示項目
・procs
r 実行待ちプロセス数
b スリープ状態にあるプロセス数
w スワップアウトされているが、実行可能なプロセス数
・memory
swpd:仮想メモリ総量(kB)
free:空きメモリ(kB)
buff:バッファ用メモリ(kB)
cache:キャッシュ用メモリ(kB)
・swap
si:ディスクからスワップインされているメモリ
so:ディスクからスワップアウトされているメモリ
・io
bi:ブロックデバイスに送られたブロック
bo:ブロックデバイスから受け取ったブロック
・system
in:1秒あたりの割り込み回数
cs:1秒あたりのコンテキストスイッチの回数
・cpu
us:CPUの総時間に対するユーザ時間のパーセンテージ
sy:CPUの総時間に対するシステム時間のパーセンテージ
id:CPUの総時間に対するアイドル時間のパーセンテージ
wa:CPUの総時間に対するIO 待ち時間のパーセンテージ
st:仮想マシンから盗まれた時間
■ 実行例
▼ 統計情報を表示する
[pakira@Tiger ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 490500 47268 401036 0 0 93 12 732 76 1 4 93 3 0
------------------------------------
▼ 1秒間隔で10回表示する
[pakira@Tiger ~]$ vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 490376 47580 401036 0 0 79 10 729 68 1 3 94 2 0
0 0 0 490376 47580 401036 0 0 0 0 708 28 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 701 23 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 688 23 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 696 29 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 683 21 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 711 27 0 0 100 0 0
0 0 0 490376 47580 401036 0 0 0 0 686 25 0 0 100 0 0
0 0 0 490376 47588 401028 0 0 0 32 717 29 0 1 94 5 0
0 0 0 490376 47588 401036 0 0 0 0 710 23 0 0 100 0 0
------------------------------------
▼ ディスク情報の表示
[pakira@Tiger ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
ram2 0 0 0 0 0 0 0 0 0 0
ram3 0 0 0 0 0 0 0 0 0 0
ram4 0 0 0 0 0 0 0 0 0 0
ram5 0 0 0 0 0 0 0 0 0 0
ram6 0 0 0 0 0 0 0 0 0 0
ram7 0 0 0 0 0 0 0 0 0 0
ram8 0 0 0 0 0 0 0 0 0 0
ram9 0 0 0 0 0 0 0 0 0 0
ram10 0 0 0 0 0 0 0 0 0 0
ram11 0 0 0 0 0 0 0 0 0 0
ram12 0 0 0 0 0 0 0 0 0 0
ram13 0 0 0 0 0 0 0 0 0 0
ram14 0 0 0 0 0 0 0 0 0 0
ram15 0 0 0 0 0 0 0 0 0 0
sda 26407 10882 882212 222469 4068 10730 118380 435352 0 122
dm-0 36013 0 878506 518629 14797 0 118376 1562409 0 122
dm-1 112 0 896 890 0 0 0 0 0 0
hdc 13 23 144 30 0 0 0 0 0 0
fd0 0 0 0 0 0 0 0 0 0 0
md0 0 0 0 0 0 0 0 0 0 0
------------------------------------
telnet
リモートホストに接続する
■-- 文法 --■
telnet host名 [IPアドレス]
例)
telnet host名 [IPアドレス]
リモートホストに接続する
※▲はスペースを表してます。
■ 説明
telnetは遠隔地にあるサーバーにログインし、操作するためのコマンドです。
直接サーバーを操作している感覚で遠隔地のサーバーを操作できるため、
広く使われています。
しかし、通信経路が暗号化されないため、セキュリティ面からインターネット
などの環境では使用されず、専用線やLANなどの閉じた環境で使用されることが
多くなっています。
vipw
パスワードファイルを編集する
■-- 文法 --■
vipw
例)
vipw
パスワードファイルを編集する
※▲はスペースを表してます。
■ 説明
vipwコマンドは、/etc/passwdファイルを直接編集します。このコマンドを実行すると、/etc/passwdファイルがオープンし、環境変数EDITORで指定したエディッタでの編集ができるようになります。
このコマンドを実行できるは、スーパーユーザのみです。
/etc/passwdファイルを編集する場合、直接viなどのエディッタで編集するようなことはしないでください。
vipwコマンドは/etc/passwdファイルが編集中に、他のユーザが編集ができないように/etc/passwdファイルをロックします。
これは、/etc/passwdファイルを編集中に他の人が勝手に編集できないよういに考慮がされているためです。viで直接編集すると、編集中に他の人がファイルを変更してしまい、パスワードファイルがこわれてしまう可能性があります。
chsh
ログインシェルを変更する
■-- 文法 --■
chfn▲(オプション) ▲ユーザ名
例)
chsh▲(オプション) ▲(ユーザ名)
ログインシェルを変更する
※▲はスペースを表してます。
■ 説明
hshはログインした時に使用するログインシェルを変更します。
オプション「-s」で指定するシェルは/etc/shellsにシェルが記述されていなければなりません。シェルを変更する前に確認してください。
また、このコマンドは、一般ユーザでも実行できますが、変更できるシェルは自分のログインシェルのみになります。
実行方法としては、自分のログインシェルを実行する場合には、ユーザ名の指定は必要ありませんが、スーパーユーザで一般ユーザのログインシェルを変更する場合にはユーザ名の指定が必要です。
chfn
ユーザの氏名や情報を変更する
■-- 文法 --■
chfn▲(オプション) ▲ユーザ名
例)
chfn▲(オプション) ▲ユーザ名
ユーザの氏名や情報を変更する
※▲はスペースを表してます。
■ 説明
chfnコマンドは、/etc/passwdに登録されているユーザ情報を変更します。ここで変更された情報はfingerコマンドなどで利用されます。
Chfnコマンドでは以下の項目を設定することができます。
・ユーザのフルネーム
・会社名、部屋番号
・オフィス番号
・自宅電話番号
・その他
一般ユーザは自分の情報のみ変更することができ、rootはすべてのユーザ情報を変更することができます。
finger
ユーザの個人情報を表示する
■-- 文法 --■
finger▲ユーザ名
例)
finger▲ユーザ名
ユーザの個人情報を表示する
※▲はスペースを表してます。
■ 説明
fingerコマンドは、システム内のユーザ情報を表示します。引数として、ユーザ名を指定すると、そのユーザの情報が表示されます。
また、「ユーザ名@ホスト名」、「@ホスト」と指定すると、指定したホスト内のユーザ情報も確認することができます。
duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
「du コマンドを実行したら大量の出力が流れて、結局どこが問題なのか把握できなかった」
Linuxサーバーの運用で、こうした場面に遭遇したことはないでしょうか。
df コマンドでディスク全体の使用率は分かっても、「原因となっているディレクトリ」を特定するには du コマンドが必要です。この記事では、
du コマンドの基本オプションから、ディレクトリごとの容量確認、容量順ソート、特定ディレクトリの除外、ログディレクトリの容量監視まで、現場で必要な使い方を網羅的に解説します。uptime
システムの稼働時間を表示する
■-- 文法 --■
例)
uptime
システムの稼働時間を表示する
※▲はスペースを表してます。
■ 説明
uptimeコマンドは、システムが起動してからの稼動時間を表示します。
システムを起動して、どのくらいそのシステムが稼動しているのか確認する場合に使用します。
稼働時間のほかに、次のような情報も同時に表示します。
・ 現在の時刻
・ システム稼動時間
・ 現在ログインしているユーザ数
・ ロードアベレージ(過去1分間、5分間、15分間)
※ロードアベレージとは、システムにかかっている負荷のことを言います。括弧の中の時間の平均負荷を表示します。
LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方
「引き継ぎドキュメントがなくて、目の前のLinuxサーバーが何者なのか分からない」
サーバーの運用引き継ぎやトラブル対応で、OSの種類やバージョンが分からず困った経験はないでしょうか。
この記事では、LinuxのOSバージョンやカーネル情報を確認するコマンドを、用途別に整理して解説します。
uname、/etc/os-release、hostnamectl の3つを押さえれば、RHEL系・Debian系を問わず、目の前のサーバーの正体をすぐに特定できます。続きを読む "LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方"
last
ログイン、ログアウトの履歴を表示する
■-- 文法 --■
例)
last
ログイン、ログアウトの履歴を表示する
※▲はスペースを表してます。
■ 説明
lastコマンドは、システムにログインした履歴を表示するコマンドです。
Linuxのようなサーバー利用されいるOSは、たくさんのユーザがログインし利用します。誰がいつ、どのくらいの頻度でアクセスしたのかなどを確認する場合に使用します。
また、ユーザ名に自分のアカウントを指定することで、自分のログイン履歴を確認できます。これにより、自分が知らないログイン履歴がないか、確認することもでき、ユーザアカウントが不正利用されていないかの確認ができます。
また、別のユーザ名を指定することで、指定したユーザのログイン履歴を確認することができます。
dmesg
システムのメッセージを表示する
■-- 文法 --■
例)
dmesg
システムのメッセージを表示する
※▲はスペースを表してます。
■ 説明
dmesgコマンドは、起動時のシステムメッセージを表示します。また、ディスク容量が一杯でデータやファイルを書き込めなかった場合のエラーメッセージも表示します。
主にシステム障害などが発生した場合などにこのdmesgコマンドを使用して、障害原因の追究などに使います。
killall
コマンド単位でプロセスを強制終了
■-- 文法 --■
例)
killall
コマンド単位でプロセスを強制終了
※▲はスペースを表してます。
■ 説明
killallコマンドは、ジョブとして実行されているコマンドを指定してプロセスを強制終了します。コマンドを実行する際には、引数として
ジョブ名を指定して強制的に終了させます。
topコマンドでCPU・メモリ使用率を確認する方法|load averageの見方も
「topコマンドを実行してみたけど、数字がたくさん並んでいて何を見ればいいのか分からない」
Linuxサーバーの運用で、こうした場面に遭遇したことはないでしょうか。
この記事では、Linuxの
top コマンドを使ってCPU使用率やメモリ使用量をリアルタイムに監視する実践的な手順を解説します。ヘッダー行(load average・タスク数・CPU%・メモリ/スワップ)の読み方から、操作キー、バッチモードでのスクリプト活用、さらにload averageが高い場合やCPUが100%に張り付いた場合のトラブルシュートまで、現場で必要な知識をまとめました。
fg
フォアグラウンドでジョブを実行する
■-- 文法 --■
例)
fg▲1
フォアグラウンドでジョブを実行する
※▲はスペースを表してます。
■ 説明
fgコマンドは、一時停止しているジョブをフォアグランドジョブとして実行します。引数なしでこのコマンドを実行した場合、停止しているジョブが複数あった場合、最後に停止したジョブがフォアグランドジョブとして実行されます。また、引数にジョブを指定して実行することもできます。
bg
バックグラウンドでジョブを実行する
■-- 文法 --■
例)
bg▲1
バックグラウンドでジョブを実行する
※▲はスペースを表してます。
■ 説明
bgコマンドは、一時停止しているジョブをバックグランウンドで再開するコマンドです。引数なしで、停止しているジョブが複数あった場合、最後に停止したジョブがバックランドジョブとして実行されます。また、引数にジョブを指定して実行することもできます。
bzip2
bzip2形式でファイルを圧縮、伸張する
■-- 文法 --■
例)
bzip2▲tempfile
bzip2形式でファイルを圧縮、伸張する
※▲はスペースを表してます。
■ 説明
bzip2コマンドは、bzip2形式でファイルを圧縮、伸張するコマンドです。Zip形式での圧縮技術は、UNIXシステムで昔から存在するcompressコマンドよりも圧縮率が良く、広く使用されています。
しかし、最近ではZip形式よりも高圧縮なbzip、bzip2形式の方が広く利用されているようです。bzip、bzip2形式はZip形式よりも圧縮率は高いのですが、処理に時間がかかります。ちなみに、bzip、bzip2形式の間に互換性はないので注意が必要です。
bzip2コマンドを実行する際には、引数として圧縮、伸張するファイルを指定して実行します。bzip2形式のファイルを伸張するコマンドにbunzip2コマンドがありますが、bzipコマンドにオプション「-d」を指定することでも伸張することができます。
bunzip2
bzip2形式圧縮ファイルを伸張する
■-- 文法 --■
例)
bunzip2▲-v▲tempfile.bz2
bzip2形式圧縮ファイルを伸張する
※▲はスペースを表してます。
■ 説明
bunzip2コマンドは、bzip2形式で圧縮されたファイルを伸張するコマンドです。コマンドを実行する際にはbunzip2コマンドの引数として、圧縮されたファイルを指定して実行します。また、複数のファイルを一度に伸張することもでき、その際はスペース区切って圧縮ファイルを指定します。
bnzip2マンドは、オプションに「-k」を指定しないと伸張した時点で圧縮ファイルを削除します。
ftp
ファイルを転送する
■-- 文法 --■
例)
ftp 192.168.1.35
ファイルを転送する
※▲はスペースを表してます。
■ 説明
ftpはファイルを転送をするためのコマンドです。
「ftp ホスト名」でファイル転送先ホスト(リモートホスト)へ接続し、ftp専用のコマンドでファイル転送や、ファイルの取得などの操作を行うことができます。このコマンドを実行する際には、ホスト名に転送先のホスト名、またはIPアドレスを指定します。
traceroute
パケットの通信経路を確認する
■-- 文法 --■
例)
ntpdate eric.nc.u-tokyo.ac.jp
パケットの通信経路を確認する
※▲はスペースを表してます。
■ 説明
traccerouteコマンドは、特定のホストへパケットを送信し、ネットワークの通信経路を表示するコマンドです。
目的のホストへの接続が行えない場合などに、ネットワーク上に障害がないかを確認する場合などに使われます。また、このコマンドを実行することで、どのような通信経路でホストとの通信を行っているのか、ルーティングに問題ないかなどを確認することができます。
ntpdate
サーバーの時刻を合わせる
■-- 文法 --■
例)
ntpdate eric.nc.u-tokyo.ac.jp
サーバーの時刻を合わせる
※▲はスペースを表してます。
■ 説明
ntpdateコマンドは、インターネットに存在するタイムサーバー(以下 NTPサーバー)へ接続し、自身の時刻を修正するコマンドです。サーバーの時刻がずれてしまうと、ファイルの更新日やメールの配信日時、バッチ処理などで、様々な問題が生じます。このような問題をさけるために、ntpdateコマンドを定期的に実行し、常に時刻を正確に保つことができます。このコマンドはスーパーユーザ権限で実行する必要があります。
lpr
プリンタで印刷する
■-- 文法 --■
例)
lprm
プリンタで印刷する
※▲はスペースを表してます。
■ 説明
lprコマンドは、印刷を実行するコマンドです。実行の際には、引数のファイル名に印刷を実行したいファイル名を指定します。スペースで区切ることで、複数のファイルを指定することもできます。
このlprコマンドは実行させると、データを「/var/spool/lpd」に一時ファイルとして保存し、その後プリントキューとして登録します。
lpq
プリンターの印刷状況を表示する
■-- 文法 --■
例)
lprm
プリンターの印刷状況を表示する
※▲はスペースを表してます。
■ 説明
lpqコマンドはプリンターの印刷状態を表示するコマンドです。このコマンドを使用することで、印刷するデータがどれだけ残っているかを知ることができます。また複数のコンピュータが接続されたネットワーク共有状態で使用されているプリンターなどでは、自分が印刷を実行したデータがどのような状態になっているか、ユーザ名を指定して実行することで確認することができます。
lprm
印刷を中止する
■-- 文法 --■
例)
lprm
印刷を中止する
※▲はスペースを表してます。
■ 説明
lprmコマンドは印刷を中止するコマンドです。lprコマンドで印刷を実行しても、実際に印刷するまでには時間がかかるため、印刷を中止する場合に使用します。lprmコマンドはスーパーユーザではすべての印刷を中止することがでいますが、一般ユーザだった場合には、自分が実行した印刷ジョブのみ削除することが出来ます。
man
コマンドのオンラインマニュアルを表示する
■-- 文法 --■
例)
unalias rm
コマンドのオンラインマニュアルを表示する
※▲はスペースを表してます。
■ 説明
manコマンドは、引数で指定したコマンドのオンラインマニュアルを表示します。LinuxやUNIXの多くのマニュアルは紙に印刷するよりも、電子的なファイルで配布されています。手元にコマンドリファレンスがなくてもコマンド名さえ知っていれば、このmanコマンドでコマンドの確認を行うことができます。
aliasコマンドでエイリアスを設定する方法|永続化や実務で使える設定例も
「よく使うオプション付きコマンドを、もっと短く呼び出せないだろうか」
Linuxでの作業効率を上げるなら、エイリアス(alias)を使わない手はありません。
この記事では、
alias コマンドによるエイリアスの設定方法を基本から解説します。一時的な登録・削除(
unalias)はもちろん、.bashrc での永続化、実務で使える定番エイリアス、sudo でエイリアスが効かない問題の対策まで網羅しました。unalias
コマンドの別名を削除する
■-- 文法 --■
例)
unalias rm
コマンドの別名を削除する
※▲はスペースを表してます。
■ 説明
unaliasコマンドは、aliasコマンドで登録したエイリアスを削除します。実行する際には削除するエイリアス名を指定します。
crontabコマンドの設定と書き方|動かない時のログ確認まで
「夜中にバックアップを取りたいけど、書き方が合っているか不安」
Linuxサーバーの自動化において、避けては通れないのがこの
crontab(クーロンタブ)です。この記事では、定期的にコマンドを自動実行する crontab の設定方法を解説します。基本的な書き方はもちろん、現場で必ずハマる「環境変数の罠」や「ログの確認方法」まで、実務で困らないための鉄則をまとめました。
1. crontabの基本コマンド(編集・表示・削除)
crontabの設定は、専用のコマンドを使って行います。直接ファイル(/var/spool/cron/など)を編集するのはご法度です。設定を編集する: -e
# crontab -e
clear
画面をクリアする
■-- 文法 --■
例)
clear
画面をクリアする
※▲はスペースを表してます。
■ 説明
clearコマンドは、画面をクリアするコマンドです。このコマンドを使用すると、それまで、表示されていた入力したコマンドや、処理結果がクリアされます
bc
計算をする
■-- 文法 --■
例)
bc▲(オプション)
計算をする
※▲はスペースを表してます。
■ 説明
bcコマンドは、コマンドライン上で計算をするためのコマンドです。
オプションを指定することで、正弦(sin)や余弦(cos)などの計算も行うことができます。
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」と覚えると良いでしょう。
wgetコマンドでファイルをダウンロードする方法|再開やプロキシ設定も
「プロキシ環境でwgetが通らない」「SSL証明書のエラーで先に進めない」
Linuxサーバーの構築や運用では、パッケージのソースコードやログ解析ツールなど、Webからファイルをダウンロードする場面が頻繁にあります。
この記事では、Linuxの
wget コマンドについて、基本的なファイルダウンロードから、中断の再開(-c)、再帰ダウンロード、プロキシ設定、認証付きサーバーへの接続、トラブルシュートまでを解説します。よく比較される curl との使い分けについても触れていますので、現場で迷わず使えるようになるはずです。eject
ハードディスクの検査、修復をする
■-- 文法 --■
例)
eject▲-d
デフォルトのデバイスを表示する
※▲はスペースを表してます。
■ 説明
ejectコマンドは、CD-ROMやフロッピーディスクドライブの開閉を行うコマンドです。
コマンド実行する際には、引数としてデバイス名を指定し、実行しますが、引数を指定しない場合、デフォルトのデバイス(主(CD−ROMやDVD−ROM)が指定されます。
ejectコマンドを実行した場合には、umountが自動で実行されます。
fsck
ハードディスクの検査、修復をする
■-- 文法 --■
fsck▲(オプション)▲ファイルシステム
例)
fsck▲-y▲/dev/hda2
ファイルシステムを修復する
※▲はスペースを表してます。
■ 説明
fsckコマンドはファイルシステムの検査を行い、修復が必要な場合に修復を実行します。
システム動作に問題がない場合には、実行することはありませんが、shutdownコマンドを使用しないで、電源を落とした場合などには、次にシステムを起動したときに自動でfsckコマンドが実行されます。
MS-DOSで言うと、chkdsk、Windowsではscandiskに相当するコマンドです。
fsckコマンドは動作に問題があった場合に自動で実行し、ファイルシステムの修復を行いますが、これで修復できない場合には、コマンドを実行してシステムの検査や修復を行う必要があります。
freeコマンドでメモリ使用量を確認する方法|availableとfreeの違いも
「freeの値がほぼゼロなのに、サーバーは普通に動いている。これって大丈夫なの?」
Linuxサーバーの運用で、メモリの状態をどう読み取ればよいのか迷った経験はないでしょうか。
この記事では、Linuxの
free コマンドを使ってメモリの使用状況を確認する実践的な手順を解説します。基本オプション(-h・-m・-g)の使い方から、出力の各列(total・used・free・buff/cache・available)の正しい読み方、「freeが少ないのにサーバーが正常」な理由、Swapの見方、OOM Killerへの対処、監視スクリプトでの活用まで、現場で必要な知識をまとめました。
suコマンドでユーザーを切り替える方法|sudoとの違いや「su -」の意味も
「sudoとsuはどう使い分ければいいの?」
Linuxでは、セキュリティの観点から普段は一般ユーザーで作業し、管理者権限が必要な時だけrootに切り替えるのが基本です。このユーザー切り替えに使うのがsuコマンドです。
この記事では、suコマンドの基本的な使い方から、「su」と「su -」の決定的な違い、sudoとの使い分け、セキュリティ上の注意点まで、現場で必要な知識をまとめて解説します。
whoami
現在のユーザーを確認する
■-- 文法 --■
whoami
例)
whoami
現在のユーザーを確認する
※▲はスペースを表してます。
■ 説明
whoamiコマンドは、現在使用中のユーザIDのユーザ名を表示します。
主な使い方としては、ログイン後にsuコマンドで、ユーザーを頻繁の変更し現在使用しているユーザがわからなくなってしまった場合などに使用します。コマンドを実行する際は、特に引数などを指定する必要はありません。
passwdコマンドでパスワードを変更する方法|ロックや有効期限の設定も
「他のユーザーのパスワードをリセットしたい」
「アカウントを一時的にロックしたいけど、どうすればいい?」
パスワード管理は、サーバーのセキュリティを守るうえで最も基本的な作業です。しかし、自分のパスワード変更だけでなく、アカウントのロックや有効期限の管理までとなると、意外と知らないことが多いのではないでしょうか。
この記事では、
passwd コマンドの実践的な使い方を解説します。基本的なパスワード変更から、root権限での他ユーザーのパスワード管理、アカウントロック、パスワード有効期限の設定、
chage コマンドとの連携、そしてトラブルシュートまで、現場で必要な知識をすべて網羅しました。※root以外のユーザーが他のユーザーのパスワードを操作するには、
sudo を付けて実行する必要があります。w
誰がログインしているか表示する
■-- 文法 --■
w▲(オプション)▲ユーザ名
例)
w
誰がログインしているか表示する
※▲はスペースを表してます。
■ 説明
wコマンドはwhoコマンドと同じくログイン中のユーザ情報を表示しますが、whoコマンドより詳しい情報を表示します。
表示する情報はwhoコマンド表示する項目に加えて、下記の内容を表示します。
・システム情報(稼動時間、ログインユーザ数、負荷)
・IDEL時間(操作していない時間)
・JCPU(その端末がCPUを使用した時間)
・PCPU(WHATに表示されているプロセスがCPUを使用した時間)
・WHAT(ユーザが実行中のプロセス)
who
誰がログインしているか表示する
■-- 文法 --■
who▲(オプション)
例)
who
誰がログインしているか表示する
※▲はスペースを表してます。
■ 説明
whoコマンドは現在ログインしているユーザの一覧を表示します。
使用例としては、サーバーをシャットダウンする際などに使用する場合が多いです。
サーバーを運用すると、多くのユーザがサーバーへログインし作業を行います。そのような状態でサーバーをいきなりシャットダウンしてしまうと、ユーザが更新中のデータが損失するなどの問題が発生してしまいますので、シャットダウン前にはwhoコマンドでログイン中のユーザがいないか確認をする必要があります。表示する情報項目としては下記の内容を表示します。
・ログイン名
・ログインしている端末名
・ログイン時刻
・リモートホスト名、またはX WindowのディスプレイID
groupmod
グループの設定を変更する
■-- 文法 --■
groupmod▲(オプション)▲グループ名
例)
groupmod▲linuxuser
グループの設定を変更する
※▲はスペースを表してます。
■ 説明
groupmodコマンドはグループ作成後にグループ情報を変更する場合に使用します。
ただし、グループ情報を保持したファイルなどはこのコマンドでグループ情報を変更した場合に変更対象になりませんので、注意が必要です。
このコマンドを実行する際には、引数としてグループ名を指定します。
groupdel
グループを削除する
■-- 文法 --■
groupdel▲グループ名
例)
groupdel▲linuxuser
グループを削除する
※▲はスペースを表してます。
■ 説明
groupdelコマンドは既存のグループを削除する場合に利用します。
グループ情報は/etc/groupに格納されているので、削除した場合このファイルから情報が削除されます。
コマンドを実行する場合には、引数として削除するグループ名を指定します。
groupadd
グループを追加する
■-- 文法 --■
groupadd▲(オプション)▲グループ名
例)
groupadd▲linuxuser
グループを追加する
※▲はスペースを表してます。
■ 説明
groupaddコマンドは新規にグループを追加する際に使用します。通常、新規にユーザを追加した際にはユーザ名と同じ名前でグループも作成されます。(これをユーザプライベートグループといいます)
また、グループIDの500未満はLinuxシステムであらかじめ使用されている為、グループを追加した際は、500以上で使用されていないIDが順番に割り振られます。ちなみにグループ情報は/etc/groupファイルに格納されています。
コマンドを実行する際には、引数として追加するグループ名を指定します。
usermod
ユーザの設定を変更する
■-- 文法 --■
usermod▲ユーザ名
例)
usermod▲miyazaki
ユーザの設定を変更する
※▲はスペースを表してます。
■ 説明
usermodコマンドはユーザの設定を変更する場合に使用します。
例えば、ユーザIDの有効期限を変更したり、ホームディレクトりを変更する場合などです。
変更するユーザがログイン中は、設定の変更をすることができませんので注意が必要です。
コマンドを実行する際には、usermodコマンドの引数としてユーザー名を指定します。
userdel
ユーザを削除する
■-- 文法 --■
userdel▲ユーザ名
例)
userdel▲miyazaki
ユーザを削除する
※▲はスペースを表してます。
■ 説明
userdelコマンドは、既存のユーザを削除するコマンドです。
ユーザを削除する場合に、オプションを指定しないでユーザ削除してしまうと、ユーザのホームディレクトリが残ったままになってしまいますので注意が必要です。(ホームディレクトリが残ると、余分なディスクスペースを使用してしまいます)
useraddコマンドでユーザーを追加する方法|オプションやsudo権限の付与も
「useraddで追加したはずなのに、ログインできない」
サーバー管理の基本であるユーザー管理は、手順を間違えるとセキュリティ事故に直結します。特に、ユーザーを追加した直後にパスワードを設定し忘れたり、不要な権限を与えてしまったりするトラブルは、現場で非常に多く見かけます。
この記事では、Linuxでユーザーを追加する
useradd コマンド の実践的な使い方を解説します。基本的なユーザー追加から、ホームディレクトリやシェルの指定、グループの設定、sudo権限の付与、そしてサービス専用ユーザーの作り方まで、実務で必要なノウハウをすべて網羅しました。
※
useradd コマンドは root ユーザー、または sudo を付けた状態で実行する必要があります。一般ユーザーで実行すると「Permission denied」エラーになります。view
ファイルの内容を表示する
■-- 文法 --■
view▲ファイル名
例)
view▲/var/log/messages
ファイルの内容を表示する
※▲はスペースを表してます。
■ 説明
viewコマンドは、ファイルの内容を表示するコマンドです。
使用方法としてはviと変わりませんが、ファイルへの書き込み権限がなく表示専用のコマンドです。変更してはいけないファイルに対して、内容を確認したい場合などに安全性の面からこのviewコマンドを使用すると良いでしょう。
sedコマンドで文字列を置換する方法|-iの一括置換やファイル編集も
「sedコマンドの書き方が複雑で、毎回ネットで調べてしまう」
サーバーの構築や設定変更で、設定ファイルの特定の文字列をまとめて置換したい場面は頻繁に発生します。
この記事では、テキストを加工する
sed(セド)コマンド の実践的な使い方を解説します。基本的な文字列置換から、ファイルを直接書き換える
-i オプション、正規表現を使った高度な置換、find との組み合わせによる複数ファイルの一括置換まで、実務で使える手順をまとめました。unexpand
スペースをタブに変換にする
■-- 文法 --■
unexpand▲(オプション)▲ファイル名
例)
unexpand▲-1▲-a▲space.txt
スペースをタブに変換にする
※▲はスペースを表してます。
■ 説明
unexpandコマンドはスペースをタブに置き換えます。前コマンドで紹介したexpandコマンドの逆の結果になります。
コマンドを実行する際には、引数として変換したいファイルを指定します。
expand
タブをスペースに変換にする
■-- 文法 --■
expand▲(オプション) ▲ファイル名
例)
expand▲-1▲tab.txt
タブをスペースに変換にする
※▲はスペースを表してます。
■ 説明
expandコマンドはタブを指定した数のスペースに置き換えるコマンドです。
オプションなしで実行した場合、タブをスペース7個として置き換えますが、
]オプションで数を設定することにより、スペースを好きな数の分だけ指定することができます。
逆に、スペースをタブへ変換するコマンドとして、unexpandがあります。
コマンドを実行する際には、引数として変換したいファイルを指定します。
paste
ファイルを行ごとに結合する
■-- 文法 --■
paste▲(オプション) ▲ファイル1▲ファイル2
例)
paste▲file1.txt▲file2.txt
ファイルを行ごとに結合する
※▲はスペースを表してます。
■ 説明
pasteコマンドは、ファイルを同じ行ごとに結合するコマンドです。
結合された出力結果はタブ区切りで出力されます。
コマンドを実行する際には、引数として行ごとに結合するファイルを
「ファイル1」、「ファイル2」として指定して実行します。
入力がファイルではない場合、標準入力が利用されます。
cutコマンドの使い方|区切り文字でフィールドを抽出する方法
こうしたテキスト処理で手軽に使えるのが、cutコマンドです。
この記事では、cutコマンドの基本的な使い方から区切り文字の指定、フィールド抽出、パイプとの組み合わせまで、実務で使える実践的な使い方を解説します。
awkコマンドの使い方|パターン検索やフィールド抽出の実践例
こうした場面で真っ先に頼りになるのが、awkコマンドです。
この記事では、awkコマンドの基本構文からフィールド抽出、パターンマッチ、パイプとの組み合わせまで、実務で使える実践的な使い方を解説します。
初心者がつまずきやすいポイントやトラブル対処も網羅しているので、ぜひ最後まで読んでみてください。
tac
ファイルを逆順に表示する
■-- 文法 --■
tac▲(オプション) ▲ファイル名
例)
tac▲test.txt
ファイルを逆順に表示する
※▲はスペースを表してます。
■ 説明
tacコマンドはファイル内の行を逆順にして表示します。
コマンドの意味どおりcatコマンドと表示が逆になります。
コマンドを実行する際には、引数に表示したいファイルを指定して実行します。
また、tacはコマンドのつづりもcatの逆になっています。
split
ファイルを決まった大きさに分割する
■-- 文法 --■
split▲(オプション) ▲ファイル名▲(プリフィックス)
例)
split▲-b▲1024▲acpid-1.0.3-2.i386.rpm▲acpid.
ファイルを決まった大きさに分割する
※▲はスペースを表してます。
■ 説明
splitコマンドは一つのファイルを一定の容量や行数を指定して分割するコマンドです。
主にフロッピーディスクなどのデバイスなどのデータを保存しきれない場合などに
ファイルを分割して保存するために使用するコマンドです。
オプションを付けずに実行した場合、1000行ごとにファイルを分割します。
また、分割ファイルのプリフィックス(接頭辞)を指定しない場合は、
「x」という(プリフィックス)が付けられます。
つまり、分割されたファイルはxaa、xab、xacをいうファイル名で分割されます。
wcコマンドで行数・単語数をカウントする方法|パイプ連携やログ集計も
wc(ワードカウント)コマンドです。この記事では、
wc コマンド の実践的な使い方を解説します。基本的な行数・単語数・バイト数のカウントはもちろん、
grep や find とパイプで組み合わせた実務頻出パターン、シェルスクリプトでの活用法まで、現場で使えるテクニックをまとめました。tee
標準出力をモニタとファイルへ出力する
■-- 文法 --■
tee (オプション) (ファイル)
例)
tee▲-a▲test.txt
標準出力をモニタとファイルへ出力する
※▲はスペースを表してます。
■ 説明
teeコマンドは処理結果を、画面に表示すると共にファイルへの出力も行うコマンドです。
通常、出力結果は画面に表示され、標準出力で「>」や「>>」を指定しないと、
ファイルへ保存されることはありません。
また標準出力でファイルへ結果を保存した場合には、処理結果は画面に表示されません。
このteeコマンドを使用すると、処理結果が画面に表示されるとともにファイルへも保存されます。
source
シェルの設定ファイルを読み込む
■-- 文法 --■
source▲設定ファイル名
例)
source▲./.bashrc
シェルの設定ファイルを読み込む
※▲はスペースを表してます。
■ 説明
エイリアスや変数の設定などは、bashの設定ファイル(.bashrc)に記述されており、ログイン時やログアウト時に読み込まれることで設定を反映させています。しかし、これらの設定を変更した場合、再度ログアウトまたはログインしなおさなければ設定が反映しません。
そのような場合にこのsourceコマンドを実行すると変更内容を即時反映させることができます。
unset unsetenv
シェル変数・環境変数を削除する
■-- 文法 --■
unset▲変数
unsetenv▲環境変数
例)
unset▲$HOME
環境変数を削除する(bsh)
※▲はスペースを表してます。
■ 説明
unsetコマンドはbshでは環境変数とシェル変数を削除します。
またcshでは、シェル変数を削除します。
cshで環境変数を削除するにはunsetenvコマンドを使用します。
実行する際にはそれぞれのコマンドの引数として
シェル変数名及び、環境変数名をそれぞれ指定します。
env
環境変数を設定・確認する(bsh/csh)
■-- 文法 --■
env▲(オプション)▲(環境変数=値)
例)
env▲HOME=/home/pakira
環境変数を設定する
※▲はスペースを表してます。
■ 説明
envコマンドは現在設定されている環境変数を確認・設定するコマンドです。
引数無しでenvコマンドを実行した場合には、設定されている環境変数を
すべて表示します。
また、環境変数を設定する場合には、「環境変数=値」という形式で指定して設定します。
envコマンドはbsh、cshともに共通で使用することができます。
但し、envコマンドで設定した環境変数はログアウトすると無効になります。
setenvコマンドで環境変数を設定する方法|csh・tcshの書き方とbash exportとの違い
「bashでは export を使うのに、csh では setenv? 違いがよく分からない」
Linuxサーバーの運用では、シェルの種類によって環境変数の設定方法が異なるため、混乱するエンジニアが少なくありません。
この記事では、csh/tcsh環境で環境変数を設定する
setenv コマンドの使い方を解説します。基本的な書き方から、bashの export との違い、設定を永続化する方法、トラブル対処まで、実務で必要な知識をまとめました。1. setenvコマンドとは? bashのexportとの違い
setenv は、csh(Cシェル)および tcsh で環境変数を設定するコマンドです。bash(Bourneシェル系)の export に相当します。| 項目 | csh / tcsh | bash / sh / zsh |
|---|---|---|
| 環境変数の設定 | setenv 変数名 値 |
export 変数名=値 |
| 環境変数の削除 | unsetenv 変数名 |
unset 変数名 |
| 環境変数の一覧表示 | setenv(引数なし) |
env または printenv |
| 区切り文字 | スペース(変数名と値の間) | =(イコール) |
| 設定ファイル | ~/.cshrc / ~/.tcshrc |
~/.bashrc / ~/.bash_profile |
export HOME=/home/user と「=」を使いますが、cshでは setenv HOME /home/user と「スペース」で区切ります。「=」を使うとエラーになるため気をつけてください。export
環境変数を設定する(bsh)
■-- 文法 --■
export▲(環境変数=値)
例)
export▲HOME=/home/pakira
環境変数を設定する
※▲はスペースを表してます。
■ 説明
exportコマンドはbshの環境変数を設定、有効にするコマンドです。コマンドを実行する際には「環境変数=値」という形式で環境変数を指定し、複数の値を設定する際には、コロン(;)で区切って指定します。
また、設定した変数を参照するには変数名の前に「$」をつける必要があります。exportコマンドのみを実行した場合には、現在設定されている環境変数一覧を表示します。
set
シェル変数を表示・設定する
■-- 文法 --■
set▲(変数=値)
例)
set▲NAME=pakira
シェル変数を設定する
※▲はスペースを表してます。
■ 説明
setコマンドはシェル内部のコマンドで、シェル変数を表示したり、
設定したりするコマンドです。
シェル変数を表示する場合にはsetコマンドのみを実行します。
また、シェル変数を設定する場合には、シェルによって異なりますが、
bsh、bashの場合は「変数=値」で、cshの場合は「set 変数=値」と指定し実行します。
また、設定した変数を参照するには変数名の前に「$」をつける必要があります。
reboot
システムを再起動する
■-- 文法 --■
reboot
例)
reboot
システムを再起動する
※▲はスペースを表してます。
■ 説明
rebootコマンドはシステムを再起動するコマンドです。
実行する際には、引数なしで実行します。
このコマンドを実行する際にはスーパーユーザ権限が必要です。
shutdown
システムをシャットダウン(終了)、再起動する
■-- 文法 --■
shutdown▲(オプション)▲(時間)▲(メッセージ)
例)
shutdown▲-h▲now
システムをシャットダウンする
※▲はスペースを表してます。
■ 説明
shutdownコマンドは、システムのシャットダウン(終了)、再起動をする際に使用するコマンドです。
shutdownコマンドが実行されると、ユーザーへシステムが終了するメッセージが送付されます。
これは、Linuxはマルチユーザ環境なため、ログインしているユーザーに利用の終了を促す必要があるためです。
また、shutdownコマンドは引数に時間を指定することで、指定した時間分の猶予をもってシステムを終了します。
なお、shutdownコマンドはスーパーユーザー(root)のみ実行することができます。
logout
ログアウトする
■-- 文法 --■
logout
例)
logout
ログアウトする
※▲はスペースを表してます。
■ 説明
logoutコマンドはシステムからログアウトするためのコマンドです。
実行する際には引数などの指定はありません。
実行するとログアウトが実行され、ログインプロンプトが表示されます。
exit
ログアウトする
■-- 文法 --■
exit
例)
eixt
ログアウトする
※▲はスペースを表してます。
■ 説明
exitコマンドは、Linuxシステムからログアウトする際に使用するコマンドです。
同じログアウトコマンドにlogoutコマンドがあります。
logoutコマンドは、サブシェルを使用できませんが、exitコマンドならサブシェルを実行できます。
ログインシェルを利用していない状態でlogoutを実行すると、ログアウトすることが出来ませんが、
exitコマンドは、現在利用しているシェルのプロセスを終了させ、最後にログインシェルを
終了することでログアウトすることが出来ます。
cal
カレンダーを表示する
■-- 文法 --■
cal (オプション) (月 西暦)
例)
cal▲カレンダーを表示する
※ ▲はスペースを表してます。
■ 説明
calコマンドは、コンソール画面上でカレンダー表示をするコマンドです。
オプションを設定することで、表示方法をさまざまな形に変えることができます。
at
指定した時間にジョブ(コマンド)を実行する
▼ 文法
at (オプション)(時間)
■ 説明
atコマンドは指定した時刻に指定したジョブを実行する為のコマンドです。
例えば、指定した時間にバックアップをとったり、
システムの再起動を実行する場合などに使用します。
touchコマンドでファイルを作成・タイムスタンプを変更する方法|空ファイルや日付変更も
「ファイルの更新日時を特定の日付に変更したいのに、オプションの書式がわからない」
Linuxの現場では、ログ管理やバックアップの基準日設定、シェルスクリプトでのロックファイル作成など、ファイルのタイムスタンプを操作する場面が意外と多くあります。
この記事では、Linuxの
touch コマンドの基本から実務で役立つ応用テクニックまで解説します。空ファイルの作成、タイムスタンプの変更(
-t/-d オプション)、参照ファイルからの日時コピー(-r)、find との組み合わせによる一括変更、トラブルシュートまで網羅しました。umount
デバイスマウントの利用を解除する
■-- 文法 --■
umount (オプション)マウントポイント or デバイス名
例)
umount▲/media/cdrom
デバイスマウントの利用を解除する
※▲はスペースを表してます。
■ 説明
umountコマンドは、マウントされているファイルシステムを解除するために使用するコマンドです。
実行方法としては、引数としてマウントポイントを指定するか、デバイス名を指定します。
mtools
MS-DOSフォーマットフロッピーを操作する
■-- 文法 --■
mtools
■ 説明
mtoolsは、MS-DOSフォーマットのフロッピーディスクを操作するためのコマンドを集めたツールです。「mtools」と入力するすると、mtoolsコマンド集が表示されます。
dfコマンドでディスク容量を確認する方法|使用率の見方や容量不足の対処も
「dfコマンドを実行したけど、tmpfsが大量に並んで肝心のディスク情報が見づらい」
Linuxサーバーの運用で、こうした場面に遭遇したことはないでしょうか。
この記事では、Linuxの
df コマンドを使ってディスク容量や使用率を確認する実践的な手順を解説します。基本的なオプション(-h・-T・-i)の使い方から、tmpfsを除外して見やすくする方法、dfとduの違い、iノード枯渇への対処、ディスク使用率の自動監視スクリプトまで、現場で必要な知識をまとめました。
fdformat
フロッピーディスクをフォーマットする
■-- 文法 --■
fdformat デバイス
例)
fdformat▲/dev/fd0h1440
フロッピーディスクをフォーマットする
※▲はスペースを表してます。
mount
ファイルシステムを利用する
■-- 文法 --■
mount (オプション) デバイス
例)
mount▲-t▲iso9660▲-r ▲/dev/scd0▲/mnt/cdrom
ファイルシステムを利用する
※▲はスペースを表してます。
■ 説明
mountコマンドは、CDやDVD、フロッピーディスクを使用する際に実行するコマンドです。UNIXシステムではデバイスを使用する際に必ずルートディレクトリにマウントする必要があります。そこで、マウントされていないデバイスを使用する際にこのmountコマンドを実行します。
rpm
RPMパッケージを管理する
■-- 文法 --■
rpm (オプション) パッケージ名
例)
rpm▲-q▲example.rpm
RPMパッケージを管理する
※▲はスペースを表してます。
■ 説明
rpmコマンドはRedhatLinux社が開発したパッケージ管理のコマンドです。
rpmは、「Redhat Package Manager」の略で、パッケージのインストール、
アンインストール、問い合わせ、検証、アップデートなどの操作を行うことができ、
Linuxのソフトウェアを簡単に管理することができます。
RPM形式は、一種の圧縮されたアーカイブで、パッケージされたファイルや
参照するファイルのデータベースを保持しています。
RedHat系のLinuxでサポートされており、各種のソフトウェアが簡単に
インストール、アンインストールできるようになっています。
make
ソースコードのメイクとインストール
■-- 文法 --■
例)
make
ソースコードのメイクとインストール
※▲はスペースを表してます。
■ 説明
makeコマンドは、コンパイラを起動させてプログラムのソースコードをコンパイル・リンクさせる処理を行います。
UNIXシステムで使用される多くのプログラムは「Makefile」と呼ばれるコンパイルとリンクを行行わせるファイルと、システム環境の情報収集を行う「configure」というファイルを含むかたちで提供されるため、ソースコードでプログラムをインストールする際、必要になるコマンドです。
インストールを実行するにはスーパーユーザ権限が必要になります。
gcc
プログラムをコンパイルする(C言語)
■-- 文法 --■
gcc (オプション) ソースプログラム名
例)
gcc▲-o▲test.c
プログラムをコンパイルする
※▲はスペースを表してます。
cc
プログラムをコンパイルする(C言語)
■-- 文法 --■
cc (オプション) ソースプログラム名
例)
cc▲-o▲test.c
プログラムをコンパイルする
※▲はスペースを表してます。
restore
ファイルを復元する
■-- 文法 --■
restore (オプション) ファイル名
例)
restore▲tf▲/home/pakira
ファイルを復元する
※▲はスペースを表してます。
tarコマンドで圧縮・解凍(展開)する方法|必須のzxvfやディレクトリ指定も
「ディレクトリごとバックアップとして圧縮したいけど、オプションが多すぎて覚えられない」
Linuxを触り始めたエンジニアが必ず一度は壁にぶつかるのが、この
tar(ター)コマンドです。この記事では、Linux環境でファイルやディレクトリを圧縮・解凍(展開)する
tar コマンドの実践的な使い方を解説します。単なるオプション一覧の羅列ではなく、現場で必ず使う「黄金の組み合わせ(zxvf / zcvf)」や、解凍先ディレクトリの指定(-C)など、実務で迷わないための鉄則をまとめました。
1. 解凍(展開)の黄金パターン「tar -zxvf」
ネット上で配布されているLinux用ソフトウェアのほとんどは、.tar.gz という形式で圧縮されています。これを解凍(展開)するには、以下のコマンドを丸暗記しておけば間違いありません。
# tar -zxvf ファイル名.tar.gz
・
z:gzip形式(.gz)を扱う・
x:解凍(eXtract)する・
v:処理したファイル名を画面に詳細表示(Verbose)する・
f:対象のファイル名を指定(File)する※
f f オプションの直後には必ずファイル名が来なければなりません。tar -zxfv のように f の後ろに別のオプション文字を置くと、v をファイル名として解釈しようとしてエラーになります。慣例として f は一番最後に置くと覚えておくと安全です。
特定のディレクトリに解凍する(-C)
デフォルトでは、コマンドを実行した「現在のディレクトリ」に解凍されてしまいます。「/opt」や「/usr/local」など、別のディレクトリを指定して解凍したい場合は
-C(大文字のシー)オプションを追加します。これも実務で頻出する必須テクニックです。# /opt ディレクトリ配下に解凍する # tar -zxvf sample.tar.gz -C /opt/
dump
ファイルシステムのバックアップをとる
■-- 文法 --■
dump (オプション) ファイルシステム
例)
dump▲-f▲/home
ファイルシステムをバックアップする
※▲はスペースを表してます。
gunzip
圧縮ファイルを復元する
■-- 文法 --■
gunzip (オプション) ファイル名
例)
gunzip▲-v▲test.tar.gz
gunzip形式圧縮ファイルを伸張する
※▲はスペースを表してます。
■ 説明
gunzipコマンドは、gzip形式で圧縮されたファイル(サフィックスがgz)を復元するコマンドです。
これは、gzipコマンドに「-d」オプションを付けた場合と同じになります。
コマンドを実行する際は、gunzipコマンドの引数として、
圧縮されたファイルを指定して実行します。
また、複数のファイルを一度に復元することもでき、その際はスペースで
区切って圧縮ファイルを指定します。
また、gunzipコマンドは、gzipコマンドで圧縮されたファイルだけではなく、
compressコマンドで圧縮されたファイルも復元できます。
・関連コマンド
gzipコマンド
uncompress
圧縮したファイルを解凍する
■-- 文法 --■
uncompress (オプション) (ファイル名)
例)
uncompress▲-f▲pakira.txt
ファイルを解凍する
※▲はスペースを表してます。
■ 説明
uncompressコマンドは、圧縮されたファイルを復元するコマンドです。
uncompressコマンドは、compressコマンドで圧縮された接尾語(サフィックス)が
「.Z」のファイルを復元します。
uncompressコマンドを、ファイル名を指定せずに実行した場合、
標準入力から圧縮されたデータを読み込み、復元したデータを
標準出力に出力します。
接尾語(サフィックス)が「.Z」のファイルを引数として指定すると、
指定されたファイルから圧縮されたデータを読み込み、
もとのファイル名からサフィックス「.Z」を取り除いたファイル名で
復元したデータを保存します。復元処理が終了すると、
もとのファイルは削除されます。
また、「-c」オプションを指定すると、圧縮結果は標準出力に出力され、
これをファイルにリダイレクトすることで、もとの圧縮ファイルを
残したまま復元ファイルを作成できます。
gzip
ファイルを圧縮する
■-- 文法 --■
gzip (オプション) (ファイル名)
例)
gzip▲-v▲pakira.txt
ファイルを圧縮する
※▲はスペースを表してます。
■ 説明
gzipコマンドは、compressとともに入力データを圧縮するコマンドです。
gzipコマンドをファイル名を指定せずに実行すると、標準入力から
データを読み込み、圧縮したデータを標準出力します。
ファイル名を引数として指定すると、指定されたファイルからデータを
読み込み、元ファイルに「.gz」を付加したファイルを出力します。
圧縮処理が完了すると、元ファイルは削除されます。
compressコマンド
gzipで圧縮したファイルは、gzipコマンドに「-d」オプションを指定して
実行することで伸長することができます。また、gzipコマンドは
compressコマンドで圧縮したファイルも伸長できます。
compress
ファイルを圧縮する
■-- 文法 --■
compress (オプション) (ファイル名)
例)
compress▲-v▲pakira.txt
ファイルを圧縮する
※▲はスペースを表しています。
■ 説明
compressコマンドは、gzipとともに入力データを圧縮するコマンドです。
compressコマンドは、ファイル名を指定せずに実行すると、標準入力から
データを読み込み、圧縮したデータは、標準出力に出力します。
ファイル名を引数に指定すると、指定したファイルからデータを読み込み、
元のファイル名にサフィックス(接尾辞)「.Z」を付加したファイル名に
圧縮したデータを出力します。
圧縮処理が終了すると、元ファイルは削除されます。
また、「-c」オプションを指定すると、圧縮結果は標準出力に出力され、
これをファイルにリダイレクトすることで、元のファイルを残したまま
圧縮ファイルを作成できます。
compressで圧縮したファイルを復元(伸長)するには、
uncompressコマンドを使用します。
環境によっては、compressコマンドがインストールされていない場合があります。
そのような場合は、下記コマンドを実行して、compressコマンドをインストールします。
# yum -y install ncompress
nkf
■-- 文法 --■
nkf (オプション) (ファイル名)
例)
nkf▲-canna
文字コード変換する
※▲はスペースを表してます。
■ 説明
日本語には、複数の文字コードが存在するため、利用環境によって用いられる
文字コードが違います。異なる環境間でファイルのやりとりを行う場合、
そのままでは、文字化けしてしまい、読めない事があります。
そのような時に文字コードを変換を行うのがnkfコマンドです。
※nkf=Network Kanjicode conversion Filter
nkfコマンドが対応している文字コードは、JIS、Shift-JIS、EUCになり、
それぞれの文字コード間の変換が行えます。
kinput2
■-- 文法 --■
kinput2 (オプション)
例)
kinput2▲-canna
日本語入力を起動する
※▲はスペースを表してます。
■ 説明
kinput2コマンドは、X Window System標準の日本語入力システムです。
kinput2を起動することで、キーボードから入力した内容を日本語に変換できます。
kinput2コマンドは、以下のかな漢字変換サーバーに対応しています。
漢字変換サーバーは、起動時のオプションで切り替えが行えます。
kinput2の対応する漢字変換サーバー
・Wnn(jserver)
・Canna(Cannaサーバー)
・Sj3
また、以下のX windowのクライアントアプリケーションとの
各種通信プロトコルに対応しており、これらのプロトコルをサポートしている
アプリケーションでkinput2を使用した日本語入力が可能です。
kinput2のサポートする変換プロトコル
・kinput
・kinput2
・jinput
・xlc
・XIMP
・XIM
hostname
サーバーのホスト名を表示、設定する
■-- 文法 --■
hostname (オプション) (ホスト名)
例)
hostname▲-s▲pakira
ホスト名を表示する
※▲はスペースを表してます。
■ 説明
hostnameコマンドは、システムに設定されているホスト名を表示するコマンドです。オプションを指定せずにコマンドを実行するとFQDN(Full Qualified Domain Name)と呼ばれるドメインを含めた形のホスト名を表示します。
また、hostnameコマンドの引数として、ホスト名を指定すると、システムのホスト名を変更することができます。このホスト名の変更を実行できるのはスーパーユーザ(root)のみです。ホスト名とは、ネットワーク上でコンピュータを区別するために付けられる名前になり、windowsネットワークで表示される
コンピュータ名に相当します。
domainname
サーバーのドメイン名を表示、設定する
■-- 文法 --■
domainname (ドメイン名)
例)
domainname▲pakira
ドメイン名を表示する
※▲はスペースを表してます。
■ 説明
domainnameコマンドは、NISドメイン名を表示、設定することができます。NISドメイン名を設定するには、domainnameコマンド名の引数にドメイン名を指定して実行することで、設定、変更することができます。
ただし、domeinnameコマンドで確認、設定できるのは、NIS/YPのドメイン名になります。DSNドメイン名とはことなりますので、注意してください。
groups
ユーザがどのグループに所属しているか表示する
■-- 文法 --■
groups (ユーザー名)
例)
groups▲pakira
グループを表示する
※▲はスペースを表してます。
■説明
groupsコマンドは、ユーザーが所属しているグループ名を表示します。
引数なしで実行した場合、コマンドを実行したユーザーが所属する
グループ名を表示します。
ユーザー名を引数に指定して実行すると、指定したユーザーが
所属するグループが表示されます。
id
ユーザー名やID、グループを確認する
■-- 文法 --■
id (オプション) (ユーザー)
例)
id▲pakira
ユーザID、グループID、グループを表示する
※▲はスペースを表してます。
■説明
idコマンドは、ユーザーのユーザーID(ユーザー名)やグループID(グループ名)を表示します。
引数なしで実行すると、コマンドを実行したユーザーの情報を表示します。
引数にユーザーID、またはユーザー名を指定すると、指定されたユーザーの情報を表示します。
複数のグループに所属している場合は、オプション「-G」を付けることで、
そのユーザーが所属しているグループも表示できます。
また、ログインした後に、suコマンドで他のユーザーになっている場合は、
現在その権限で作業しているユーザーの情報が表示されます。
dateコマンドの使い方|日付・時刻の表示から書式指定・設定変更まで
「シェルスクリプトで日付付きファイル名を作りたい」
こうした場面で欠かせないのが、dateコマンドです。
この記事では、dateコマンドの基本的な使い方から書式指定、相対日付の指定、シェルスクリプトでの活用法まで、実務で必要な知識をまとめて解説します。
nice
ジョブの優先順位を変更する
■-- 文法 --■
例)
nice
ジョブの優先順位を変更する
※▲はスペースを表してます。
■ 説明
niceコマンドは、指定したコマンドの優先度を指定して実行する際に使用します。
実行するコマンドの優先度、重要度によってコマンド処理の優劣を指定し、
効率よくコンピュータ資源を使用するためのコマンドです。
たとえば、緊急度の高いコマンドを優先的に処理することができます。
LinuxはTSS(Time Sharing System)と呼ばれる「時分割処理」でCPUを使用しています。
このシステムは、一つしかないCPUを使って、複数の処理を同時に実行するために
考えられたシステム(マルチタスクと呼びます)です。
優先度を指定しないでコマンドを実行した場合、
すべてのコマンドが同じ優先度で実行されます。
niceコマンドで指定できる優先度を「nice値」と呼びます。
nice値を指定せずにコマンドを実行した場合、nice値は「10」になります。
root(スーパーユーザ)は、より高い優先度を指定できますが、
一般ユーザーは優先度を下げて実行することしかできません。
また、nice値の範囲は「+19」から「-20」まで指定できます。
マイナス値になればなるほど、優先度は高くなります
psコマンドでプロセスを確認する方法|auxと-efの違いやgrep検索も
「サーバーが重いので、CPUやメモリを食い潰している原因のプログラムを特定したい」
Linuxサーバーを運用していると、システム内で現在どんなプログラム(プロセス)が動いているのかを確認する場面に必ず直面します。
この記事では、現在実行中のプロセスを表示する
ps コマンド の使い方を解説します。現場のエンジニアが必ず使う2つの定番オプション(
aux と -ef)の違いから、grep コマンドと組み合わせて特定のプロセスだけを抽出する実務テクニックまで、トラブル対応で絶対に役立つノウハウをまとめました。1. 現場で使うpsコマンドの「2大巨頭」
ps コマンドには非常に多くのオプションがありますが、実務で使うのは実質的に以下の2パターンだけです。この2つさえ覚えておけば現場で困ることはありません。パターンA: ps aux (BSD系オプション)
Linux界隈で最もポピュラーな組み合わせです。システム上で動いている「すべてのユーザー」の「すべてのプロセス」を、CPUやメモリの使用率も含めて詳細に表示します。(※ハイフンは付けません)# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 123456 4567 ? Ss 10:00 0:05 /usr/lib/systemd/systemd apache 12345 0.1 1.5 543210 34567 ? S 10:15 0:01 /usr/sbin/httpd -DFOREGROUND
kill コマンドを使う時に必要)・%CPU / %MEM: CPUとメモリの使用率
・COMMAND: 実行されているコマンド名
パターンB: ps -ef (System V系オプション)
もう一つの定番が-ef です。こちらもすべてのプロセスを表示しますが、親プロセス(PPID)の情報が表示されるため、プロセスの親子関係を調べたい時によく使われます。# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 10:00 ? 00:00:05 /usr/lib/systemd/systemd apache 12345 12344 0 10:15 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
【結論】どちらを使うべきか?
CPUやメモリの使用率も見たいならps aux を、プロセスの親子関係(誰がどのプログラムを起動したか)を追いたいなら ps -ef を使うのが現場のセオリーです。killコマンドでプロセスを終了する方法|シグナルの違いやkillallも
「kill -9 で強制終了していいのか、毎回不安になる」
サーバー運用の現場では、応答しなくなったプロセスを安全に停止させる必要がある場面に必ず遭遇します。
この記事では、プロセスにシグナルを送る
kill(キル)コマンド の実践的な使い方を解説します。SIGTERM と SIGKILL の違いから、プロセス名で終了できる
killall / pkill、ゾンビプロセスへの対処法まで、現場で安全にプロセスを管理するためのノウハウをまとめました。jobs
バックグラウンドジョブの状況を表示する
■-- 文法 --■
例)
jobs
ジョブの状況を表示する
※▲はスペースを表してます。
■ 説明
jobsコマンドは、コマンドラインからユーザが実行したコマンド(バックグラウンドジョブ)の
状況を表示するために使用します。
表示される情報は、ジョブ番号、ジョブのステータス、ジョブの内容になります。
引数にジョブ番号を指定すると、そのジョブ番号が割り当てられているジョブの状況を表示します。
■プロセスIDとジョブ番号の違い
プロセスIDは、Linuxが起動してから実行されたすべてのプロセスに順番に振られます。
しかし、ジョブ番号は、ユーザーがそのシェル上で実行したバックグラウンドジョブのみに振られます。
ジョブ番号は、fgコマンドでバックグラウンドジョブをフォアグランドで実行したり、
killコマンドでジョブを強制終了する時に、対象のジョブを指定するのに使用されます。
historyコマンドでコマンド履歴を表示・検索する方法|日時表示や削除も
「さっき打った長いコマンドをもう一度使いたいのに、思い出せない」
Linuxでの作業中、こうした場面は日常的に起こります。
この記事では、Linuxの
history コマンドを使ってコマンド履歴を表示・検索・削除する実践的な方法を解説します。基本的な履歴表示だけでなく、実行日時の表示(HISTTIMEFORMAT)、履歴の検索(Ctrl+R)、重複排除(HISTCONTROL)、セキュリティ対策まで、現場で役立つテクニックをまとめました。
lynx
■-- 文法 --■
lynx (オプション) パス、又はURLアドレス
例)
lynx▲URLアドレス
テキストベースでWEBページを表示する
※▲はスペースを表してます。
■ 説明
lynxコマンドは、テキストベースのWebブラウザです。
internet explorerやfirefox、Google chromeとは違い、GIFやJPGなどのグラフィカルな
表示はできませんが、コンソールのようなテキストしか表示出来ない環境でも、
Webページを表示することができます。
引数を指定せずにlynxコマンドを実行すると、デフォルトで設定されているホームページを
表示します。(CentOS6.3の場合は、CentOSのホームページを表示)
lynxコマンドを実行後に、lynxの操作コマンド「o」を入力すると、
ブラウザのオプションの設定画面を呼び出せます。
pingコマンドの使い方|疎通確認の基本からオプション・トラブル対処まで
こうしたトラブルの初動で最初に使うのが、pingコマンドです。
この記事では、pingコマンドの基本的な使い方からオプション指定、結果の読み方、そして「pingが通らない」ときのトラブル対処まで、実務で必要な知識をまとめて解説します。
ifconfig
ネットワークインターフェイスの動作状況を確認する
■-- 文法 --■
ifconfig インターフェイス (オプション)
例)
ifconfig▲ipアドレス
ネットワークインターフェイスのIPアドレスの設定をする
※▲はスペースを表してます。
■ 説明
ifconfgコマンドは、ネットワークインターフェイスの情報を表示したり、設定するコマンドです。
ifconfgコマンドの引数にネットワークインターフェイスを指定して実行すると、
そのネットワークインターフェイスに現在設定されているに内容を表示します。
また、引数にネットワークインターフェイスと、オプションを指定すると、
ネットワークインターフェイスの設定を変更できます。
但し、設定を変更できるのは、rootのみになります。
netstat
ネットワーク情報を表示する
■-- 文法 --■
netstat (オプション) インターフェース
例)
netstat▲-a
ネットワークに関するすべての情報を表示する
※▲はスペースを表してます。
■説明
netstatコマンドは、ネットワークの使用状況を表示させる際に使用するコマンドです。
オプションなしで実行した場合は、コマンド実行時に使用可能なソケットと呼ばれる
ネットワークアドレスを表示します。
また、オプションを指定することで、ルーティングテーブルや詳細情報を表示することができます。
メールを送受信する
■-- 文法 --■
mail (オプション) 送信先アドレス
例)
mail▲pakira
ユーザpakiraへメールを送信する
※▲はスペースを表してます。
■ 説明
mailコマンドは、メーラーを使用しないで指定したメールアドレスへメールを送信します。通常のメーラーから比べれば、機能は劣りますがコマンドラインからメールを送信するすることが可能なので、メールの配信テストや、シェルスクリプトなどに組み込むことで利用されることが多いです。このコマンドを使用するには、Linuxのサービス設定で「SMTP」を有効する必要があります。
which
実行されているコマンドのプログラムが格納されているディレクトリを表示する
■-- 文法 --■
which コマンド
例)
which▲cp
「cp」のプログラムコマンドが格納されているディレクトリを表示する
※▲はスペースを表してます。
whereis
コマンドが格納されているディレクトリを表示する
■-- 文法 --■
whereis (オプション) コマンド
例)
whereis▲ls
「ls」コマンドが格納されているディレクトリを表示する
※▲はスペースを表してます。
find
ファイルを検索する
■-- 文法 --■
find (パス) 検索条件
例)
find▲/home/usr/pakira▲-name▲pakira.dat
「/home/usr/pakira」ディレクトリのなかから「pakira.dat」ファイルを検索する
※▲はスペースを表してます。
diffコマンドでファイルを比較する方法|unified形式やディレクトリ比較も
「本番サーバーにデプロイする前に、設定ファイルの差分を確認したい」
Linuxでサーバーを管理していると、設定ファイルの変更箇所を正確に把握する場面が頻繁にあります。
この記事では、diffコマンドの基本から、実務で最も使われるunified形式(-u)やディレクトリ比較(-r)、パッチの作成・適用まで、現場で必要な使い方をすべて解説します。
uniq
重複している行はまとめて表示する
■-- 文法 --■
uniq (オプション) 入力ファイル名 出力ファイル名
例)
uniq▲infile.txt▲outfile.txt
ファイルの重複行をまとめて表示する
※▲はスペースを表してます。
sortコマンドでテキストを並び替える方法|数値ソートやフィールド指定も
「CSVの特定の列でソートしたいけど、やり方がわからない」
Linuxのsortコマンドは、テキストデータの並び替えに欠かせないコマンドです。ログ解析、設定ファイルの確認、データの集計など、サーバー管理のあらゆる場面で使います。
この記事では、sortコマンドの基本から、数値ソート・フィールド指定・重複削除まで、実務で必要になるオプションをすべて解説します。「100が2より前に来る」という初心者がハマりやすい落とし穴と、その対処法もしっかり押さえましょう。
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
tailコマンドでログ監視する方法|tail -fの使い方やgrep連携も
「tail コマンドでファイルの末尾を表示できるのは知っているけど、オプションの使い分けが曖昧」
Linuxサーバーの運用保守で、ログファイルをリアルタイムに監視する場面は毎日のように訪れます。
この記事では、Linuxの
tail コマンドの基本的な使い方から、実務で最も重要な tail -f によるリアルタイム監視、grep との組み合わせによる特定ログの抽出、ログローテーションに対応する -F オプション、さらに journalctl -f との使い分けまでを解説します。headコマンドでファイルの先頭を表示する方法|行数指定やパイプ活用も
「ログファイルの冒頭だけ見たいのに、lessを開くほどでもない」
ファイルの中身を全部見る必要がない場面は、実務では意外と多いものです。
この記事では、ファイルの先頭部分だけを表示する
head(ヘッド)コマンド の実践的な使い方を解説します。基本的な先頭表示から、行数・バイト数の指定、パイプとの組み合わせ、複数ファイルの同時表示まで、現場で使うテクニックをまとめました。
headコマンドとは?(tailとの違い)
head はファイルの先頭(最初の部分)を表示するコマンドです。名前のとおり「頭」の部分だけを取り出します。反対にファイルの末尾を表示する
tail コマンドと対になるコマンドで、どちらもオプションを省略すると 10行 を表示します。・
head:ファイルの先頭から表示する(設定ファイルのヘッダー確認、CSVの構造把握に便利)・
tail:ファイルの末尾から表示する(ログの最新部分を確認するのに便利)設定ファイルの冒頭を確認したり、CSVやTSVの1行目(ヘッダー行)を見たりする場面では
head の方が適しています。pg
ファイルの内容を画面ずつ表示する
■-- 文法 --■
pg (オプション) ファイル名
例)
pg▲new_file.txt
「new_file.txt」のファイル内容を画面ずつ表示する
※▲はスペースを表してます。
lessコマンドでファイルを閲覧する方法|検索やスクロール操作も
「moreコマンドだと前に戻れなくて不便」
Linuxでファイルの内容を確認する場面は日常的にありますが、catコマンドで大きなファイルを開くと、画面が一瞬で流れてしまい、肝心な部分を見逃してしまいます。
この記事では、lessコマンドの基本操作から、検索・行番号表示・パイプとの組み合わせまで、現場で必須の使い方をまとめて解説します。
lessを使いこなせるようになると、ログ調査やファイル確認の効率が大幅に上がりますので、ぜひ最後まで読んでみてください。
more
ファイルの内容を画面ずつ表示する
■-- 文法 --■
more (オプション) ファイル名
例)
more▲new_file.txt
「new_file.txt」のファイル内容を画面ずつ表示する
※▲はスペースを表してます。
catコマンドでファイル内容を表示する方法|結合やリダイレクトの使い方も
「複数のログファイルを1つにまとめたいけど、どうすればいいか分からない」
Linuxを使い始めて最初に覚えるコマンドの1つが、ファイルの中身を表示する
cat コマンドです。この記事では、
cat(キャット)コマンド の実践的な使い方を解説します。基本的なファイル表示から、行番号の付与、複数ファイルの結合、リダイレクトによるファイル作成・追記まで、実務で必要になる操作をまとめました。
file
ファイルの種類を表示する
■-- 文法 --■
file ファイル名
例)
file▲out.txt
ファイルの種類を表示する。実行結果 out.txt: ASCII text
※▲はスペースを表してます。
chgrp
ファイルのグループを変更する
■-- 文法 --■
chgrp グループ ファイル名
例)
chgrp▲pakira▲index.html
「index.html」ファイルのグループを「pakira」へ変更する
※▲はスペースを表してます。
chownコマンドで所有者・グループを変更する方法|-Rの一括変更も
「rootユーザーで作った設定ファイルを、一般ユーザーで編集しようとしたら怒られた」
Linuxサーバーの運用で「権限エラー(Permission denied)」が起きた時、chmodコマンドと並んで必ずチェックすべきなのが「ファイルの所有者」です。
chmod が「誰に何をさせるか(読み・書き・実行の許可)」を制御するのに対し、chown は「そのファイルが誰のものか(所有者)」を変更するコマンドです。この記事では、ファイルやディレクトリの所有者・グループを変更する
chown(チェンジオーナー)コマンド の実践的な使い方を解説します。基本的な所有者の変更から、ユーザーとグループを同時に変更する書き方、ディレクトリの中身ごと一括で変更する
-R オプションまで、実務でトラブルを解決するための必須ノウハウをまとめました。※
chown コマンドは原則として root ユーザー、または sudo を付けた状態でのみ実行できます。一般ユーザーで実行すると「Operation not permitted」エラーになります。1. 現在の所有者とグループを確認する(ls -l)
chown コマンドで変更を行う前に、まずは現在のファイルの所有者が誰になっているかを確認するのが鉄則です。ls -l コマンドを使用します。# ls -l sample.txt -rw-r--r-- 1 root root 1024 Feb 24 10:00 sample.txt
root が「所有ユーザー」、4番目の root が「所有グループ」を表しています。umaskコマンドの使い方|パーミッション初期値の確認・変更と永続化
「なぜ644になるのか理由が分からない」
こうした疑問を解決するのが、umaskコマンドです。
この記事では、umaskの仕組みからパーミッション初期値の確認・変更方法、永続化の設定まで、実務で押さえておくべきポイントを解説します。
chmodコマンドで権限を変更する方法|755と644の違いや一括変更も
「Webサーバーにファイルをアップしたのに、403 Forbiddenエラーが出て表示されない」
「スクリプトを実行しようとしたら Permission denied と怒られる」
Linuxサーバーを運用していると、こうした権限(パーミッション)周りのトラブルに必ず直面します。
この記事では、ファイルやディレクトリの権限を変更する
chmod(チェンジモード)コマンドの使い方を解説します。現場で頻繁に使う「755」や「644」といった数字の意味から、ディレクトリの中身ごと一括で変更する
-R オプション、実行権限を付与する +x の書き方まで、実務で必須の知識を網羅しました。1. chmodコマンドの基本(数字での指定)
Linuxの権限変更には、主に「数字で指定する方法(755など)」と「記号で指定する方法(u+xなど)」の2種類があります。まずは現場で最も使われる数字指定から覚えましょう。基本構文は以下の通りです。
# chmod [権限の数字] [対象ファイル名]
現場の鉄板設定「755」と「644」
Webサーバーやシステム運用において、絶対に覚えておくべき組み合わせはこの2つです。・755(rwxr-xr-x):所有者は「読み・書き・実行」が可能。その他(グループ・他人)は「読み・実行」だけが可能。ディレクトリや実行ファイル(プログラム)によく使われます。
・644(rw-r--r--):所有者は「読み・書き」が可能。その他(グループ・他人)は「読む」ことだけが可能。一般的なファイル(HTML・画像・テキスト設定ファイルなど)の標準設定です。
# スクリプトに実行権限(755)を与える # chmod 755 script.sh # 設定ファイルを安全な権限(644)に戻す # chmod 644 config.txt
変更後は ls -l で確認する
chmod を実行した後は、権限が正しく変わったかどうかを ls -l で確認するのが現場の習慣です。# ls -l script.sh -rwxr-xr-x 1 root root 1024 Feb 24 10:00 script.sh
-rwxr-xr-x の部分がパーミッションです。rwx は「読み・書き・実行」、r-x は「読み・実行」、r-- は「読みのみ」を意味します。cd
ディレクトリを移動する
■-- 文法 --■
cd ディレクトリ名
例)
cd▲/home/pakira
ディレクトリを移動します
※▲はスペースを表してます。
■ オプション
.. 「cd ..」と指定すると一つ上位階層のディレクトリへ移動する「home/pakira」ディレクトリにアクセスしていて「cd ..」を実行すると「/home」へ移動する
~ユーザ名 ユーザ名に他のユーザを指定すると指定したユーザのホームディレクトリへ移動する
rmdir
ディレクトリを削除する
■-- 文法 --■
rmdir (オプション) ディレクトリ名
例)
rmdir▲/home/pakira/dir
ディレクトリを削除します
※▲はスペースを表してます。
■ オプション
-p 指定されたディレクトリを強制的にすべて削除する但し、削除するディレクトリ内にファイルがない場合のみファイルが存在する場合は「rm」コマンドを使用する
mkdir
ディレクトリを作成する
■-- 文法 --■
mkdir (オプション) ディレクトリ名
例)
mkdir▲/home/pakira/dir
ディレクトリを作成します
※▲はスペースを表してます。
■ オプション
-p 存在しないディレクトリを指定しても強制的に作成される
「/home/pakira」というディレクトリ階層のみの下位階層がない場合で「/home/pakira/test/new_dir」という階層ディレクトリを作成したい場合オプションとして使用する
pwd
lnコマンドでシンボリックリンクを作成する方法|ハードリンクとの違いも
Linuxの設定ファイルを管理したり、コマンドのバージョンを切り替えたりする場面で、必ず登場するのがlnコマンドです。
この記事では、lnコマンドによるシンボリックリンク(ソフトリンク)の作成方法を中心に、ハードリンクとの違い、ls -lでの確認方法、リンク切れの対処法まで、実務で使う知識をまとめて解説します。
rm
ファイル名を削除する
■-- 文法 --■
rm (オプション) ファイル名
例)
rm▲ -r▲pakira/
「/pakira」ディレクトリごと削除する
※▲はスペースを表してます。
mvコマンドでファイルを移動・リネームする方法|上書き防止や一括変更も
「mvコマンドでリネームできるのは知っているけど、複数ファイルの一括変更はどうすればいい?」
Linuxのファイル操作で、cpやrmと並んで毎日使うのが
mv(ムーブ)コマンドです。ファイルの移動だけでなく、ファイル名の変更にも使う、サーバー管理の基本中の基本のコマンドです。この記事では、
mv コマンドの基本的な使い方から、上書き防止のオプション、日付付きバックアップの作成、renameコマンドによる一括リネームまで、実務で必要になる知識を網羅して解説します。cpコマンドでファイルをコピーする方法|-rや-aの違いと実務での使い分け
「ディレクトリごとコピーしようとしたら、中身が空だった」
Linuxサーバーの運用では、設定ファイルのバックアップや環境の複製など、ファイルコピーの作業が頻繁に発生します。
この記事では、Linuxのファイルコピーに使う
cp コマンドの基本から実務で役立つオプションまで解説します。単純なコピーだけでなく、
-r(ディレクトリごとコピー)と -a(属性を完全保持したコピー)の違い、設定ファイルのバックアップ手順、rsync との使い分けまで網羅しました。ls
lsコマンドとは
lsコマンドは、ディレクトリ内に保存されているファイルやディレクトリを表示します。lsコマンドには様々なオプションが用意されており、ファイルやディレクトリの情報を
色々な形式で表示させる事ができます。
自分がアクセスしているディリクトリ(カレントディレクトリ)に
どのようなファイルやディリクトリがあるか確認したい場合などに使用します。
lsコマンドの書式
ls▲<オプション>▲<パス>※▲は半角スペースを表してます。
※<>の物は省略可
lsコマンドのオプション
| オプション | 意味 |
| -l | ファイルの詳細情報を表示する |
| -t | タイムスタンプ順にソート表示する |
| -a | 隠しファイル(ピリオドから「.」始まるファイル)も表示する |
| -A | 隠しファイル(ピリオドから「.」始まるファイル)も表示するが、カレントディレクトリ、親ディレクトリは表示しない |
| -1 | 1列で表示する |
| -t | タイムスタンプ順にソート(昇順)して表示する |
| -r | 降順で表示する |
| -d | 引数がディレクトリの場合、ディレクトリ内に保存されているファイルではなく、ディレクトリ自体の情報を表示する |
| -S | サイズが大きい順並べて表示する |
| -X | 拡張子ごとに並べて表示する |
| -m | ファイルをカンマ区切で表示する |
| -h | ファイルサイズを分かりやすい単位で表示する |
| -u | ファイルの最終アクセス日時を表示する |
| -R | ディレクトリ内を再帰的に表示する |
| -F | タイプ識別子を付けて表示する タイプ識別子は、次のとおりです。 ・ディレクトリ 「/」 ・シンボリックリンク 「@」 ・実行可能ファイル 「*」 |
| -i | iノード番号を表示する |
| -s | ファイルのブロック数を表示する |
| -Q | ファイルをダブルクオートで囲む |
| -X | 拡張子のアルファベット順にソートする |
