日々の忘備録とリファレンス

PHPマニア

HTML・CSS・PHP・jQuery・Mysql・Linuxの総合情報サイト

HTML・CSS・PHP・jQuery・Mysql・Linuxの情報サイト

Linux

Linuxとは

Linuxとは「Linux Is Not UNIX」の略です。

UNIXとはサーバーに優れた有償のOSでありますが、それに似た無償のOSがLinuxです。

※ほとんどのコマンドに

--help

--version

のコマンドがある。

コマンドを途中で辞める

ctrl+c

ダウンロードインストール

yum

yumは、Yellow dog Updater Modifiedの略です。Yellow Dog Linuxで開発されたRPMパッケージ管理ソフトです。

yumは依存性をまとめてインストールしてくれるので、yumが使えればrpmコマンドではなく優先的にyumコマンドを使ってダウンロードやインストールをします。

list

全てのパッケージ一覧を表示

・各リポジトリ名またはinstalled

各パッケージ、またはインストール済のパッケージを表示

install パッケージ名

インストールする。

groupinstall
update パッケージ名

アップデートする。パッケージ名がなければ全体をアップデートする。

remove パッケージ名

アンインストールする。

info パッケージ名

パッケージの詳細を返す。

repolist

インストールされているリポジトリの一覧を返す。

clean all

キャッシュを全てクリアする。

-y

プロンプトが表示されたら全てyesにする。

rpm

rpmは、Red Hat Package Managerの略だったが、現在はRPM Package Managerの略です。

(ITでは再帰定義の略が流行ってます)

ファイル名は、

(パッケージ名)-(バージョン)-(リリース番号).(アーキテクチャ).rpm

アーキテクチャとは、コンパイルされた時の構成されてるマシンのこと。

以下によく使われるアーキテクチャをまとめました。

アーキテクチャ名 備考
i386 i386およびその互換CPU。
i486 i486およびその互換CPU。
i586 Pentium、MMX Pentiumおよびその互換CPU。
i686 Pentium Pro、Pentium II、Pentium III、Pentium4、Celeronなど。
k6 K6、K6-2、K6-III。
athlon Athlon、Athlon MP、Athlon XP。
x86_64 Opteron、Athlon64、Xeon(EM64T)。
src ソースパッケージ。自分で rpm パッケージを作ったりする際(rebuild)に必要。
noarch 機種(CPU)に依存しないパッケージ。
ppc Power PC。
alpha alphaチップ搭載コンピュータ。
sparc SUN SPARC。
-ivh ファイル名

install verbose hash。

インストールする。

http://から指定すればそのままインストール、wgetでDLしてからファイル名のみを指定してもよい。

-Uvh パッケージ名

update verbose hash。

インストール、もしくはインストール済のパッケージをアップデートする。

-Fvh パッケージ名

freshen verbose hash。

インストール済のパッケージをアップデートする。

-e パッケージ名

erase。

アンインストール

※-qはインストール済のパッケージへの問い合わせ。

-q パッケージ名

query。

パッケージのフルパッケージ名を返す。

-qi パッケージ名

query info。

パッケージの詳細を返す。

-ql パッケージ名

query list。

パッケージに含まれるファイル一覧を返す。

-qa

query all。

全てのパッケージの一覧を返す。

rpm -qa | grep 検索値 はよく使う。

-qf ファイルパス

query file。

ファイル生成元のパッケージ名を返す。

-qR パッケージ名

query --requires。

そのパッケージの依存パッケージを返す。

-pqR 未インストールのファイル名

packagefile query --requires

そのパッケージファイルの依存パッケージを返す。

一般操作系

vi
入力モードに切換

i

コマンドモードに戻る

escキー

保存せずに終了

:q!

保存して終了

:wq

次ページにスクロール

コマンドモードでctrl+f

前ページにスクロール

コマンドモードでctrl+b

最終行に移動

コマンドモードでG

先頭行に移動

コマンドモードでgg

logout

ログアウトする。

exit

前のユーザーに切り替える。

tree

ディレクトリをツリー構造で返す。

-L 数字

表示する階層数を指定する。

-F

ディレクトリには/を付ける。

-C

カラー表示をする。

pwd

現在のディレクトリを返す。

ls

現在の階層にあるファイルやフォルダ一覧を返す。

