CentOS コマンド一覧 (Linux)

コマンド 操作のtips
ディレクトリ関連(pwd,cd,mkdir,mv,rmdir,rm,cp)
ファイルの一覧を表示する(ls)
ファイルの内容を表示する(cat,less,more,head,tail,grep,cut)
ファイルを操作する(cp,rm,mv,touch,diff,find,file,ln,echo,wc,iconv)
  ディスクの使用量関連(df,du,lsblk)
  OS関連
  プロセス関連
日時関連
  ネットワーク関連
  ユーザー関連
  サービス関連
  パッケージ関連のコマンド(yum等)
圧縮/展開
権限
  bashのコマンド
  サーバー関連

Linuxのコマンドの一覧です(CentOSも含む) 確認環境:CentOS 8/7/6

操作のtips

操作 コマンドと説明
パスワード等の文字列の貼付け alt + v
サイズの大きいファイルをcat等で開いて止まらなくなった時 ctrl + c。連打も可。サイズの大きいファイルは停止するまでに数十秒以上かかるときあり。
操作ログを残す場合で「いつどこで誰が」を記録しておく場合のコマンド date・・・現在日時
hostname・・・ホスト名
whoami・・・現在のユーザ

ディレクトリ関連(pwd,cd,mkdir,mv,rmdir,rm,cp)

操作 コマンドと説明
現ディレクトリを表示する(pwd) pwd
→ /home/testでpwdと入力した場合
/home/testと表示される
ディレクトリを移動する(cd) (カレントディレクトリがhomeで、homeの配下にtest1ディレクトリがある場合)
cd test1
→/homeから/home/test1に移動する
cd ..
→/home/test1から/homeに移動する
ホームディレクトリに移動する(cd) cd ~
→/etc/varから/home/test1に移動する(test1ユーザ時)
ディレクトリを作成する(mkdir) mkdir test
→ testというディレクトリを作成する
階層のディレクトリを作成する(mkdir) mkdir -p test1/test2
→ home/testで上記コマンドを実行した場合
/home/test/test1/test2が作成される
ディレクトリ名を変更する(mv) mv /home/test1/ /home/test100/
→/home配下のディレクトリ名test1をtest100に変更する
中が空のディレクトリを削除する(rmdir) rmdir  testdir
→ディレクトリの中に何か入っている場合は削除できません
中が空でない(ファイルあり)ディレクトリを削除する(rm) rm -rf dir1
→dir1というディレクトリを削除する
ディレクトリごとコピーする(cp) cp -r dir1 dir2
→ dir2が存在しない場合、dir1をdir2という名前でディレクトリごとコピーする
dir2が存在する場合、dir2の中にdir1が作成される(dir2/dir1)

ファイルの一覧を表示する(ls)

操作 コマンドと説明
ファイルやディレクトリを一覧で表示する ls -l
llも同じ表示になる
llはls -lのエイリアス
隠しファイルも表示する ls -la
更新日時の降順(新しい順)で表示する ls -lt
→ tはtimeのt
更新日時の昇順で表示する ls -lrt
→ rはreverseのr
ファイルサイズの大きい順(降順)に表示する ls -lS
→ファイルサイズの大きい順に表示される
1ページで表示する
(スクロールさせない)
ls -l | more
→ctrl + cで終了する。エンターで下に移動。
ディレクトリだけ表示 ls -d */
→ディレクトリのみ表示される
ソートせずに結果を表示する
高速に表示されます
ls -U
→ファイルが大量でlsが返ってこない時等に使用します

ファイルの内容を表示する(cat,less,more,head,tail,grep,cut)

