Debianと仲良くなろう!使い方紹介

2023-01-03

Debianは、LinuxOSの一つです。

ここでは、Debian上でよく使うLinuxコマンドを1ページでまとめています。
オプション類は省略している部分もありますが、たまにLinuxのコマンドを使う人には役に立つかと思っています。(私です?)

OSバージョン確認

cat /etc/debian_version

OS再起動

sudo reboot

ファイル削除

rm .htaccess

APACHE関係

Apacheバージョン情報

sudo apache2ctl -V

Apacheバージョン情報から抽出表示
※この場合、「MPM:」が含まれている行のみ抽出表示

有効化されたモジュール情報

sudo apache2ctl -M

サービスの起動

sudo systemctl start apache2

サービスの停止

sudo systemctl stop apache2

サービスの再起動

sudo systemctl restart apache2

設定ファイルの再読込

sudo systemctl daemon-reload

PHPが読み込んでいる ini ファイル一覧

php --ini

※コンソールで実行するとcli版の情報が表示される。WEB上の実行環境(FPMなど)と異なるので注意

Apacheの設定など

Apacheの設定の仕方はDebian特有なパッケージ管理する機能を知る必要があります。それらについては、こちらにまとめているのでご参照ください。

ファイル検索(find)

findはファイルやディレクトリを検索するコマンドです。指定したファイル名またはディレクトリ名と一致するものを探します。

ファイル・ディレクトリ対象

find 検索先 -name ファイルまたはディレクトリ名
find /etc/apache2/ -name hogehoge.conf

ファイル名のみ

find 検索先 -type f ファイル名
find /usr/ -type f hogehoge.txt

ディレクトリ名のみ

find 検索先 -type d ディレクトリ名
find /usr/ -type d box

全文検索(Grep)

Grepはファイル内容まで検索するコマンドです。串刺し検索などとも言われたりします。

主な使用例(個人的)

grep -r キーワード フォルダー名/*
grep -r password
hogehoge/*

sigoto.txtというテキストファイル内に「password:xxxxxxxx」というテキストを書いたとします。このファイルを上記の使用例で見つけることができます。複数のファイルの内容から検索してくれるコマンドなのでとても便利です。

※findはファイル内のテキストで検索できないのでそこが大きな違いです。

上記コマンドは内容の解説が必要です。

キーワード部分には正規表現を用いた高度な文字指定が可能です。

正規表現とは、*(ワイルドカード)を超えた文字の指定ができます。
下記は電話番号を検索時に使用する正規表現です。

[0-9]+-?[0-9]+-?[0-9]
  • 00-0000-0000
  • 0000000000

上記のような-(ハイフン)が含まれているものと含まれていないものを同時に探すことができます。興味のある方は「正規表現」で検索して見てください。プログラムをする上でもとても便利な知識になります。

-rで再帰的処理オプションといい、指定したディレクトリ内の子ディレクトリ内も、その中の孫ディレクトリもすべて辿って処理します。

指定したディレクトリ内のファイルと、中のディレクトリ内のファイルもすべて検索してくれるので、あまり多くのファイルが対象になると時間がかかります。ますが、全てのファイルの中を見るので時間がかかります。

探しているファイルのディレクトリがわかっている場合は-rを抜いて実行すると、指定したディレクトリ内のみを検索します。

よく使うオプション簡単まとめ

  • -r サブディレクトリも対象とする(主な使用例で既に使用)
  • -i 大文字小文字区別しないで検索
  • -E |を使用できるようになる拡張正規表現
    grep -r ’刃牙|バキ’ comics/*
    ※ 刃牙 及び バキ のいずれかが含まれるものを検索
  • -Cx 指定(x)行分前後の行を結果に表示

出力内容から抽出(Grep)

Grepはファイルだけでなく、出力内容のテキストからも検索して抽出することができます。

phpの設定情報を表示するコマンドです。

php -i 

その中から、mbstringの含まれる行を抽出するコマンド

php -i | grep mbstring

複数ページにまたがるような文量から目的の文字列を見つけることはコマンドライン上では大変ですが、探す文字列が決まっていればgrepによって必要な行のみ表示することが可能です。

テキストエディター

コマンドラインで使用するテキストエディタがviが有名で愛好者も多いですが、他のウインドウでコピーしたテキストを利用したり、逆にテキストエディタのテキストのコピーを他のウィンドウで利用したりと行った点で、nanoをおすすめします。(Google Cloud Engin のGコンソールでは快適)

nano hogehoge.conf

パッケージインストールについて

リポジトリ(パッケージサーバのアドレス)の設定

/etc/apt/以下にまとめられているファイルにアプリケーションのパッケージのあるアドレスが記述されています。

Debian9であれば、ファイル内のリポジトリに「stretch」という文字が含まれている。Debian10であれば「buster」、Debian11であれば「bullseye」の文字列が含まれている。目的としたバージョンの文字列にその部分を書き換えてインストールコマンドを実行することでOSのバージョンを簡単(?)に上げることができる。

ちなみに自分の環境では以下のリポジトリを記載したファイルが該当します。

  • /etc/apt/sources.list
  • /etc/apt/backports.list
  • /etc/apt/sources.list.d/google-cloud.list
  • /etc/apt/sources.list.d/google-cloud-monitoring.list
  • /etc/apt/sources.list.d/mysql.list

パッケージ一覧を更新

sudo apt update

キャッシュファイルを削除(インストールされていない)

sudo apt autoremove

キャッシュファイルを削除(すべて)

sudo apt clean

更新により他のアプリケーションなどと衝突の起きない最小限の更新

sudo apt upgrade --without-new-pkgs

システムの完全なアップグレード

sudo apt full-upgrade

アプリケーションを指定してインストール

sudo apt install php7.3-mbstring php7.3-mysql php7.3-xml
sudo apt install <span
class="has-inline-color has-accent-color">php7.3-mbstring php7.3-mysql php7.3-xml</span>Code language:
HTML, XML
(xml)

赤字の部分にインストールしたいアプリケーションをスペース区切りで追記できる。

まとめ

個人的によく使うものと、オプションのみを完結にまとめました。
コマンドによっていは、もっと細かく便利なオプションがあるものもあるので、次のステップへの足がかりにしていただければ幸いです。

Debian,Linux,サーバ

Posted by 管理者