RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

よく使うLinuxコマンド一覧【最新版】

f:id:tech-rakus:20210603151510p:plain

はじめに

技術広報のyayawowoです。
2021年度3本目のブログ投稿となります。

システム構築だけでなく、保守から運用に至るまでLinuxコマンドを使う機会は多いのではないのでしょうか。
ただ、頻繁にLinuxコマンドに触れていないと忘れてしまう方も多いはず…。(私は良く忘れます。笑)

そこで今回は、よく使うLinuxコマンドを操作別に一覧表にまとめました。
このブログを見れば基本的なことも解決できるよう、Linuxコマンドのオプションや便利機能も紹介しておりますので、是非ご参考いただけますと幸いです!

Linuxとは

まず初めに、Linuxについてご説明いたします。
Linuxは、皆さんが日常的に利用しているWindows 10、Mac OSと同じOSです。
ただし、オープンソースであるため基本無料で利用できます。。
またOSとは、オペレーティングシステムと言い、コンピュータ全体を制御することで、ユーザーが使いやすくするためのシステムのことを言います。
簡単に言えば、「ソフトウェアとハードウェアの仲介役」です。

そんなLinuxですが、主にサーバー用のOSとして使われること多いです。
Windowsなどと異なる点としては、Linuxは多様な種類があります。
例えば以下の通りです。

なお、Linuxを操作するにはLinuxコマンドを覚える必要があります。
WindowsMacのように、マウスで操作するGUI形式とは異なり、Linuxコマンドから操作をするCUI形式だからです。
本記事では、種類が多いLinuxコマンドの中から、よく使うLinuxコマンドをいくつか抜粋し、Linuxコマンド集としてまとめております。
是非ご参考いただけますと幸いです。

Linuxの理解をより深めたい方へ以下関連おすすめブログ
vi コマンド【使い方まとめ】
Linuxのファイル操作でよく使うLinuxコマンド
初心者のためのawkコマンド
実務で使える!基本的なシェル(Linux)コマンドの話 ~forとsed~
【Linux】今振り返りたい、プロセスって何?

よく使うLinuxコマンド一覧

Linuxコマンドをまとめるにあたり、一般的なLinuxのコマンドオプションも一緒にまとめております。
本記事にないLinuxのコマンドオプションにつきましては、別途調べていただけますと幸いです。

ディレクトリ操作

Linuxコマンド 説明 Linuxコマンドオプション
ls ディレクトリ情報の一覧表示 -a:すべて表示
-l:ファイル詳細の表示
-1:リストを縦にソート
-r:逆順で表示
-t:更新時間順にソート
-m:ファイル名をカンマ区切り表示
-h:単位を読みやすい形式で表示
-kキロバイト単位の表示
-i:ファイル名の左にi-node番号を表示
-S:ファイルサイズ順にソート
-X:ファイルを拡張子毎に集約
-Rディレクトリ内容を再帰的に表示
-F:情報の付加
--full-time:タイムスタンプ詳細を表示
--help:ヘルプの表示
pwd ・現在のディレクトリ表示 -L: 論理的なディレクトリ名を表示
-P:物理的なディレクトリ名を表示

ディレクトリ操作の使用例

  • ls
[root@localhost user]# ls
dev2  dev1  
[root@localhost user] ~]# 
[root@localhost user]# ls -al
合計 5
drwx------. 17 user user 4096  6月  3 20:21 .
drwxr-xr-x.  3 root    root      21  5月  8  2020 ..
drwxr-xr-x.  2 root    root       6  6月  3 20:20 dev1
drwxr-xr-x.  2 root    root       6  6月  3 20:21 dev2
drwxr-xr-x.  2 user user
[root@localhost user]# 
[root@localhost user]# pwd
/home/user
[root@localhost user]

ディレクトリ移動・ファイル操作

