# サーバ構築演習 Linuxショートカットキー・コマンド集 [便利なLinuxショートカットキー] * ↑ ↓ コマンド履歴を順に表示 * tabキー フォルダやファイル名の予測変換 * Ctr(control) + a カーソルを先頭に * Ctr + e カーソルを終端に * Ctr + b カーソルを一文字戻す * Ctr + f カーソルを一文字進める * Ctr + d カーソル位置の文字を消す * Ctr + h カーソル位置の左側の文字を消す * Ctr + w カーソル位置の左側の単語を消す * Ctr + r コマンド履歴の中で検索する --- --- [Linux系システムのディレクトリ構造] * / (root) ・最上のディレクトリであるルートディレクトリ * /bin ・バイナリ(Binary Folder)の略・ユーザーが使用する実行ファイルが入っているディレクトリ・cat、chmod、chown、cp、date、echo、ln、ls、mkdirなどのプログラム * /boot ・システム起動に必要なファイルが入っているディレクトリ * /dev ・デバイス(device)の略・ハードウェア機器を表すファイルが保存されるディレクトリ・キーボード、マウス、プリンターなどのデバイスをファイル * /etc ・Linux設定のファイルが保存されているディレクトリ * /home ・ユーザーホームディレクトリ・MacではUsers * /usr ・各種コマンドやドキュメント * /lib ・カーネルモジュールファイルとプログラムに必要な各種ライブラリファイルを保存しているディレクトリ * /sbin ・ システム管理者が使用するシステム管理者用コマンドを保存しているディレクトリ * /var ・ヴァリアブル(Variable)の略・システム運用中に生成されて削除されるデータを保存するためのディレクトリ・ログファイル、データベースキャッシングファイルなど * /media ・リムーバブルメディアのマウントポイント・/mntディレクトリと区別必要 * /mnt ・マウントポイント・Macの場合Volumes・/mediaディレクトリと区別必要 --- --- 以下、Linuxコマンド ・説明 詳細な説明がある場合は詳細な説明 -Linuxコマンドオプションで表示 △は半角スペースの代替 [ディレクトリ操作] ls ・ディレクトリ情報の一覧表示 カレントディレクトリ内のディレクトリ及びファイルリストを表示。尚、よく使う コマンドオプション以下2つ。 ① 「-a」 ファイル名の先頭にピリオドがあるファイルも表示する。先頭にピリオドがあるファイルはLinuxのシステムと結びつき、一般的に編集されたくない設定ファイルのようなものが多い。 ② 「-l」 ディレクトリ及びファイルの詳細情報を表示。アクセス権、所有者、グループ、ディレクトリ・ファイルサイズ、最終更新日付が表示される。 ・補足 「ls△–la」と1度に複数のコマンドオプションを入力することも可能。 * -a:すべて表示 * -l:ファイル詳細の表示 * -1:リストを縦にソート * -r:逆順で表示 * -t:更新時間順にソート * -m:ファイル名をカンマ区切り表示 * -h:単位を読みやすい形式で表示 * -k:キロバイト単位の表示 * -i:ファイル名の左にi-node番号を表示 * -S:ファイルサイズ順にソート * -X:ファイルを拡張子毎に集約 * -R:ディレクトリ内容を再帰的に表示 * -F:情報の付加 * --full-time:タイムスタンプ詳細を表示 * --help:ヘルプの表示 --- pwd ・現在のディレクトリ表示 カレントディレクトリの絶対パスを表示。コマンドは、「pwd」と入力すればOK。 * -L: 論理的なディレクトリ名を表示 * -P:物理的なディレクトリ --- --- [ディレクトリ移動・ファイル操作] cd ・ディレクトリ移動・カレントディレクトリ変更 (△は半角スペース) ① 絶対パスを指定したディレクトリ移動 「cd△『絶対パス』」と入力。 例: 「cd△/var/log」と入力。 ② 相対パスを指定したディレクトリ移動 「cd△『相対パス』」と入力。 例:現在、「/var」におり、「/var/log」配下へ移動する場合、「cd△log」と入力。 ③ カレントディレクトリ(現在、操作しているディレクトリ)より1階層上のディレクトリへ移動 「cd△.」と入力。 例:現在、「/var/log」におり、「/var」配下へ移動する場合、「cd△.」と入力。 (補足:2階層以上、上のディレクトリへ移動する場合、「.」を階層分入力すればOK。) * -L:論理的なディレクトリへ移動 * -P:移動先がシンボリックリンクの場合、物理的なディレクトリへ移動 --- mkdir ・フォルダ作成 新規ディレクトリを作成。コマンド例は以下の通り。 ① カレントディレクトリ内に新規ディレクトリを作成 「mkdir△『ディレクトリ名』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内に新規ディレクトリ「hoge1」を作成する場合、「mkdir△hoge1」と入力。 ② 絶対パスで指定し、新規ディレクトリを作成 「mkdir△『絶対パス/ディレクトリ名』」と入力。 例:「/home/hoge1」配下に新規ディレクトリ「hoge2」を作成する場合、「mkdir△/home/hoge1/hoge2」と入力。 * -m:作成するディレクトリのパーミッションを設定 * -p:必要に応じて親ディレクトリも作成 * -v:経過表示 --- touch ・ファイルの作成・ファイルのタイムスタンプの変更 新規ファイルを作成。コマンド例は以下の通り。 ① カレントディレクトリ内に新規ファイルを作成 「touch△『ファイル名』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内に新規ファイル「hoge1」を作成する場合、「touch△hoge1」と入力。 ② 絶対パスで指定し、新規ファイルを作成 「touch△『絶対パス/ファイル名』」と入力。 例:「/home/hoge1」配下に新規ファイル「hoge2」を作成する場合、「touch△/home/hoge1/hoge2」と入力。 * -t スタンプ:[[CC]YY]MMDDhhmm[.ss]形式で指定した日時に変更 * -d:文字列で指定した日時に変更 * -r:指定したファイルのタイムスタンプと同じ日時に変更 * -a:最終アクセス日時のみ変更 * -m:最終更新日時のみ変更 * -c:ファイル作成不可 * -h:シンボリックリンクの場合、リンク先ではなくシンボリックのタイムスタンプを変更 --- cp ・ファイルのコピー ディレクトリやファイルをコピー。コマンド例は以下の通り ① 同一ディレクトリ内にファイルをコピー 「cp△『ファイル名1』△『ファイル名2』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内の「hoge1」をコピーし、「hoge2」を作成する場合、「cp△hoge1△hoge2」と入力。 ② 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は同一) 「cp△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名1』」と入力。 例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」をコピーし、「/home/hoge3」配下へコピーする場合、「cp△/home/hoge1/hoge2△/home/hoge3/hoge2」と入力。 ③ 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は別) 「cp△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名2』」と入力。 例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」をコピーし、「/home/hoge3」配下へ「hoge4」でコピーする場合、「cp△/home/hoge1/hoge2△/home/hoge3/hoge4」と入力。 * -i:上書前に確認 * -v:実行内容の表示 * -n:存在するファイルの上書き制御 * -f:強制的に上書き * -b:上書きファイルのバックアップ生成 * -S 接尾辞:バックアップファイル生成時、ファイル名末尾に付ける文字 --- mv ・ファイルの移動・ファイル(ディレクトリ名)の変更 ディレクトリやファイルを移動。また、同一ディレクトリ内で使用するとファイル名変更として利用することも可能。コマンド例は以下の通り。 ① 同一ディレクトリ内で使用(ファイル名変更) 「mv△『ファイル名1』△『ファイル名2』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内のファイル名を「hoge1」から「hoge2」に変更する場合、「mv△hoge1△hoge2」と入力。 ② 別ディレクトリ内にファイルを移動(コピー元とコピー先のファイル名は同一) 「mv△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名1』」と入力。 例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」を「/home/hoge3」配下へ移動する場合、 「mv△/home/hoge1/hoge2△/home/hoge3/hoge2」と入力。 ③ 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は別) 「mv△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名2』」と入力。 例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」を「/home/hoge3」配下へ「hoge4」で移動する場合、「mv△/home/hoge1/hoge2△/home/hoge3/hoge4」と入力。 * -b:上書き・削除されるファイルのバックアップ * -f:上書き時、確認メッセージ非表示 * -i:上書き時、確認メッセージ表示 * -n:移動先に同名ファイル・ディレクトリが存在時、移動不可 * -v:詳細を表示 --- rm ・ファイルの削除 ディレクトリやファイルを削除。コマンド例及びよく使うオプションは以下の通り。 ① カレントディレクトリ内で削除するファイルを指定 「rm△『ファイル名』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内のファイル「hoge1」を削除する場合、「rm△hoge1」と入力。 ② 絶対パスで指定し、ファイルを削除 「rm△『絶対パス/ファイル名』」と入力。 例:「/home/hoge1」配下のファイル「hoge2」を削除する場合、「rm△/home/hoge1/hoge2」と入力。 ③ ディレクトリ及びその中身のファイルをすべて削除 「rm△-r△『ディレクトリ名』」と入力。 例:現在、任意のディレクトリにおり、このディレクトリ内のディレクトリ「hoge3」及びその中身のファイルをすべて削除する場合、「rm△-r△hoge3」と入力。 ④ 絶対パスで指定し、ディレクトリ及びその中身のファイルをすべて削除 「rm△-r△『絶対パス/ディレクトリ名』」と入力。 例:「/home/hoge1」配下のディレクトリ「hoge4」及びその中身のファイルをすべて削除する場合、「rm△-r△/home/hoge1/hoge4」と入力。 ⑤ 「-i」 当該ファイルを削除する際、削除前に確認のメッセージを表示 * -f:存在しないファイルを無視 * -i: 削除前に確認 * -v:経過を表示 * -d:unlinkでディレクトリを削除 * -r:ディレクトリを再帰的に削除 --- cat ・テキストファイルの内容を表示 * -n:行番号を追加 * -b:行番号を追加するが、空白行には追加無 * -s:連続した空行を1行に変更 * -v:TAB、改行、改ページ以外の非表示文字を表示 * -t:非表示文字を表示 * -E:行の最後に"$"を表示 * -A:全ての非表示文字を表示 * -e:TABを除く全ての非表示文字を表示 --- chmod ・ファイルやフォルダのアクセス権限を変更 * -f:エラーメッセージ表示不可 * -c:コマンド実行時、変更があったときのみ結果表示 * -v:コマンド実行時、詳細表示 * -R:変更対象はディレクトリ内の複数ファイル --- tar ・ファイルの圧縮、展開 * -c:新規アーカイブ作成 * -r:アーカイブ最後にファイル追加 * -A:アーカイブにtarアーカイブを追加 * -u:アーカイブのファイル更新 * -d:アーカイブとファイルシステムを比較 * -t:アーカイブ内容の一覧表示 * -x:アーカイブからファイル抽出 --- --- [ユーザ管理操作] useradd/adduser ・ユーザーの新規作成 * -m:ユーザーのホームディレクトリが存在しない場合に作成 * -M:ユーザーのホームディレクトリ作成不要 * -b:ホームディクトリの作成 * -d ディレクトリ:ユーザーのホームディレクトリ作成 --- deluser ・ユーザの削除 * -r:ユーザのホームディレクトとメールスプールを同時に削除 --- groupadd ・グループの新規作成 * -g グループID:新規作成するグループのグループIDを指定 * -o:グループIDが同じグループの作成を許可 * -f:グループが既に存在していた場合、終了 * -p パスワード:cryptで暗号化されたログインパスワードを利用 * -r:システムアカウントを作成 --- groupdel ・グループの削除 * -R ディレクト:chrootするディレクトリ * -r:既存ユーザーのプライマリグループでも削除 --- chfn ・ユーザ情報の変更 * -f:ユーザの名前を設定 * -o:オプションを設定 * -r:オフィスの部屋番号を設定 * -p:オフィスの電話番号を設定 * -h:自宅の電話番号を設定 --- --- [システム管理操作] free ・メモリの空き容量、使用容量を表示 * -b:バイト単位表示 * -k:KB単位表示 * -m:MB単位表示 * -g:GB単位表示 * -h:読みやすい単位で表示 --- last ・ ログイン履歴の一覧表示 * -t 日時:指定した日時より前のログイン情報を表示 * -x:システムのシャットダウンとランレベル変更の記録を表示 * -a:ホスト名を最後の欄に表示 * -R:hostname欄の表示不要 * -d:リモートログイン時、ログイン元のIPアドレスをホスト名に変換して表示 * -i:リモートログイン時、ログイン元のIPアドレスのまま表示 --- finger ・ユーザー情報を表示 * -m:ユーザ検索時、ユーザのフルネームとの比較不要 * -l:ログイン名、ユーザ名、ホームディレクトリ、シェル、メールを表示 * -s:ログイン名、ユーザ名、端末名、アイドル時間、ログイン時間、オフィス、オフィスの電話番号を表示 --- --- [ネットワーク関連操作] route ・ ルーティングの表示や設定 * -A ファミリー:アドレスファミリーを指定 * -4:IPv4の情報を表示/操作 * -6:IPv6の情報を表示/操作 * -n:名前解決不要 * -e:テーブルの表示にnetstatのフォーマットを使用 * -ee:すべての情報を1行表示 * -F:カーネルが管理しているテーブルを表示、操作 * -C:FIBの代わりにキャッシュを表示、操作 --- ftp ・ファイルをFTPで転送 * -p:パッシブモードでftpクライアントを起動 * -i:確認プロンプトの非表示 * -n:自動ログイン実行を抑止 * -e:コマンド編集・コマンド実行履歴機能を無効化 * -g:ファイル名の展開不可 * -v:応答情報を表示 * -d:デバックモードの有効化 --- ssh ・sshでログイン * -p ポート番号:接続に使用するポート番号を指定 * -l ユーザー名:接続に使用するユーザー名を指定 * -i IDファイル:接続に使用する公開鍵ファイルを指 * -C:全通信を圧縮 * -c 暗号化方法:通信を暗号化する方法を指定 * -1:SSHv1のみを使用 * -2:SSHv2のみを使用 * -4:IPv4のみを使用 * -6:IPv6のみを使用 * -K:GSSAPIによる認証を許可 * -k:GSSAPIによる認証を不許可 * -A:認証エージェントを転送 * -a:認証エージェントを転送不可 * -X:X11のポートフォワーディングを有効 * -x:X11のポートフォワーディングを無効 * -Y:信頼されたX11転送を有効 * -f:コマンド実行時、sshをバックグラウンド化 * -F 設定ファイル:設定ファイルを指定 * -o 設定パラメータ:設定パラメータを指定 * -E ログファイル名:エラーを指定したファイルに記録 * -q ログファイル名:エラーメッセージや診断メッセージを非表示 * -v:デバッグメッセージを表示 --- --- [その他汎用Linuxコマンド一覧] which ・コマンドの保存先の調査 * -a: 環境変数PATHにある全ての実行ファイルを表示 * -i:標準入力からエイリアスを読み込み、合致したものを表示 --- type ・コマンドの保存先を調査 * -a:実行可能コマンドの全表示 * -f:シェル関数を除外 * -P:実行コマンドのディスク上ファイル名の表示 * -t: 実行コマンドに応じて「alias」「keyword」「function」「builtin」「file」を表示 --- whatis ・コマンドの簡単な説明を表示・単語単位の完全一致検索 * -c:設定ファイルを指定 * -M パス:「man」ファイルの検索パスを指定 * -L ロケール:検索時の言語を指定 * -r:検索に正規表現を使用 * -w:検索にワイルドカードを使用 * -l:検索結果を折り返して表示 * -s リスト:検索対象の章番号を指定 * -d:デバッグ情報を表示 * -v:警告メッセージの詳細表示 --- apropos ・コマンドをキーワードで検索・部分一致検索 * -C:設定ファイルを指定 * -M パス:「man」ファイルの検索パスを指定 * -L ロケール:検索時の言語を指定 * -r:検索に正規表現を使用 * -w:検索にワイルドカードを使用 * -l:検索結果を折り返して表示 * -s リスト:検索対象の章番号を指定 * -d:デバッグ情報を表示 * -v:警告メッセージの詳細表示 --- find ・ファイルの検索 * -P:シンボリックリンクを追跡 * -L:すべてのシンボリックリンクを追跡 * -H:指定したシンボリックリンクを追跡 * -name パターン:ファイル名がパターンと一致するファイルを検索 * -path パターン:パスがパターンと一致するファイルを検索 * -type タイプ:ファイルタイプ検索 * -mmin 分数:指定した分数より前に更新されたファイル * -mtime 日数:指定日数より前に更新されたファイル * -newer ファイル:指定ファイルの更新時刻以降に更新されたファイル * -amin 分数:指定した分数より前にアクセスされたファイル * -atime 日数:指定日数より前にアクセスされたファイル * -anewer ファイル:指定ファイルのアクセス時刻以降にアクセスされたファイル * -size サイズ:ファイルサイズが指定したサイズに一致したファイル --- cal ・カレンダーの表示 * -1:今月のカレンダーを表示 * -3:先月、今月、来月のカレンダーを表示 * -y:今年の1年分のカレンダーを表示 * -s:日曜日を週の先頭に表示 * -m:月曜日を週の先頭に表示 * -j:1月1日を第1日とする年間通算日を表示 --- date ・日付の表示 * -d 日時:現在ではなく、文字列で指定した日時を表示 * -R:日時をRFC2822形式で表示 * -rファイル:ファイルの最終変更時刻を表示 * -s 日時:システム時刻を指定した日時に変更表示 * -u:協定標準時(UTC)を表示、設定