Debianと仲良くなろう!使い方紹介
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)
赤字の部分にインストールしたいアプリケーションをスペース区切りで追記できる。
まとめ
個人的によく使うものと、オプションのみを完結にまとめました。
コマンドによっていは、もっと細かく便利なオプションがあるものもあるので、次のステップへの足がかりにしていただければ幸いです。
ディスカッション
コメント一覧
まだ、コメントがありません