CentOS6以降、SELinuxで作成されると権限の後ろにドット「.」が付く。

-l

list。

権限、ファイル数、ハードリンクの数、所有者、グループ、サイズ、更新日を返す。

◾︎-n

numeric userID。

ファイルのオーナーを返す。

-a

all。

ドット「.」で始まるファイルやフォルダを含めて表示する。

lsmod

カーネルのモジュール一覧を表示する。

【ldd】ファイルパス

List Dynamic Dependencies。

共有ライブラリの依存関係を表示する。

【which】コマンド名

コマンドがインストールされている場所を返す。

【whereis】サービス名

サービスがインストールされている場所を返す。

【find】ディレクトリ

-name ファイル名

指定の(指定しなければ現在の)ディレクトリ以下に指定したファイルがあるか検索する。

-user ユーザー名

指定したユーザーが所有するファイルを検索する。

-type f

ファイルを検索する。

-type d

ディレクトリを検索する。

clear

シェルの画面をクリアする。

【su】ユーザー名

substitude user。ユーザーを切り替える。

ユーザー名を省略するとrootになる。

ファイル操作

【chmod】パーミッション ファイル名

権限を変更する。

【chown】ユーザー名 ファイル名

ファイルの所有者を変更する。

グループも同時に変更する場合は、

ユーザー名:グループ名

という書式にする。

【chgrp】グループ名 ファイル名

ファイルのグループを変更する。

【mkdir】フォルダ名

フォルダを作成する。

【cat】ファイル名

ファイルの内容を返す。

【mv】元ファイル 変更後ファイル

ファイルを移動したりファイル名を変更する。フォルダを指定するとフォルダごと移動出来る。

【cp】元ファイル コピー後ファイル

ファイルをコピーする。

【touch】ファイル名

ファイルのタイムスタンプを変更する。

存在しないファイル名を指定するとファイルを作成する。特にlinuxはmkfileなどのファイル作成コマンドが無い為、ファイル作成はこのコマンドを利用する。

【rm】ファイル名 ファイル名 ファイル名

ファイルを削除する。

◾︎-rf

ディレクトリとディレクトリ以下を削除する。

ユーザー管理

【useradd】ユーザー名

ユーザーを追加する。passwdコマンドも合わせて使わないとログイン出来ない。

adduserコマンドもあるがcentOSはuseraddと同じ。

-s シェル名

shell。利用するシェルを指定する。利用出来るシェルは/etc/shellsファイルで確認出来る。

-d ディレクトリ

directory。

ホームディレクトリを指定する。

-u

userID。ユーザーIDを指定する。

指定しなかった場合、自動的に割り振られるIDは、/etc/login.defsに記載されてある。

-D

ユーザーを作成する時のデフォルト値が確認出来る。

id

自分のユーザー情報を表示する。

【passwd】ユーザー名

指定のユーザーのパスワードを作成する。

【userdel】ユーザー名

/etc/passwdと/etc/groupと/etc/shadowから指定したユーザーを削除する。

-r

remove。

削除するユーザーの所有ファイルも削除する。削除する前に必ず

find -user ユーザー名

でユーザーの所有ファイルを確認する。

【usermod】ユーザー名

ユーザー情報を変更する。

/etc/passwd、/etc/shadow、/etc/groupが編集される。

-l 新しいユーザー名 古いユーザー名

ユーザー名を変更する。

-d

directory。ホームディレクトリを変更する。

-s

shell。ログインシェルを変更する。

-u

userID。ユーザーIDを変更する。

ただしそのユーザーで作成したファイルやフォルダは一緒には変わらないので注意。

-g

groupID。グループIDを変更する。

【groupmod】グループ名

-g

groupID。グループIDを変更する。

finger

ユーザーの情報を表示する。

【su】ユーザー名

ユーザーを切り替える

システム系

uname

unix name。OSに関する情報を表示する。

-a

all。全ての情報を表示する。

-o

OSの名称を表示する。

-n

OSのホスト名を表示する。

-r

release。OSのリリースを表示する。

hostname

ホスト名を表示する。引数にホスト名を設定すると、ホスト名を変更できる。

-a

alias。ホスト名のエイリアスがあれば表示する。

-d

DNSドメイン名を表示する。

-f

FQDNを表示する。

-i

