【徹底解説】Linuxの主要コマンド37選|用途や実例を丁寧に解説

Linux

(最終更新月:2022年12月)

✔このような方へ向けて書かれた記事となります

「Linuxのコマンドについての理解を深めたい」

「Linuxでよく使うコマンドを一通り知りたい」

「Linuxに詳しくなるにはどうしたら良いのだろうか?」

✔当記事を通じてお伝えすること

  • LINUXとは
  • Linuxでよく使うコマンド一覧
  • 目的別のコマンド一覧

当記事では、LINUXのコマンド一覧はもちろん、目的別にまとめたコマンドもご覧いただき、今まで使ったことのなかったコマンドを見つけられます

ぜひ最後までご覧ください。

✔当記事の信頼性

当ブログは、Linux上に構築したWebサーバーでWEBアプリの公開方法を解説しているサイトです。

サーバー構築のうえで、最低限のLinuxコマンドを使いこなすことは必須。

なぜなら、リモート環境ではターミナルからすべてサーバーへ指示を出すから。

当記事では、実践で学んだコマンドで、とくに重要度が高いものをひとつひとつ解説していきます。

Linuxについて知っておくべき基礎知識3選

こちらでは、LINUXについての基本を解説していきます。

コマンド一覧を見ていく前に、まずは簡単にLinuxについての理解を深めましょう。

  • Linuxとは?
  • Linuxのディストリビューションリ3種
  • Linuxでよく使う用語3選

Linuxとは?

Linuxとは、OS(オペレーションシステム)の名前です。

よく聞くOSは、以下の2つでしょう。

  • Windows
  • Mac OS

WindowsやMacと異なる点は、無料で公開されていて、誰でも取得や開発、改良ができることです。

OSとは、コンピューターとソフトウェア(例えば、Microsoft Wordなど)を繋ぐ役割を担っています。

キーボードを使って、Word画面に文字が打てるのは、OSのおかげ。

主なLinuxのディストリビューション3種

Linuxのディストリビューションとは、世の中に配布されているLinuxOSのこと。

以下の3種類が有名どころになります。

  • Red Hat:CentOS、MIRACLE、RedFlag
  • Debian:Debian/GNU Linux、Ubuntu
  • SalckWare:Slackware

Webサーバーでは、Web系に強いといわれるDebian系のUbuntuが使われることが多いです。

ただどのディストリビューションを使っても、基本的なコマンドは同じなので、好きなもので学習を始めましょう。

Linuxでよく使う用語3選

Linuxでよく使われる用語は以下のとおり。

  • シェル:ターミナルのこと
  • ディレクトリ:場所を表し、フォルダと考えても通常は問題ない
  • パッケージ:配布されているプログラム・アプリケーション
  • ライブラリ:パッケージを集めたもの
  • リポジトリ:パッケージを保管している場所

Linuxでよく使うコマンド一覧

以下はLinuxでよく使うコマンドです。

コマンドはすべてターミナル上で使うものになります。

用途のリンクをクリックすると、近い用途で使われているコマンドの一覧へジャンプします。

コマンド用途
カテゴリー
概要詳細
unameOSOS情報を表示uname
uname -a
/
freeシステムメモリの使用状況を表示free -m/
useaddユーザー新規ユーザーを作成するuseradd yulikepython/
chmod権限ファイル・ディレクトリの権限を変更するchmod 755 memo.txt/
scpネットワークリモートコンピューターにコピーscp -r dist username@example.com:/home/yulikepython/www/scpコマンドの基本と使い方
sshネットワークリモートコンピューターに接続ssh ubuntu@192.168.11.12SSH接続とは?他のコンピューターへリモートでアクセス
lsファイル・ディレクトリディレクトリ内のファイル・フォルダを調べるlslsコマンドの書き方やオプションを徹底解説
cdファイル・ディレクトリディレクトリを移動するcd next_dir/
catテキストファイルを読み取るcat file.txt/
nanoテキストファイルを作成
ファイルを編集
nano new_file.txtnanoエディターの使い方

OSやシステムで調べたいことがあるとき

OSやシステムについて調べたいときに使えるコマンドは以下のとおりです。

コマンド概要
unameOS情報を表示uname
uname -a
lshwコンピューター情報を表示(sudo) lshw
lscpuCPU情報を表示lscpu
dmidecodeメモリ情報を表示(sudo) dmidecode -t memory
freeメモリの使用状況を表示free -m
lsblkディスク情報を表示lsblk
lastログイン履歴を表示last
lsusbUSB情報を表示lsusb
lspciPCIデバイス・カード情報を表示lspci

ユーザーや権限についてやりたいことがあるとき

ユーザーや権限について、確認ややりたいことがあるときはこちら。

コマンド概要
chmodファイル・ディレクトリの権限を変更するchmod 755 memo.txt
chownファイル・ディレクトリの所有権を変更するchown user file.txt
ll権限を確認するll
useradd新規ユーザーを作成するuseradd yulikepython
userdelユーザーを削除するuserdel yulikepython
groupaddグループを追加するgroupadd newg
groupdelグループを削除するgroupdel newg