Linuxコマンド 説明 Linuxコマンドオプション
cd ディレクトリ移動
・カレントディレクトリ変更
-L:論理的なディレクトリへ移動
-P:移動先がシンボリックリンクの場合、物理的なディレクトリへ移動
mkdir ・フォルダ作成 -m:作成するディレクトリのパーミッションを設定
-p:必要に応じて親ディレクトリも作成
-v:経過表示
touch ・ファイルの作成
・ファイルのタイムスタンプの変更
-t スタンプ[[CC]YY]MMDDhhmm[.ss]形式で指定した日時に変更
-d:文字列で指定した日時に変更
-r:指定したファイルのタイムスタンプと同じ日時に変更
-a:最終アクセス日時のみ変更
-m:最終更新日時のみ変更
-c:ファイル作成不可
-hシンボリックリンクの場合、リンク先ではなくシンボリックのタイムスタンプを変更
cp ・ファイルのコピー -i:上書前に確認
-v:実行内容の表示
-n:存在するファイルの上書き制御
-f:強制的に上書き
-b:上書きファイルのバックアップ生成
-S 接尾辞:バックアップファイル生成時、ファイル名末尾に付ける文字
mv ・ファイルの移動
・ファイル(ディレクトリ名)の変更
-b:上書き・削除されるファイルのバックアップ
-f:上書き時、確認メッセージ非表示
-i:上書き時、確認メッセージ表示
-n:移動先に同名ファイル・ディレクトリが存在時、移動不可
-v:詳細を表示
rm ・ファイルの削除 -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アーカイブからファイル抽出

ディレクトリ移動・ファイル操作の使用例

  • cd
[root@localhost user]# ls
dev1  dev2
[root@localhost user]# cd dev1
[root@localhost dev1]# 
  • mkdir
[root@localhost user]# ls
dev2  dev1  
[root@localhost user]# mkdir dev3
[root@localhost user]# ls
合計 0
dev2  dev1  dev3
[root@localhost user]# 
  • touch
[root@localhost user]# ls
dev1  dev2  dev3
[root@localhost user]# cd dev1
[root@localhost dev1]# ls
[root@localhost dev1]# touch dev1_1.txt
[root@localhost dev1]# ls
dev1_1.txt
[root@localhost dev1]# 
  • cp
[root@localhost dev1]# ls
dev1_1.txt
[root@localhost dev1]# cp dev1_1.txt dev1_2.txt
[root@localhost dev1]# ls
dev1_1.txt  dev1_2.txt
  • mv
[root@localhost dev1]# ls
dev1_1.txt  dev1_2.txt  dev1_3.txt
[root@localhost dev1]# mv dev1_3.txt dev2_1.txt
[root@localhost dev1]# ls
dev1_1.txt  dev1_2.txt  dev2_1.txt
[root@localhost dev1]# mv dev2_1.txt ../dev2/.
[root@localhost dev1]# ls
dev1_1.txt  dev1_2.txt
[root@localhost dev1]# cd ..
[root@localhost user]# ls
dev1  dev2  dev3 
[root@localhost user]# cd dev2
[root@localhost dev2]# ls
dev2_1.txt
  • rm
