Linux コマンドライン チートシート
Linuxは、POSIXおよびUnixに基づいた、無料で使用でき自由に配布できるUnixライクなオペレーティングシステムです。マルチユーザー、マルチタスク、マルチスレッド、およびマルチCPUをサポートするオペレーティングシステムです。主要なUnixツール、アプリケーション、およびネットワークプロトコルを実行でき、32ビットおよび64ビットのハードウェアの両方をサポートします。Unixのネットワーク中心のデザイン哲学を継承した、安定したマルチユーザーネットワークオペレーティングシステムです。
システム
| uname | Linuxシステム情報を表示 |
| uname -r | カーネルバージョン情報を表示 |
| uptime | システムの稼働時間を表示(平均負荷を含む) |
| hostname | システムのホスト名を表示 |
| hostname -i | システムのIPアドレスを表示 |
| last reboot | システムの再起動履歴を表示 |
| date | 現在のシステムの場所と時刻を表示 |
| timedatectl | システムクロックの照会と変更 |
| cal | 現在のカレンダーの月と日を表示 |
| w | システムに現在ログインしているユーザーを表示 |
| whoami | ログインIDを表示 |
| finger username | ユーザーに関する情報を表示 |
ハードウェア
| dmesg | 起動メッセージを表示 |
| cat /proc/cpuinfo | CPUに関する詳細情報(モデル、コア、ベンダーなど)を表示 |
| cat /proc/meminfo | ハードウェアメモリに関する詳細情報(合計メモリ、利用可能メモリなど)を表示 |
| lshw | システムハードウェア構成に関する情報を表示 |
| lsblk | ブロックデバイス関連情報を表示 |
| free -m | システムの空きメモリと使用メモリを表示(-mフラグはMB単位) |
| lspci -tv | PCIデバイスをツリー図で表示 |
| lsusb -tv | USBデバイスをツリー図で表示 |
| dmidecode | BIOS内のハードウェア情報を表示 |
| hdparm -i /dev/xda | ディスクデータに関する情報を表示 |
| hdparm -tT /dev/xda | デバイスxdaで読み取り速度テストを実行 |
| badblocks -s /dev/xda | ディスク上の読み取り不可能なブロックをテスト |
ユーザー
| id | アクティブユーザーの詳細(uid、gid、グループなど)を表示 |
| last | システムへの最後のログインを表示 |
| who | システムにログインしているユーザーを表示 |
| groupadd “admin” | グループ “admin” を追加 |
| adduser “Sam” | ユーザー Sam を追加 |
| userdel “Sam” | ユーザー Sam を削除 |
| usermod | ユーザー情報の変更/修正に使用 |
ファイル
| ls -al | ファイルを一覧表示(通常ファイル、隠しファイル、およびその権限を含む) |
| pwd | 現在のディレクトリのパスを表示 |
| mkdir ‘directory_name’ | 新しいディレクトリを作成 |
| rm file_name | ファイルを削除 |
| rm -f filename | ファイルを強制削除 |
| rm -r directory_name | ディレクトリを再帰的に削除 |
| rm -rf directory_name | ディレクトリを強制的に再帰削除 |
| cp file1 file2 | file1の内容をfile2にコピー |
| cp -r dir1 dir2 | dir1をdir2に再帰的にコピー。dir2が存在しない場合は作成 |
| mv file1 file2 | file1をfile2に名前変更 |
| ln -s /path/to/file_name link_name | file_nameへのシンボリックリンクを作成 |
| touch file_name | 新しいファイルを作成 |
| cat > file_name | キーボード入力からファイルを作成 |
| more file_name | ファイルの内容を出力 |
| head file_name | ファイルの最初の10行を表示 |
| tail file_name | ファイルの最後の10行を表示 |
| gpg -c file_name | ファイルを暗号化 |
| gpg file_name.gpg | ファイルを復号化 |
| wc | ファイル内のバイト数、単語数、および行数を出力 |
| xargs | 標準入力からコマンドを実行 |
プロセス
| ps | 現在アクティブなプロセスを表示 |
| ps aux | grep ’telnet' | プロセス ’telnet’ のIDを検索 |
| pmap | プロセスのメモリマップを表示 |
| top | 実行中のすべてのプロセスを表示 |
| kill pid | 指定されたpidでプロセスを終了 |
| killall proc | procという名前のすべてのプロセスを強制終了/終了 |
| pkill process-name | プロセス名でプロセスに信号を送信 |
| bg | バックグラウンドで一時停止しているコマンドを再開 |
| fg | バックグラウンドのコマンドをフォアグラウンドに移動して再開 |
| fg n | ジョブ n をフォアグラウンドに移動 |
| lsof | プロセスが開いているファイルを一覧表示 |
| renice 19 PID | プロセスを非常に低い優先度で実行 |
| pgrep firefox | FirefoxのプロセスIDを検索 |
| pstree | プロセスをツリーモデルで可視化 |
ファイル権限
| chmod octal filename | ファイル権限を8進数に変更 |
| chmod 777 /data/test.c | 所有者、グループ、および全員(サーバーにアクセスできる他のユーザー)にrwx権限を設定 |
| chmod 755 /data/test.c | 所有者にrwx、グループと全員にr-xを設定 |
| chmod 766 /data/test.c | 所有者にrwx、グループと全員にrw-を設定 |
| chown owner user-file | ファイルの所有権を変更 |
| chown owner-user:owner-group file_name | ファイルの所有者とグループ所有者を変更 |
| chown owner-user:owner-group directory | ディレクトリの所有者とグループ所有者を変更 |
ネットワーク
| ip addr show | IPアドレスとすべてのネットワークインターフェースを表示 |
| ip address add 192.168.0.1/24 dev eth0 | インターフェース eth0 にIPアドレス 192.168.0.1 を割り当て |
| ifconfig | すべてのネットワークインターフェースのIPアドレスを表示 |
| ping host | ICMPエコーリクエストを送信してサーバー/PCへの接続を確認 |
| whois domain | ドメイン名に関する詳細情報を取得 |
| dig domain | ドメインのDNS情報を取得 |
| dig -x host | ドメインの逆引きを実行 |
| host google.com | ドメイン名のIPルックアップを実行 |
| hostname -i | ローカルIPアドレスを表示 |
| wget file_name | オンラインリソースからファイルをダウンロード |
| netstat -pnltu | すべてのアクティブなリスニングポートを表示 |
圧縮/アーカイブ
| tar -cf home.tar home | ディレクトリ home 用に home.tar という名前のアーカイブファイルを作成 |
| tar -xf files.tar | アーカイブファイル “files.tar” を解凍 |
| tar -zcvf home.tar.gz source-folder | ソースフォルダから圧縮されたtarアーカイブを作成 |
| gzip file | .gz拡張子でファイルを圧縮 |
パッケージのインストール
| rpm -i pkg_name.rpm | rpmパッケージをインストール |
| rpm -e pkg_name | rpmパッケージを削除 |
| dnf install pkg_name | dnfツールを使用してパッケージをインストール |
ソースからのインストール(コンパイル)
| ./configure | 構築に必要なソフトウェアの依存関係を確認し、Makefileを構築 |
| make | プログラムをコンパイル |
| make install | コンパイル後、バイナリファイルをデフォルトまたは変更されたパスにインストール |
検索
| grep ‘pattern’ files | ファイル内で指定されたパターンを検索 |
| grep -r pattern dir | 指定されたディレクトリ内でパターンを再帰的に検索 |
| locate file | ファイルのすべてのインスタンスを検索 |
| find /home/ -name “index” | /homeフォルダ内で ‘index’ で始まるファイル名を検索 |
| find /home -size +10000k | ホームフォルダ内で 10000k より大きいファイルを検索 |
ログイン
| ssh user@host | 指定されたユーザーを使用してホストに安全に接続 |
| ssh -p port_number user@host | 指定されたポートを使用してホストに安全に接続 |
| ssh host | デフォルトの22番ポートを介してシステムに安全に接続 |
| telnet host | デフォルトの23番ポートを介してホストに接続 |
ファイル転送
| scp file1.txt server2/tmp | file1.txtをserver2の/tmpディレクトリに安全にコピー |
| rsync -a /home/apps /backup/ | /home/appsディレクトリの内容を/backupディレクトリと同期 |
ディスク使用状況
| df -h | マウントされたシステム上の空き容量を表示 |
| df -i | ファイルシステム上の空きiノードを表示 |
| fdisk -l | ディスクパーティション、サイズ、およびタイプを表示 |
| du -sh | 現在のディレクトリのディスク使用状況を人間が読みやすい形式で表示 |
| findmnt | すべてのファイルシステムのターゲットマウントポイントを表示 |
| mount device-path mount-point | デバイスをマウント |
ディレクトリ移動
| cd .. | ディレクトリツリー構造を1つ上の階層に移動 |
| cd | ディレクトリを $HOME ディレクトリに変更 |
| cd /test | ディレクトリを /test ディレクトリに変更 |