ホストのIPアドレスを表示する。

-s

short。短い形式のホストを表示する。

lsof

/usr/sbin/lsof

現在使用しているプロセスを表示する。

■-i

ポートとプロセスを表示。

【kill】シグナル ジョブ番号

■シグナル

-9:プロセスジョブを強制終了する。

arch

OSのbitを調べる。

【du】ファイル名

disk used。

指定したファイルのディスク使用量を調べる。

runlevel

現在のランレベルを返す。

netstat
-at

現在開いているポートを返す。

systemctl

何もオプションを付けなければ、実行中のサービス一覧を返す。

※centos7から

start サービス名

起動する。

restart サービス名

再起動する。

stop サービス名

停止する。

status サービス名.service

起動中か調べる。

is-enabled サービス名.service

自動起動になっているか調べる。

enable サービス名.service

自動起動に設定する。

disable サービス名.service

自動起動しないに設定する。

service httpd configtest

でどのファイルのどこにエラーがあるか確認できる。

service

※centos6まで

パスが通ってない場合、/sbin/を前に付け足さないといけない。

--status-all

現在起動中のサービスを表示する。

サービス名 status

指定のサービスの状態を表示する。

サービス名 start

指定のサービスを起動する。

サービス名 stop

指定のサービスを停止する。

サービス名 restart

指定のサービスを再起動する。

サービス名 reload

指定のサービスを再読み込みする。

chkconfig
サービス名 on

ランレベルの2、3、4、5をonにする。

--list

それぞれのランレベルに対して、OSの起動時に自動起動するサービスを表示する。

reboot

OSを再起動する。

shutdown
-h now

シャットダウンする。

-r now

再起動する。

ps

フィルタリング

iptables

※centos6まで

設定する

iptables -に続けて設定内容を打つ。

削除する

iptables -D INPUT 命令文の行番号

service iptables save

firewalld-cmd

※centos7から

デフォルトゾーンの確認

firewall-cmd --get-default-zone

デフォルトゾーンの設定

firewall-cmd --set-default-zone=ゾーン名

定義されているサービス一覧を表示する

firewall-cmd --get-service

一時的な設定を含めて確認する

firewall-cmd --list-all

恒久的な設定を確認する

firewall-cmd --permanent --list-all

サービスを追加する

firewall-cmd --permanent --add-service=サービス名

ポートを追加する

firewall-cmd --permanent --add-port=ポート番号/tcp

サービスを削除する

firewall-cmd --remove-service=サービス名

ポートを削除する

firewall--cmd --remove-port=ポート/tcp

サービスをリロードする

firewall-cmd --reload

ネットワーク系

【ping】IPアドレス

パケット通信を確認する。

ifconfig

起動しているネットワークインターフェイスの内容を表示する。

-a

存在するインターフェースの一覧を表示する。

【traceroute】IPアドレス

ネットワーク経路を確認する。

netstat

ネットワーク接続状況を確認する。

オプション無しは、現在の有効な接続ESTABLISHEDのみ表示する。

-r

ルーティングテーブルを表示する。

nslookup

bind-utilsパッケージがインストールされてないと使えない。

DNSサーバーに名前解決の問い合わせを行う。nslookupとコマンドすると対話モードになるので、対話モードでIPアドレスやホストをコマンドするとホストやIPアドレスが返ってくるかを確認出来る。exitで対話モードを終了出来る。

【dig】ドメイン

bind-utilsパッケージがインストールされてないと使えない。

ドメイン情報をDNSサーバーから取得する。

a

最後に半角空けてaを追加すると、AレコードをDNSサーバーから取得する。

【host】IPアドレスまたはホスト

bind-utilsパッケージがインストールされてないと使えない。

ホストまたはIPアドレスを返す。

nmcli

centos7から。

NetworkManagerComandLineInterface。

g s

general status。

NetworkManagerの全般的なステータスを表示する。

■d

device。

デバイス一覧を表示する。

■d show デバイス名

device show。

指定したデバイスの詳細を表示する。

■c

connection。

コネクション一覧を表示する。

■c u デバイス名

connection up。

コネクションを有効にする。

恐らくWindowsでいうとネットワーク接続画面のアイコンの有効/無効。

■c d デバイス名

connection down。

コネクションを無効にする。