[root@localhost dev2]# ls
dev2_1.txt
[root@localhost dev2]# rm -i dev2_1.txt
rm: 通常の空ファイル `dev2_1.txt' を削除しますか? y
[root@localhost dev2]# ls
[root@localhost dev2]# 
  • cat
[root@localhost dev1]# ls
dev1_1.txt  dev1_2.txt
[root@localhost dev1]# cat dev1_1.txt
hello world


[root@localhost dev1]# 

ユーザ管理操作

Linuxコマンド 説明 Linuxコマンドオプション
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:自宅の電話番号を設定

システム管理操作

Linuxコマンド 説明 Linuxコマンドオプション
free ・メモリの空き容量、使用容量を表示 -b:バイト単位表示
-k:KB単位表示
-m:MB単位表示
-g:GB単位表示
-h:読みやすい単位で表示
last ・ ログイン履歴の一覧表示 -t 日時:指定した日時より前のログイン情報を表示
-x:システムのシャットダウンとランレベル変更の記録を表示
-a:ホスト名を最後の欄に表示
-R:hostname欄の表示不要
-d:リモートログイン時、ログイン元のIPアドレスをホスト名に変換して表示
-i:リモートログイン時、ログイン元のIPアドレスのまま表示
finger ・ユーザー情報を表示 -m:ユーザ検索時、ユーザのフルネームとの比較不要
-l:ログイン名、ユーザ名、ホームディレクトリ、シェル、メールを表示
-s:ログイン名、ユーザ名、端末名、アイドル時間、ログイン時間、オフィス、オフィスの電話番号を表示

ネットワーク関連操作

Linuxコマンド 説明 Linuxコマンドオプション
route ・ ルーティングの表示や設定 -A ファミリー:アドレスファミリーを指定
-4IPv4の情報を表示/操作
-6IPv6の情報を表示/操作
-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のみを使用
-4IPv4のみを使用
-6IPv6のみを使用
-K:GSSAPIによる認証を許可
-k:GSSAPIによる認証を不許可
-A:認証エージェントを転送
-a:認証エージェントを転送不可
-XX11のポートフォワーディングを有効
-xX11のポートフォワーディングを無効
-Y:信頼されたX11転送を有効
-f:コマンド実行時、sshをバックグラウンド化
-F 設定ファイル:設定ファイルを指定
-o 設定パラメータ:設定パラメータを指定
-E ログファイル名:エラーを指定したファイルに記録
-q ログファイル名:エラーメッセージや診断メッセージを非表示
-vデバッグメッセージを表示

たまに使うLinuxコマンド一覧

Linuxコマンド 説明 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)を表示、設定

覚えておくと良いLinuxコマンドの知識

Linuxコマンドを使う場合、覚えておくと良い知識がいくつかあります。
業務効率を上げるために、是非使いこなしてみてください。

便利なLinuxショートカットキー

Linux利用時の業務効率をあげるため、とても便利なショートカットキーをご紹介します。
何度も利用し、指に慣れさせましょう。

Linuxショートカットキー 説明
↑ ↓ コマンド履歴を順に表示
tabキー フォルダやファイル名の予測変換
Ctr(control) + a カーソルを先頭に
Ctr + e カーソルを終端に
Ctr + b カーソルを一文字戻す
Ctr + f カーソルを一文字進める
Ctr + d カーソル位置の文字を消す
Ctr + h カーソル位置の左側の文字を消す
Ctr + w カーソル位置の左側の単語を消す
Ctr + r コマンド履歴の中で検索する

Linux系システムのディレクトリ構造

Linuxコマンドを覚えるなら、Linux系システムのディレクトリ構造を理解しておくと何か困った際に、役に立ちます。
一般的なLinuxディレクトリ構造をまとめましたのでご参考ください。

Linuxディレクト 説明
/ (root) ・最上のディレクトリであるルートディレクト
/bin ・バイナリ(Binary Folder)の略
・ユーザーが使用する実行ファイルが入っているディレクト
catchmodchowncpdateecholnlsmkdirなどのプログラム
/boot ・システム起動に必要なファイルが入っているディレクト
/dev ・デバイス(device)の略
・ハードウェア機器を表すファイルが保存されるディレクト
・ キーボード、マウス、プリンターなどのデバイスをファイル
/etc Linux設定のファイルが保存されているディレクト
/home ・ユーザーホームディレクト
MacではUsers
/usr ・各種コマンドやドキュメント
/lib カーネルモジュールファイルとプログラムに必要な各種ライブラリファイルを保存しているディレクト
/sbin ・ システム管理者が使用するシステム管理者用コマンドを保存しているディレクト
/var ・ヴァリアブル(Variable)の略
・システム運用中に生成されて削除されるデータを保存するためのディレクト
・ログファイル、データベースキャッシングファイルなど
/media ・リムーバブルメディアのマウントポイント
・/mntディレクトリと区別必要
/mnt ・マウントポイント
Macの場合Volumes
・/mediaディレクトリと区別必要

Linuxコマンド - 初心者おすすめ書籍 -

Linuxコマンドを学ぶにあたり、初心者向けの書籍をまとめました。

Linuxコマンド まとめ

今回のLinuxコマンドをまとめた内容は、いかがでしたしょうか。
Linuxのコマンドは、慣れる覚えるがポイントです。
ネットで調べなくともすらすらLinuxコマンドが打てるようになれば、仕事の効率的をあげるだけでなく、気持ちも楽しくなります。
今回は初心者向けにLinuxコマンド一覧とざっくりとまとめさせていただきました。

一緒にLinuxマスターになりましょう!
最後までお読みいただきありがとうございました。

Linux関連の参考文献

Linuxコマンドを調べるにあたり、以下文献を参考にさせていただきました。 Linuxに関する情報がまとめられており、とても良い内容です。


  • エンジニア中途採用サイト
    ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
    ご興味ありましたら是非ご確認をお願いします。
    20210916153018
    https://career-recruit.rakus.co.jp/career_engineer/

  • カジュアル面談お申込みフォーム
    どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
    以下フォームよりお申込みください。
    forms.gle

  • イベント情報
    会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください! rakus.connpass.com

Copyright © RAKUS Co., Ltd. All rights reserved.