ネットワーク関連のコマンド

ネットワーク関連のコマンドをまとめました。

コマンド概要詳細
scpリモートコンピューターにコピーscp -r dist username@example.com:/home/yulikepython/www/scpコマンドの基本と使い方
sshリモートコンピューターに接続ssh ubuntu@192.168.11.12SSH接続とは?他のコンピューターへリモートでアクセス
pingパケットの応答を確認ping google.com/
routeルーティングの表示route/
ftpファイルをFTPで転送ftp 192.168.11.12/
ifconfigネットワークを表示ifconfig -a/
netstatネットワークの接続状態を確認netstat
netstat -i
netstat -r
/
ipipアドレスやルーティング情報を取得ip address
ip route
/

ディレクトリ・ファイル関連のコマンド

ディレクトリやファイルを移動・操作するコマンドです。

コマンド概要詳細
lsディレクトリ内のファイル・フォルダを調べるlsLinuxのlsコマンドの書き方やオプションを徹底解説
cdディレクトリを移動するcd next_dir/
mkdir空のフォルダを作成するmkdir new_dir/
touch空のファイルを作成するtouch new.txt/
cpファイルをコピーnano memo.txt memo1.txt/
mvファイルを移動するmv memo.txt new_dir/memo.txtmvコマンドの基本・使い方
rmファイルを削除するrm memo.txtrmコマンドの基本
zipファイルをzip化するzip -r archive.zip dir1Zipコマンド・オプションのすべて
tar.tarファイルを扱うtar xvzf file.tar.gz
tar tzf tgz file.tar.gz
/

テキストにまつわるコマンド

テキストを扱うコマンドをご紹介します。

コマンド概要詳細
catファイルを読み取るcat memo.txt/
lessファイルを1画面ずつ表示less memo.txt/
nanoファイルを作成
ファイルを編集
nano memo.txtnanoエディターの使い方
grepテキストファイル内の文字列を検索するgrep ‘s*’ file.txt/

コマンドを使いこなすコツ3選

コマンドを使いこなすための方法を3つご紹介します。

使い方をすべて覚えていなくても、コツさえ覚えればコマンドは使いこなせるのです。

  • manコマンドを使う
  • –helpオプションを使う
  • 検索して調べる

manコマンドを使う

man コマンド名

以下のように、コマンドの詳しい説明が出てきます。

$ man ls
LS(1)                                                             User Commands                                                            LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the  FILEs  (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is
       specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below

       -B, --ignore-backups
              do not list implied entries ending with ~

       -c     with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort  by  name;
              otherwise: sort by ctime, newest first

       -C     list entries by columns

–helpオプションを使う

–helpオプションを使うと、オプションの一覧を取得できます。

コマンド名 –help

$ ls --help
使用法: ls [オプション]... [ファイル]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  . で始まる要素を無視しない
  -A, --almost-all           . および .. を一覧表示しない
      --author               -l と合わせて使用した時、各ファイルの作成者を表示する
  -b, --escape               表示不可能な文字の場合に C 形式のエスケープ文字を表示する
      --block-size=SIZE      with -l, scale sizes by SIZE when printing them;
                               e.g., '--block-size=M'; see SIZE format below

検索して調べる

検索して調べる方法もあります。

検索による方法をご紹介するのは、ターミナルで調べる方法だと、英語表記などでわかりにくいことがあるからです。

以下のように検索すると良いでしょう。

コマンド名 使い方

まとめ:Linuxのコマンドは全部覚えなくても問題ない

当記事でご紹介した主なコマンドです。

コマンド用途概要詳細
unameOSOS情報を表示uname
uname -a
/
freeシステムメモリの使用状況を表示free -m/
useaddユーザー新規ユーザーを作成するuseradd yulikepython/
chmod権限ファイル・ディレクトリの権限を変更するchmod 755 memo.txt/
scpネットワークリモートコンピューターにコピーscp -r dist username@example.com:/home/yulikepython/www/scpコマンドの基本と使い方
sshネットワークリモートコンピューターに接続ssh ubuntu@192.168.11.12SSH接続とは?他のコンピューターへリモートでアクセス
lsファイル・ディレクトリディレクトリ内のファイル・フォルダを調べるlslsコマンドの書き方やオプションを徹底解説
cdファイル・ディレクトリディレクトリを移動するcd next_dir/
catテキストファイルを読み取るcat file.txt/
nanoテキストファイルを作成
ファイルを編集
nano new_file.txtnanoエディターの使い方

各用途の項目へ進めば、より詳しいコマンド一覧がご覧いただけます。

ただし一度にすべてのコマンドを覚える必要はありません。

必要なときにいつでもこちらまで戻ってきてください。

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

「Djangoで開発したアプリをWebで公開するにはどうするの?」

✔当ブログ掲載の記事

  • Djangoで作る日報アプリ開発
  • WebアプリをWeb上に公開する方法
  • Webアプリ開発に必要なそのほかの情報
【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCへ投げ銭をする

タイトルとURLをコピーしました