恐らくWindowsでいうとネットワーク接続画面のアイコンの有効/無効。

■c show デバイス名

connection show。

コネクションの詳細を表示する。

■c add type eth ifname デバイス名 con-name 接続名

新規で接続する。

c delete デバイス名

接続の設定を削除する。

■c m デバイス名 ipv4.method 接続方法

connection modify。

DHCPか固定かを設定する。

接続方法は、

DHCPにするなら「auto」

固定にするなら「manual」

ipv4の前に+を付けて指定すれは追加。

ipv4の前に-を付けて指定すれは削除。

■c m デバイス名 ipv4.addresses IPアドレス/CIDR

connection modify。

固定のIPアドレスを設定する。

ipv4の前に+を付けて指定すれは追加。

ipv4の前に-を付けて指定すれは削除。

■c m デバイス名 ipv4.gateway デフォルトゲートウェイ

connection modify。

デフォルトゲートウェイを設定する。

ipv4の前に+を付けて指定すれは追加。

ipv4の前に-を付けて指定すれは削除。

■c m デバイス名 ipv4.dns DNSサーバーアドレス

connection modify。

DNSサーバーを設定する。

ipv4の前に+を付けて指定すれは追加。

ipv4の前に-を付けて指定すれは削除。

■n on

networking on。

ネットワーキングを起動する。

■n off

networking off。

ネットワーキングを終了する。

※このコマンドをすると全てのネットワーキングが終了するためSSHやサイトも繋がらず、VNCコンソールから操作するしかなくなる。

n c

networking connectivity。

現在のネットワーキングの状態を表示する。

ip

centos7から。

ifconfigやrouteやarpやnetstatの代用。

■a

address。

デバイスのIPやMACアドレスを表示する。

■l

link。

リンクアップの確認。

state の後がUPかDOWNで確認できる。

■r

route。

ルーティングテーブルを表示する。

■n

ARPテーブルを表示する。

■rule

rt_tablesファイルによる設定一覧を表示する。

ss

centos7から。

netstatの代用。

■-ant

TCPソケット、UDPソケットの確認。

シェルスクリプト

echo $PATH

現在通っているパス一覧を返す。

SELinux

getenforce

SELinuxが稼動しているかを返す。

sestatus

SELinuxの状態を表示する。

シェル直指定

■httpdの再起動など

① /usr/sbin/apachectl restart

② /etc/init.d/httpd restart (③のリンク)

③ /etc/rc.d/init.d/httpd restart

④/sbin/service httpd restart

■mysqlの再起動など

① /etc/init.d/mysqld restart (②のリンク)

② /etc/rc.d/init.d/mysqld restart

■named.confの構文チェック

/usr/sbin/named-checkconf namedファイルパス

■ゾーンファイルの構文チェック

/usr/sbin/named-checkzone ドメイン名 ファイル名

■bindが正しく起動しているか

/usr/sbin/rndc status

Linux

Linuxバージョン確認

cat /etc/redhat-release

リポジトリ一覧の確認

ls /etc/yum.repos.d/

apache

バージョン確認

/usr/sbin/httpd -v

SSL

バージョン確認

openssl version

proFTPd

proftpdユーザーの追加

/usr/sbin/ftpasswd --passwd --file /etc/proftpd/ftpd.passwd --name iloha168 --uid 6002 --gid 6002 --home /var/www/vhosts/abc-mssbfm.xyz.rakuraku/httpdocs --shell /sbin/nologin

proftpdユーザーの削除

(長いけど、追加の式に--delete-userを付けるだけ)

/usr/sbin/ftpasswd --passwd --file /etc/proftpd/ftpd.passwd --name iloha168 --uid 6002 --gid 6002 --home /var/www/vhosts/abc-mssbfm.xyz.rakuraku/httpdocs --shell /sbin/nologin --delete-user

proFTPdグループの追加

/usr/sbin/ftpasswd --group --file /etc/proftpd/ftpd.group --name iloha168 --gid 6002

proFTPdグループの削除

(追加の式に--delete-groupを付けるだけ)

/usr/sbin/ftpasswd --group --file /etc/proftpd/ftpd.group --name iloha168 --gid 6002 --delete-group

Copyright© 2019-2020 php-mania.com All Rights Reserbed.

当サイトに掲載している文章、画像などの無断転載を禁止いたします。