操作 コマンドと説明
ファイルの内容を表示する (cat) cat test1.txt
→ test1.txtの内容を表示する
catコマンドで行番号を表示する(cat) cat -n test1.txt
catコマンドでファイルの中身を写す(cat) cat test1.txt >> test2.txt
→  test2.txtが存在する場合、test1.txtの内容がtest2.txtに追記される
test2.txtが存在しない場合、test1.txtの内容でtest2.txtが作成される
容量の大きいファイルの内容を表示する (less) less test1.txt
→ 上下キーでスクロールしながらファイルを表示する
起動時にファイル全体を読み込みません
スラッシュ(/)の後に検索文字列の入力で検索可能です
下方向に検索するときは n 、
上方向に検索するときは N を入力
末尾に移動するときはG、
先頭に移動するときはgを入力
終了する時は、コロン(:)とqを入力する※コロン(:)が表示されているときはコロンの入力は不要
lessコマンドで行番号を表示する(less) less -N test1.txt
終了する時は、コロン(:)とqを入力する※コロン(:)が表示されているときはコロンの入力は不要
ファイルの内容を表示する (more) more test1.txt
→ test1.txtの内容を表示する
行数が多いときはエンターキーを押すと上から下にスクロールする。1画面ずつ表示される。
ファイルの先頭から10(指定可)行表示する(head) head test.txt
→ test.txtの先頭10行の内容を表示する
head -3 test.txt
→ test.txtの先頭から3行の内容を表示する
ファイルの末尾から10(指定可)行表示する(tail) tail test.txt
→ test.txtの末尾から10行の内容を表示する
tail -3 test.txt
→ test.txtの末尾から3行の内容を表示する
ファイルの中の文字列を検索する(grep) grep test2 test1.txt
→test1.txtファイルの中にtest2という文字列を検索しtest2を含む行を表示する。検索した文字列が複数行にあった場合は複数行表示される。
ファイルから特定の文字を抜き出す(cut) cut -b 2-4 test1.txt
→test1.txtの2バイト目から4バイト目の文字を表示

ファイルを操作する(cp,rm,mv,touch,diff,find,file,ln,echo,wc,iconv)

