CentOSとLinux(RHEL)のコマンドの一覧です。(確認環境:CentOS 8/7/6)
RHELとはRed Hat Enterprise Linuxの略です。
目次 | ファイル/ディレクトリ関連 |
パッケージ関連(+Java) | |
OS関連 | |
ネットワーク関連 | |
ユーザー関連 | |
サービス関連 | |
bash関連 | |
サーバー関連 |
ファイル/ディレクトリ関連
操作 | コマンドと説明 |
---|---|
現ディレクトリを表示する(pwd) | pwd → /home/testでpwdと入力した場合 /home/testと表示される |
ディレクトリを移動する(cd) | (カレントディレクトリがhomeで、homeの配下にtest1ディレクトリがある場合) cd test1 →/homeから/home/test1に移動する cd .. →/home/test1から/homeに移動する |
ファイルの内容を表示する (cat) | cat test1.txt → test1.txtの内容を表示する 行数が多いときは最後の1画面分のみ表示する |
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 → 上下キーでスクロールしながらファイルを表示する 起動時にファイル全体を読み込みません スラッシュ(/)の後に検索文字列の入力で検索可能です 終了する時は、コロン(:)とqを入力する |
lessコマンドで行番号を表示する(less) | less -N test1.txt 終了する時は、コロン(:)とqを入力する |
ファイルの内容を表示する (more) | more test1.txt → test1.txtの内容を表示する 行数が多いときはエンターキーを押すと上から下にスクロールする |
ファイルから特定の文字を抜き出す(cut) | cut -b 2-4 test1.txt →test1.txtの2バイト目から4バイト目の文字を表示 |
ファイルの種類を表示する/文字コードを確認する(file) | file test1.txt →test1.txt: UTF-8 Unicode text等表示される sjisはNon-ISO extended-ASCII textで表示される |
ファイルの文字コードを変換する(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に保存 |
ファイル名を変更する(mv) | mv test1.txt test100.txt →ファイル名test1.txtをtest100.txtに変更する |
ディレクトリ名を変更する(mv) | mv /home/test1/ /home/test100/ →/home配下のディレクトリ名test1をtest100に変更する |
ファイルを移動する(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のみ残る。 |
ファイルの先頭から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を含む行を表示する。検索した文字列が複数行にあった場合は複数行表示される。 |
空のファイルを作成する(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の差分を表示する |
ディレクトリを作成する(mkdir) | mkdir test → testというディレクトリを作成する |
階層のディレクトリを作成する(mkdir) | mkdir -p test1/test2 → home/testで上記コマンドを実行した場合 /home/test/test1/test2が作成される |
ファイルをコピーする(cp) | cp test1.txt test3.txt →test1.txtファイルをコピーしてtest3.txtを作成する |
ディレクトリごとコピーする(cp) | cp -r dir1 dir2 → dir2が存在しない場合、dir1をdir2という名前でディレクトリごとコピーする dir2が存在する場合、dir2の中にdir1が作成される(dir2/dir1) |
ファイルを確認して削除する(rm) | rm -i test2.txt test2.txtを削除するか確認してから削除する 確認で削除する場合はy、削除しない場合はnを入力する |
ディレクトリを削除する(中に ファイルがあっても削除する)(rm) |
rm -rf dir1 →dir1というディレクトリを削除する |
中が空のディレクトリを削除する(rmdir) | rmdir testdir →ディレクトリの中に何か入っている場合は削除できません |
ファイルやディレクトリを一覧で表示する(ls) | ls -l llも同じ表示になる llはls -lのエイリアス |
ls -lコマンドで隠しファイルも表示する(ls) | ls -la |
ls -lコマンドで更新日時の昇順で表示する(ls) | ls -lt → tはtimeのt |
ls -lコマンドで更新日時の降順で表示する(ls) | ls -lrt → rはreverseのr |
指定のディレクトリ配下のファイルとディレクトリを検索する(find) | find /home -name "test" ※ダブルコーテーションは無くても可 → testというファイルまたはディレクトリをhome配下を再帰的に検索し存在した場合パスを表示する アスタリスクの使用も可能です。 -name "test*" → testで始まるものを検索する |
現ディレクトリ配下のファイルとディレクトリを検索する(find) | find . -name "test" ※ダブルコーテーションは無くても可 → testというファイルまたはディレクトリを現ディレクトリ配下を再帰的に検索し存在した場合パスを表示する アスタリスクの使用も可能です。 -name "test*" → testで始まるものを検索する |
アクセス権限を変更する(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に変更する ※変更を行えるのは、そのファイルの所有者または管理者のみ |
シンボリックリンクを作成する(ln) | ln -s test1.txt dummy1.dat → test1.txtに対してdummy1.datというシンボリックリンクを作成する CentOS シンボリックリンク |
tarを作成する(tar) | tar cvf test.tar dir1 → dir1ディレクトリ配下をtest.tarにする |
tarを展開する(tar) | tar xvf test.tar → test.tarを展開する |
gzipで圧縮したtarを作成する(tar) | tar zcvf test.tar dir1 → dir1ディレクトリ配下をgzipで圧縮したtest.tarにする 展開はtarを展開するときと同じでいける |
環境変数の文字コードを表示する(echo) | echo $LANG →en_US.UTF-8等が表示される |
ファイルの文字数を表示する(wc) | wc test1.txt →6 12 60 test1.txt等が表示される。数値は前から改行数、単語の数、文字数を表します。 |
パッケージ関連のコマンド(+Java)
操作 | コマンドと説明 |
---|---|
パッケージがインストールされているか確認する(rpm) | rpm -qa | grep httpd → httpdがインストールされているかを確認する インストールされていればパッケージ名が表示される |
パッケージがインストールされているか確認する(yum) | yum list installed | grep httpd → httpdがインストールされているかを確認する インストールされていればパッケージ名が表示される |
Javaのバージョンを確認する | java -version →openjdk version "1.8.0_282" |
Javaの切り替えを行う | alternatives --config java →数値を入力してJavaのバージョンを選択する。 |
OS関連のコマンド
操作 | コマンドと説明 |
---|---|
CentOSのバージョンを確認する(cat) | cat /etc/redhat-release →CentOS release 6.8 (Final)等が表示される |
CPU情報を表示する(cat) | cat /proc/cpuinfo |
メモリ情報を表示する(cat) | cat /proc/meminfo |
パスを表示する(echo) | echo $PATH |
パーティションごとのディスクの使用容量を表示する(df) | df -h dfはdisk freeの意味 |
ディスク使用容量を表示する(du) | du -h /home → /home配下のディスク使用量を表示する duはdisk usedの意味 |
ディスク使用容量とファイルの容量を表示する(du) | du -a /home → /home配下のディスク使用量とファイルの容量も表示する |
ディスク使用容量を表示する(ルート配下)(du) | du -h / --max-depth 1 → ルート配下のディスク使用量を表示する |
プロセスの状況を表示する(top) | top →Ctrl + c で終了する |
システムの稼働時間を表示する(uptime) | uptime |
実行中のプロセスを表示する(ps) | ps aux |
プロセスを強制終了する(kill) | kill -9 プロセスID → 指定したプロセスIDを強制終了する CentOS7:systemctl kill -s 9 ユニット名 →systemctl kill -s 9 httpd.service |
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 等表示される |
現在日時を表示する(date) | date Sat Apr 20 22:24:58 JST 2019 等表示される |
現在日時を表示する(date) (フォーマットを指定) |
date +"%Y/%m/%d %H:%M:%S" 2019/04/20 22:25:15 等表示される |
当月のカレンダーを表示する(cal) | cal |
ネットワーク関連のコマンド
操作 | コマンドと説明 |
---|---|
IPアドレスを表示する | CentOS6:ifconfig →inet addr:192.168.64.130等が表示される 注:CentOS7では標準でインストールされていません。非推奨です。 |
CentOS7:ip a (または ip addr) →inet 192.168.64.128/24等が表示される |
|
ホスト名を表示する | 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のパスワードを設定する |
ユーザの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を入力する |
現在のユーザの確認を行う(whoami) | whoami →root等表示される |
ユーザを削除する(userdel) | userdel testuser → testuserを削除する |
指定したユーザーでコマンドを実行する(sudo) | sudo コマンド名 →指定したユーザーでコマンドを実行する 実行するコマンドはsyslogに記録されます。 デフォルトはroot /etc/sudoersファイルにユーザーとコマンドを設定する必要があります。→visudoコマンドで設定します。 |
ログインユーザの履歴を表示する(last) | last |
ログインユーザの情報を表示する(who) | who |
ログインユーザの情報を表示する(w) | w |
サービス関連のコマンド
操作 | コマンドと説明 |
---|---|
IPルーティングテーブルを表示する | CentOS6:chkconfig --list CentOS ランレベルとサービスの自動起動の設定 |
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) |
bash関連のコマンド
操作 | コマンドと説明 |
---|---|
エイリアスの一覧を表示する(alias) | alias |
エイリアスを設定する(alias) | alias ls='ls --color=auto' → lsと入力するとls --color=autoが実行される |
環境変数の一覧を表示する(env) | env |
個別の環境変数の値を表示する(echo) | echoコマンドと$を前につけた環境変数を入力する →echo $HOME |
シェル変数の一覧を表示する(set) | set |
個別のシェル変数の値を表示する(echo) | echoコマンドと$を前につけたシェル変数を入力する → echo $SHELL |
リダイレクト処理を行う | cat < test1.txt → ファイルを読み込んで表示する echo 'test1' > test1.txt → ファイルに書き込む echo 'test1' >> test1.txt → ファイルに追記で書き込む |
パイプ処理を行う | rpm -qa | grep vsftpd → 記号の( | )を使用して、コマンドをつなげる |
bashのバージョンを表示する | bash -version |
サーバー関連のコマンド
操作 | コマンドと説明 |
---|---|
サーバを再起動する | reboot |
サーバをシャットダウンする | shutdown -h now |
関連の記事
CentOS bashの設定ファイル
CentOS rcスクリプトとランレベル毎のシンボリックリンク
CentOS bashの機能
CentOS OpenSSHサーバの設定ファイル(sshd_config)
CentOS viのコマンド一覧