目次
Linuxを使いこなすための基礎知識
- Linuxとは
- コマンド実行前の注意事項
- コマンドの実行方法
- コマンドの探し方
- 標準入力/標準出力/標準エラー出力
- エディタの使い方(vi)
- エディタの使い方(nano)
エディタ/ページャ
- テキストファイルの内容を表示する less
- さまざまな言語や文字コードのテキストファイルを表示する lv
- 行単位でテキストファイルを編集する ed
ファイル/ディレクトリ管理
- ディレクトリの内容を表示する ls
- ファイルやディレクトリのリストを木構造で表示する tree
- 作業ディレクトリを移動する cd
- 作業ディレクトリのパスを表示する pwd
- ファイルやディレクトリを移動/名前を変更する mv
- ファイルやディレクトリをコピーする cp
- ファイルをコピーしてアクセス権限を設定する install
- ファイルを変換してコピーする dd
- ディレクトリを作成する mkdir
- 空のディレクトリを削除する rmdir
- ファイルやディレクトリを削除する rm
- ファイルを安全かつ完全に削除する shred
- 空ファイルを作成する/アクセス時刻を変更する touch
- ファイルの種類を判定する file
- ファイルやファイルシステムの状態を出力する stat
- ファイルへのリンクを作成する ln
- シンボリックリンク先を表示する readlink
- ファイルやディレクトリのアクセス権限を変更する chmod
- ファイル所有権やグループ所有権を変更する chown
- ファイルのグループ所有権を変更する chgrp
- ext2/ext3/ext4ファイルシステム上のファイル属性を表示する lsattr
- ext2/ext3/ext4ファイルシステム上のファイル属性を変更する chattr
- ファイル作成時に所有権のマスク値を変更する umask
- 条件を絞ってファイルを検索する find
- 入力を引数にしてコマンドを実行する xargs
- コマンドのフルパスを表示する which
- ファイル名データベースからパターンに合ったパスを出力する locate
- ファイルパスからファイル名のみを表示する basename
- ファイルパスからファイル名を除去して表示する dirname
- 1つのファイルを複数のファイルに分割する split
- ファイルを指定したサイズに切り詰める/拡張する truncate
- MD5/SHA1メッセージダイジェストを出力する md5sum/sha1sum
- バイナリファイルをテキストファイルに変換/復元する uuencode/uudecode
- 入力をBase64エンコード/デコードして出力する base64
- tar形式アーカイブを作成/展開する tar
- gzip形式アーカイブに圧縮/展開する gzip/gunzip
- bzip2形式アーカイブに圧縮/展開する bzip2/bunzip2
- 複数のファイルをまとめてZIP形式アーカイブに圧縮する zip
- ZIP形式アーカイブを展開する unzip
- LHA形式アーカイブを展開する lhasa
- RAR形式アーカイブを展開する unrar
- アーカイブへコピーする/アーカイブからコピーする cpio
- ディレクトリをスタックに追加/削除/表示する pushd/popd/dirs
- 一時ファイル/ディレクトリを作成する mktemp
- ファイル名の文字コードを変換する convmv
パッケージ管理
- RPMパッケージを管理する rpm
- RPMパッケージ形式からcpioファイル形式に変換する rpm2cpio
- 依存関係を含めてRPMパッケージを管理する yum
- debパッケージを管理する dpkg
- aptパッケージのメタデータを処理して情報を出力する apt-cache
- aptライブラリを使用してパッケージを管理する aptitude
- aptライブラリを使用してパッケージを管理する apt-get
- バイナリパッケージを他のフォーマットに変換する alien
ユーザ管理
- ユーザアカウントを作成する(パスワード設定無し) useradd
- ユーザアカウントを対話的に作成する adduser
- ユーザアカウントを削除する userdel
- ユーザアカウントを削除,グループの所属から削除する deluser
- ユーザアカウント情報を変更する usermod
- グループを作成する groupadd
- グループを削除する groupdel
- グループの設定を変更する groupmod
- ログインシェルを変更する chsh
- ユーザ情報を変更する chfn
- ユーザのパスワードを変更する passwd
- ユーザのパスワード有効期限を変更/表示する chage
- グループのパスワードを管理する gpasswd
- 所属するグループ名を表示する groups
- パスワードファイルの整合性をチェック/修正する pwck
- グループファイルの整合性を照合する grpck
- ホストにログインしているすべてのユーザ名を表示する users
- ユーザIDとグループIDを表示する id
- 現在のユーザ名を表示する whoami
- パスワードを一括で変更する chpasswd
- passwdファイルを編集する vipw/vigr
- shadowファイルを変換/逆変換する pwconv/pwunconv/grpconv/grpunconv
- HTTPサーバでのベーシック認証ファイルを管理する htpasswd
- HTTPサーバでのダイジェスト認証ファイルを管理する htdigest
テキスト処理
- ファイルの内容を標準出力に出力する cat
- 各行の文字を逆に並べ替えて出力する rev
- パターンにマッチする行を表示する grep
- テキストを入力して編集する sed
- テキストのパターンの検知/処理を行う awk
- ファイルの文字コードを変換する(nkf) nkf
- ファイルの文字コードを変換する(iconv) iconv
- 2つのファイルを行単位で比較する comm
- 2つのファイルの差分を出力する diff
- 2つのファイルを1バイトごとに比較する cmp
- 改行コードをフィルタする col
- 表形式に整形する column
- 指定したけたを削除する colrm
- ファイルの各行から指定した範囲を切り出す cut
- タブをスペースに変換する expand
- スペースをタブに変換する unexpand
- ファイルの先頭から数行を表示する head
- ファイルの末尾を表示する/ファイルを追跡して表示する tail/tailf
- ファイルの中から表示可能な文字列を表示する strings
- ファイルの中で重複する行を削除する uniq
- ファイルの行数/単語数/バイト数を表示する wc
- 等間隔の数値を表示する seq
- ファイルの内容をソートする sort
- diff出力ファイルをオリジナルファイルに適用する patch
- 文字の変換や削除/連続する文字を圧縮する tr
- 式を評価して標準出力に出力する expr
- ランダムに並び替え(シャッフル)して出力する shuf
- 印刷用に整形する pr
- ファイルの先頭に行番号をつけて出力する nl
- 入力されたテキストを指定した幅で改行する fold
- 複数ファイルの行をマージする paste
- 2つの入力ファイルから共通フィールドを結合する join
プロセス管理
- プロセス状況を表示する ps
- プロセスをツリー形式で表示する pstree
- プロセス名や属性情報などからプロセスIDを表示し,そのプロセスにシグナルを送信する pgrep/pkill
- サービスの自動起動を設定する chkconfig
- SystemV用initスクリプトの有効/無効を制御する update-rc.d
- コマンド実行時間/リソース利用時間を表示する time
- 実行しているコマンドのプロセスIDを表示する pidof
- 開いているファイルを表示する lsof
- ファイルもしくはソケットを使用しているプロセスを特定/シグナルを送信する fuser
- プロセスを終了する kill
- 実行優先度を設定してコマンドを実行する nice
- 実行しているプロセスの優先順位を変更する renice
- 指定した時間だけ待機する sleep
- シグナルを受け付けないように設定してコマンドを実行する nohup
- サスペンド中のジョブをバックグラウンドで再開する bg
- サスペンド中のジョブをフォアグラウンドで再開する fg
- ジョブリストを表示する jobs
- プロセスの作業ディレクトリを表示する pwdx
- パイプを使った処理の進捗を表示する pv
- 標準入出力のバッファ動作を変更してコマンドを実行する stdbuf
システム管理
- シェルを終了する exit/logout
- ファイルシステムの使用状況を容量で表示する df
- ファイルのディスク使用量を表示する du
- プロセス状況をリアルタイムで表示する top
- 指定した時刻にコマンドを実行する at
- 日付の表示/設定を行う date
- コマンドやオプションに別名をつけて管理する alias/unalias
- コマンド履歴を表示する history
- コマンド履歴を表示/編集して実行する fc
- 環境変数を表示/指定してコマンドを実行する env
- 環境変数を表示する printenv
- 環境変数と定義を有効にする export
- ルートディレクトリを変更してコマンドを実行する chroot
- マシンのアーキテクチャを表示する arch
- システム情報を表示する uname
- 現在と1つ前のランレベルを出力する runlevel
- プロセスの制御やランレベルの変更を行う init
- サービスの起動/停止,システム起動時の自動起動/停止を設定する(systemd) systemctl
- サービスの起動/停止,システム起動時の自動起動/停止を設定する(Upstart) initctl
- ユーザのcrontab(5)を管理する crontab
- 端末のセッション記録をコピーする script
- ユーザ情報を表示する finger
- 最近ログインしたユーザ名を表示する last
- ユーザの最終ログイン情報を表示する lastlog
- ログインユーザと実行プロセスを表示する w
- ログイン状況やログインユーザの情報を表示する who
- ファイル形式のチェックや数値/文字列の比較を行う test
- 違うユーザになってコマンドを実行する su
- 別のユーザとしてコマンドを実行する sudo
- 違うグループIDでコマンドを実行する sg
- 稼働システムのカーネルパラメータを表示/変更する sysctl
- ホスト名を設定/表示する hostname
- 共有ライブラリへの依存関係を表示する ldd
- 共有ライブラリへのリンクやキャッシュを作成する ldconfig
- コンソールのキーボードマッピングを変更する loadkeys
- メールエイリアスデータベースを再構成する newaliases
- メールキューの状態を表示する mailq
- syslogに書き込む logger
- systemdジャーナルの内容を検索する journalctl
- 空きメモリや利用中メモリを表示する free
- 仮想メモリの統計情報を表示する vmstat
- ハードウェアの時計を設定して問い合わせる hwclock
- ホスト間の時刻の差を表示する clockdiff
- システムを停止する/再起動する halt
- システムを終了する shutdown
- ファイルへのアクセス時間によってファイルを削除する tmpwatch
- 端末の設定を変更する setterm
- シンボリックリンクを管理することでシステムデフォルトコマンドを設定する update-alternatives
- 小さいUNIXコマンドを実行する busybox
ユーティリティ
- 1行テキストを表示する echo
- 他のユーザにメッセージを送る write/wall
- 標準入力を標準出力とファイルに書き出す tee
- 1つのターミナルで複数のシェルやプロセスを管理する screen
- 1つの画面で複数のターミナルを管理する tmux
- RDPを利用してリモート端末の画面を表示する rdesktop
- RFBを利用してリモート端末の画面を表示する vncserver/vncviewer
- コンパイルやインストールを一括処理する make
- 対話的なプログラムとのやりとりを自動化する expect
- 算術式を評価して標準出力に出力する let
- 素因数分解して素数を表示する factor
- 数値計算を行う bc
- ファイルや入力を8/10/16進数で出力する od
- コマンドを繰り返し実行して結果を再描画する watch
- 仮想コンソールを切り替える chvt
- カレンダーを表示する cal
- 停止するまで「y」もしくは文字列を出力する yes
- 分散バージョン管理システムGitを利用する git
- バージョン管理システムCVSを利用する cvs
- バージョン管理システムSubversionを利用する svn
- Subversionリポジトリを管理する svnadmin
- 課題管理システムTracを管理する trac-admin
デバイス
- PCIデバイスを表示する lspci
- USBデバイスを表示する lsusb
- SCSIデバイスを表示する lsscsi
- スペシャルファイルを作成する mknod
- ファイルシステムをマウントする mount
- ファイルシステムをアンマウントする umount
- NFSサーバのマウント状況を表示する showmount
- パーティションを操作する fdisk
- パーティションの作成/削除/サイズ変更を行う parted
- ファイルシステムをチェック/修正する fsck
- ファイルシステムを作成する mkfs
- スワップ領域をデバイスに作成する mkswap
- スワップ領域を有効/無効にする swapon/swapoff
- データを光学メディア(CD/DVD)に書き込む wodim
- ISOイメージを作成してDVDに焼き付ける growisofs
- ユーザのディスク利用容量を制限する edquota
- ハードディスク(IDE/SATA/PATA/SAS)パラメータを取得/設定する hdparm
- SCSIデバイスの属性表示や変更/コマンド送信を行う sdparm
- DMIテーブルを解析表示する dmidecode
- CPU情報を表示する lscpu
- ブロックデバイス一覧を表示する lsblk
- パーティション情報の表示/パーティションの認識を行う partx
ネットワーク
- ネットワークインターフェイス/ルーティング/トンネルなどを設定する ip
- ネットワークインターフェイスの確認/設定を行う ifconfig
- 無線LANインターフェイスの設定/状態表示を行う iwconfig
- WPAを設定する wpa_supplicant
- NetworkManagerを利用してネットワーク設定を行う nmcli
- ネットワーク上のホストの接続を確認する ping
- ソケット状態を表示する ss
- 通信状況やルーティングテーブルを表示する netstat
- ルーティングテーブルを表示/設定する route
- ネットワークアドレスなどを計算する ipcalc
- パケットフィルタリングとNATを管理する(IPv4) iptables
- パケットフィルタリングを管理する(IPv6) ip6tables
- iptables/ip6tablesのフィルタリングルールを出力する iptables-save/ip6tables-save
- iptables/ip6tablesのフィルタリングルールを復元する iptables-restore/ip6tables-restore
- firewalldを利用してパケットフィルタリングを管理する firewall-cmd
- DNSを利用してホスト名の検索を行う host
- DNSを利用して対話的に問い合わせる nslookup
- DNSを利用してドメイン名を問い合わせる dig
- whoisを利用してドメイン情報を問い合わせる whois
- リモートホストへの経路を表示する tracepath/tracepath6
- ネットワークトラフィックを出力する tcpdump
- パケットをダンプし,ダンプしたファイルを解析して表示する tshark
- Telnetでリモートホストに接続する telnet
- ネットワーク経由でファイルをダウンロードする wget
- サーバにデータを送信/サーバからデータをダウンロードする curl
- カーネルのARPキャッシュを操作する arp
- ARPリクエストをリモートホストに送信する arping
- SSHでログインする ssh
- 通信を暗号化してリモートホストにファイルをコピーする scp
- SSHで通信を暗号化してファイルを転送する sftp
- SSHのための認証鍵の作成/管理/変換を行う ssh-keygen
- SSH公開鍵をリモートホストに登録する ssh-copy-id
- ディレクトリをリモートやローカルに高速かつ柔軟にコピーする rsync
- ファイルをFTPで転送する ftp
- コマンドラインでメールを送受信する mail
- 端末でWebサイトを表示する w3m
- NTPを利用して時刻や日付を設定する ntpdate
- NTPデーモンの状況を確認する ntpq
- ブリッジインターフェイスを管理する brctl
- サーバまたはクライアントとして起動し,データを送受信する nc
セキュリティ
- OpenPGPのGNU実装の暗号化/復号化/署名を利用する gpg/gpg2
- SSLとTLSでの暗号や証明書を処理する openssl
- 比較的覚えやすいパスワードを生成する pwgen
データベース
- PostgreSQLサーバに接続してデータベースを操作/利用する psql
- PostgreSQLデータベースをダンプする pg_dump
- MySQLサーバに接続してデータベースを操作/利用する mysql
- MySQLデータベースをダンプする mysqldump
- SQLiteデータベースを操作/利用する sqlite3
仮想化
- Xenドメインを管理する xl
- 仮想マシンのイメージを作成する virt-install
- シェルで仮想環境のゲストOSを管理する virsh
- VirtualBox仮想マシンを管理する VBoxManage
- KVMで利用するQEMUディスクイメージを操作する qemu-img
カーネル
- カーネルモジュールの状態を表示する lsmod
- カーネルモジュールを読み込む insmod
- カーネルモジュールを取り外す rmmod
- modules.depを利用してカーネルモジュールを読み込む/取り外す modprobe
- modules.depとマップファイルを生成する depmod
- カーネルモジュールの情報を表示する modinfo
- initramfsを作成する(Debian系) mkinitramfs
- initramfsを作成する(Red Hat系) dracut
- GRUB 1系のブートローダを操作する grub/grub-install
- カーネルのログバッファを表示する dmesg
印刷
- 印刷ジョブの作成/キューを登録する(スプールデーモン) lpr
- 印刷ジョブの作成/キューを登録する(CUPS) lp
- プリンタスプールからジョブを削除する cancel
- プリンタの設定を行う lpadmin
- プリンタデーモンの状態を表示する lpstat