操作 コマンドと説明
ファイルをコピーする(cp) cp test1.txt test3.txt
→test1.txtファイルをコピーしてtest3.txtを作成する
ファイルを確認して削除する(rm) rm -i test2.txt
test2.txtを削除するか確認してから削除する
確認で削除する場合はy、削除しない場合はnを入力する
ファイルを確認せず削除する(rm) rm -rf test2.txt
→確認なしで削除される
ファイル名を変更する(mv) mv test1.txt test100.txt
→ファイル名test1.txtをtest100.txtに変更する
ファイルを移動する(mv) mv test1.txt test2.txt /home/test1/testdir/
→現ディレクトリにあるtest1.txtとtest2.txtをtestdirディレクトリに移動する
mv /home/test1/testdir/* /home/test1/
→/home/test1/testdirにあるすべてのファイルを/home/test1に移動する
ファイルを置き換える(mv) mv -f test1.txt test2.txt
→test1.txtの内容がtest2.txtに記述され、test2.txtの元の内容は削除される。
test1.txtは削除され、test2.txtのみ残る。
空のファイルを作成する(touch) touch test.txt
→ test.txtというファイルが存在しない場合、test.txtという空のファイルを作成する
ファイルのタイムスタンプを更新する(touch) touch test.txt
→ test.txtというファイルが存在する場合、test.txtのタイムスタンプ※を現在の日時に変更する
(※アクセス時刻と最終更新時刻)
ファイルの差分を確認する(diff) diff test1.txt test2.txt
→ test1.txtとtest2.txtの差分を表示する
1行のみ差分がある場合、test1.txtの1行とtest2.txtの1行が表示される
指定のディレクトリ配下のファイルとディレクトリを検索する(find) find /home -name "test"
※ダブルコーテーションは無くても可
→ testというファイルまたはディレクトリをhome配下を再帰的に検索し存在した場合パスを表示する
アスタリスクの使用も可能です。
-name "test*" → testで始まるものを検索する
現ディレクトリ配下のファイルとディレクトリを検索する(find) find . -name "test"
※ダブルコーテーションは無くても可
→ testというファイルまたはディレクトリを現ディレクトリ配下を再帰的に検索し存在した場合パスを表示する
アスタリスクの使用も可能です。
-name "test*" → testで始まるものを検索する
ファイルの種類を表示する/文字コードを確認する(file) file test1.txt
→test1.txt: UTF-8 Unicode text等表示される
sjisはNon-ISO extended-ASCII textで表示される
シンボリックリンクを作成する(ln) ln -s test1.txt dummy1.dat
→ test1.txtに対してdummy1.datというシンボリックリンクを作成する
Linux シンボリックリンクとは (処理の切替)
環境変数の文字コードを表示する(echo) echo $LANG
→en_US.UTF-8等が表示される
ファイルの文字数を表示する(wc) wc test1.txt
→6 12 60 test1.txt等が表示される。数値は前から改行数、単語の数、文字数を表します。
cat test1.txt | wc -l とcatとパイプを使うと行数のみが表示されます。
ファイルの文字コードを変換する(iconv) iconv -c -f utf8 -t sjis test1.txt
→文字コードのUTF-8をsjisに変換して表示
iconv -c -f utf8 -t sjis test1.txt > test2.txt
→文字コードのUTF-8をsjisに変換してtest2.txtに保存

ディスクの使用量関連(df,du,lsblk)

操作 コマンドと説明
パーティションごとのディスクの使用容量を表示する(df) df -h
dfはdisk freeの意味。100MB等見やすく表示される
パーティションごとのディスクの使用容量を表示する(df) df 
dfのみの場合、1000000等のバイト数で表示される
指定ディレクトリ配下の
ディレクトリごとの
ディスク使用容量を表示する(du)
du -h /home --max-depth 1
→ /home配下のディスク使用量を表示する
duはdisk usedの意味
ディスク使用容量とファイルの容量を表示する(du) du -a /home
→ /home配下のディスク使用量とファイルの容量も表示する
ディスクのファイルシステムを確認する(df) df -T
→xfsやext4と表示される
物理ディスクの一覧、サイズ、パーティションを表示(lsblk) lsblk
→以下のように表示される
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
|- xvda1 202:1 0 10G 0 part /

OS関連のコマンド

操作 コマンドと説明
OSのバージョンを確認する(cat) cat /etc/redhat-release
→CentOS release 6.8 (Final)等が表示される
OSのバージョンを確認する(cat) cat /etc/system-release
→CentOS Linux release 7.9.2009 (Core)等が表示される
OSのバージョンを確認する(cat) cat /etc/os-release
CPU情報を表示する(cat) cat /proc/cpuinfo
メモリ情報を表示する(cat) cat /proc/meminfo
パスを表示する(echo) echo $PATH
→/usr/local/bin:/usr/bin:/usr/local/sbin等表示される
コロン(:)で区切り
コマンドの実行時間を計測する(time) time cp test1.txt test3.txt
→以下のように表示されます。realがかかった時間です。
real 0m0.003s
user 0m0.000s
sys 0m0.001s
システムの稼働時間を表示する(uptime) uptime
→サーバーがいつ再起動したか確認できる
OSのリリース番号を表示する(uname) uname -r
→2.6.32-642.el6.x86_64 等表示される
カーネルのコンパイル日時を表示する(uname) uname -v
→#1 SMP Tue May 10 17:27:01 UTC 2016 等表示される(2016/5/10にコンパイルされた)
OSの名称を表示する(uname) uname -s
→Linux 等表示される
プロセッサのタイプを表示する(uname) uname -p
→x86_64 等表示される
システム情報を表示する(uname) uname -a
→Linux centos-test 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 等表示される
AWS CLIのバージョンを確認 aws --version
aws-cli/1.18.147 Python/2.7.18 Linux/5.10.118-111.515.amzn2.x86_64 botocore/1.18.6等表示される
SELinuxの現在の状態を確認
(getenforce)
getenforce
enforcing・・・SELinuxは有効
permissive・・・アクセス制限は行わない。警告あり
disabled・・・SELinuxは無効
SELinuxを一時的に無効にする
(setenforce)
setenforce 0
→設定がPermissiveになる
SELinuxを有効にする
(setenforce)
setenforce 1
→設定がEnforcingになる

プロセス関連のコマンド

操作 コマンドと説明
プロセスの状況を表示する(top) top
→Ctrl + c で終了する
実行中のプロセスを表示する(ps) ps aux
プロセスを絞る場合はパイプとgrepを追加する
ps aux | grep httpd
aは全てのプロセスを表示
uはプロセスのユーザ情報を表示
xは全てのプロセスを表示(端末なしも含む)
実行中のプロセスを表示する(ps)
親子関係を表示
ps -ef
プロセスを絞る場合はパイプとgrepを追加する
ps aux | grep httpd
-eは全てのプロセスを表示
fはプロセスの親子関係を表示
プロセスを終了する(kill) kill  プロセスID または
kill -15 プロセスID または kill -TERM プロセスID
SIGTERM=15=終了を意味します。コマンドでは数値またはSIGは省略します。
プロセスを強制終了する(kill) kill -9 プロセスID
→ 指定したプロセスIDを強制終了する
CentOS7:systemctl kill -s 9 ユニット名
→systemctl kill -s 9 httpd.service
SIGKILL=9=強制終了を意味します。コマンドでは数値またはSIGは省略します。
処理を一時停止する(sleep) sleep 10
→10秒間処理が停止します。
処理をバックグラウンドで実行する(&) sleep 10 &
→&をいれるとバックグラウンドで処理を実行します。

日時関連のコマンド

操作 コマンドと説明
現在日時を表示する(date) date
Sat Apr 20 22:24:58 JST 2019 等表示される
現在日を表示する(date)
(YYYYMMDDを指定)
date +"%Y%m%d"
20190420 等表示される
現在時を表示する(date)
(hh:mm:ssを指定)
date "+%T"
00:08:07 等表示される
現在日時を表示する(date)
(yyyy/MM/dd HH:mm:ssを指定)
date +"%Y/%m/%d %H:%M:%S"
2019/04/20 22:25:15 等表示される
日時を変更する(date) date --set "2021/07/22 14:49:00"
2021/07/22 14:49:00 に変更される
iso-8601形式で表示(date) date --iso-8601=seconds →秒まで表示
2023-01-21T07:04:38-0800
date --iso-8601=minutes →分まで表示
2023-01-21T07:05-0800
10分前の日時を表示(date) date --date '10min ago'
2023年 1月 21日 土曜日 06:57:21 PST
当月のカレンダーを表示する(cal) cal

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

操作 コマンドと説明
IPアドレスを表示する CentOS6:ifconfig
→inet addr:192.168.64.130等が表示される
注:CentOS7では標準でインストールされていません。非推奨です。
CentOS7:ip a  (または ip addr)
→ens33等がある行にinet 192.168.64.128/24等が表示される
192.68.64.128で接続する
enは、ethernet(イーサネット)を指す
sは、スロット番号を指す
ホスト名を表示する hostname
→localhost.localdomain等が表示される
ネットワークが繋がっているか確認する(ping) ping IPアドレス
→ping 192.168.1.1等で疎通確認する
DNSに問い合わせる(dig) ドメイン名からIPアドレス、またはIPアドレスからドメイン名を取得できます。
dig ドメイン名
使用中のポートを表示する CentOS6:netstat -an | grep tcp
注:CentOS7では標準でインストールされていません。非推奨です。
CentOS7:ss -an | grep tcp
使用中のポートのPID/プロセス名を表示する CentOS6:netstat -ap | grep tcp
注:CentOS7では標準でインストールされていません。非推奨です。
CentOS7:ss -ap | grep tcp
ネットワークの経路を表示する(traceroute) traceroute ドメイン名
IPルーティングテーブルを表示する CentOS6:route
注:CentOS7では標準でインストールされていません。非推奨です。
CentOS7:ip r  (または ip route)
ARPテーブルを表示する
ARPプロトコル(MACアドレスを取得する)
CentOS6:arp
注:CentOS7では標準でインストールされていません。非推奨です。
CentOS7:ip n  (または ip neighbor)
ネットワークのプロトコルでデータを送信/取得する(curl) curlの公式ページのマニュアルです。
https://curl.haxx.se/docs/manual.html
パケットをキャプチャする(tcpdump) tcpdumpの公式ページのマニュアルです。
https://www.tcpdump.org/manpages/tcpdump.1.html

ユーザー関連のコマンド

操作 コマンドと説明
ユーザをリストで表示する(cat) cat /etc/passwd
グループとユーザをリストで表示する(cat) cat /etc/group
ユーザを作成する(useradd) useradd testuser
→ testuserというユーザを作成する
パスワードを設定する(passwd) passwd testuser
→ testuserのパスワードを設定する
パスワードの有効期限を表示する(chage) chage -l testuser
→ testuserのパスワード有効期限「Last password change:Jul 15,2022」等表示される
ユーザのIDを表示する(id) id testuser
→ testuserのIDを表示する
uid=500(test) gid=500(test) groups=500(test)等表示される
ユーザの変更を行う(su) su testuser
→ testuserに変更されます
※変更したユーザーを終了する時はexitを入力する
rootユーザに変更する(su) su
→rootユーザに変更されます
※変更したユーザーを終了する時はexitを入力する
suとsu -の違い
suは、現ユーザの環境変数でrootになります
su -は、rootユーザの環境変数でrootになります
現在のユーザの確認を行う(whoami) whoami
→root等表示される
ユーザを削除する(userdel) userdel testuser
→ testuserを削除する
指定したユーザーでコマンドを実行する(sudo) sudo コマンド名
→指定したユーザーでコマンドを実行する
実行するコマンドはsyslogに記録されます。
デフォルトはroot
/etc/sudoersファイルにユーザーとコマンドを設定する必要があります。→visudoコマンドで設定します。
rootユーザに変更する(sudo) sudo su -
rootユーザになりrootユーザのホームディレクトリに移動する
ログインユーザの履歴を表示する(last) last
ログインユーザの情報を表示する(who) who
ログインユーザの情報を表示する(w) w

サービス関連のコマンド

操作 コマンドと説明
IPルーティングテーブルを表示する CentOS6:chkconfig --list
Linux サービスの自動起動の設定とランレベル
CentOS7:systemctl list-unit-files
指定したサービスの自動起動の設定を表示する CentOS6:chkconfig --list サービス名
→ chkconfig --list httpd
CentOS7:systemctl is-enabled ユニット名
→ systemctl is-enabled httpd.service
サービスの自動起動の設定を切り替える CentOS6:chkconfig --level レベル サービス (on/off/reset)
→ chkconfig --level 35 httpd off  
(httpdサービスはレベル3と5で自動起動しない)
サービスの自動起動の設定を追加する(有効化する) CentOS6:chkconfig --add サービス名
→ chkconfig --add httpd
CentOS7:systemctl enable ユニット名
→ systemctl enable httpd.service
サービスの自動起動の設定を削除する(無効化する) CentOS6:chkconfig --del サービス名
→ chkconfig --del httpd
CentOS7:systemctl disable ユニット名
→ systemctl disable httpd.service
apacheのバージョンを表示する httpd -v
→ Server version: Apache/2.2.15 (Unix)

パッケージ関連のコマンド(yum等)

操作 コマンドと説明
パッケージがインストールされているか確認する(rpm) rpm -qa | grep httpd
→ httpdがインストールされているかを確認する
インストールされていればパッケージ名が表示される
パッケージがインストールされているか確認する(yum) yum list installed | grep httpd
→ httpdがインストールされているかを確認する
インストールされていればパッケージ名が表示される
yumでインストールした履歴の一覧を確認(yum) yum history
→以下のように履歴が表示される
2 | -y install mysql | 2022-07-10 04:02 | Install | 1
1 | -y install httpd | 2022-07-08 01:47 | Install | 9
yumでインストールした個別のパッケージの履歴の一覧を確認(yum) yum history package-list mariadb
→以下のように表示される。IDがわかる。
ID|Action(s) | Package
----------------------------------------------
2 |Install | mariadb-1:5.5.68-1.amzn2.x86_64
yumでインストール時の詳細を確認 yum history info 2
→以下のように表示される。IDを指定する。
Transaction ID : 2
Begin time : Sun Jul 10 04:02:35 2022
以下略
Javaのバージョンを確認する java -version
→openjdk version "1.8.0_282"
Javaの切り替えを行う alternatives --config java
→数値を入力してJavaのバージョンを選択する。
Pythonのバージョンを確認する python --version
→Python 2.7.5

圧縮/展開

操作 コマンドと説明
tarを作成する(tar) tar cvf test.tar dir1
→ dir1ディレクトリ配下をtest.tarにする
tarを展開する(tar) tar xvf test.tar
→ test.tarを展開する
ファイルを拡張子gzの圧縮を行う gzip test1.txt
→test1.txt.gzが作成される
拡張子gzのファイルを展開する
(元のファイルが展開される)
gzip -d test1.txt.gz
→test1.txt.gzは削除され、test1.txtになる
拡張子gzのファイルを展開する
(元のファイルは残したまま)
gzip -dc test1.txt.gz > aaa.txt
→test1.txt.gzはそのままで、aaa.txtが生成される
gzipで圧縮したtarを作成する(tar) tar zcvf test.tar dir1
→ dir1ディレクトリ配下をgzipで圧縮したtest.tarにする
展開はtarを展開するときと同じでいける

権限

操作 コマンドと説明
アクセス権限を変更する(chmod) chmod 600 test.txt
→ test.txtのアクセス権限を600に変更する
実行権限を付与する(chmod) chmod +x test.sh
→ test.shに実行権限を付与する
test.shのあるディレクトリにいる場合、./test.shという入力で実行できる
ファイル/ディレクトリの所有者を変更する(chown) chown testuser test.txt
→test.txtの所有者をtestuserに変更する
※変更を行えるのは、そのファイルの所有者または管理者のみ
ファイル/ディレクトリの所属グループを変更する(chown) chown testgrp test.txt
→test.txtの所属グループをtestgrpに変更する
※変更を行えるのは、そのファイルの所有者または管理者のみ
ファイル/ディレクトリの所有者と所属グループを変更する(chown) chown testuser:testgrp test.txt
→ test.txtの所有者をtestuserにし,所属グループをtestgrpに変更する
※変更を行えるのは、そのファイルの所有者または管理者のみ

bashのコマンド

操作 コマンドと説明
コマンドの構文を確認する(help) help コマンド名 または
コマンド名 --help
エイリアスの一覧を表示する(alias) alias
エイリアスを設定する(alias) alias ls='ls --color=auto'
→ lsと入力するとls --color=autoが実行される
環境変数の一覧を表示する(env) env
個別の環境変数の値を表示する(echo) echoコマンドと$を前につけた環境変数を入力する
→echo $HOME
シェル変数の一覧を表示する(set) set
個別のシェル変数の値を表示する(echo) echoコマンドと$を前につけたシェル変数を入力する
→ echo $SHELL
リダイレクト(>) echo 'test1' > test1.txt
→ ファイルに書き込む
echo 'test1' >> test1.txt
→ ファイルに追記で書き込む
パイプ処理を行う rpm -qa | grep vsftpd
→ 記号の( | )を使用して、コマンドをつなげる
bashのバージョンを表示する bash -version

サーバー関連のコマンド

操作 コマンドと説明
サーバを再起動する reboot
サーバをシャットダウンする shutdown -h now

関連の記事

Linux bashでログイン時に読み込まれるファイル
Linux rcスクリプトとランレベル毎のシンボリックリンク
Linux bashの主な機能
Linux OpenSSHサーバの設定ファイル(sshd_config)
Linux viのコマンド一覧

△上に戻る