Linuxのseqコマンドを使用することで、規則的に並んだ連番を生成することができます。
seqコマンドは、オプションを説明するよりも実行例を見たほうがわかりやすいので、いくつかの実行例を記載します。
## 1から10まで表示
数字を指定することで...
vagrant upコマンドを実行するだけで、CentOS8.1でMySQL8.0がすぐに利用できるようになるVagrantfileです。(macOSで動作確認しています)
```language-ruby
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config....
Linuxのwatchコマンドでは指定したコマンドを定期実行し、その結果を表示することができます。
watchで監視したコマンドがパイプを含む場合、そのまま書くとwatchコマンドの結果をパイプ処理してしまい、想定通り動作しません。
```language-bash
# ...
CentOS7で空いているポートはssコマンド(socket statistics)で確認できます。
TCPポートを確認したい場合は以下のようにコマンドを実行すれば良いです。
この例ではPort80, 22, 25, 3031, 3032がオープンしています
```language-bash
$ ss -nat
State ...
CentOS7でサーバ自身のIPアドレスを取得して変数に格納する方法です。
下記のコマンドではeth0インターフェースに割り当てられたアドレスを取得しています。
```language-bash
HOST_IP_ADDR=$(ip addr show eth0 | sed -nE -e 's/ *inet ([0-9.]*).*/\1...
macからiTerm2を使ってlinuxサーバにログインするとき、下記のLC_TYPE環境変数に関するエラーが出る場合があります。
```language-bash
mac$ ssh linux_server
Last login:...
-bash: warning: setlocale:
LC_CTYPE: cannot change locale (UTF-8)...
## 設定の変更
- ebsから、該当ボリュームにチェックを入れる
- アクション->ボリュームの変更
- サイズを変更する
## 変更の確認
- 説明のタブを開き、状態が"in-use Complete"になっていることを確認
- "in-use Optimizing(xx%)"の状態でも...
sshのキーファイルのfingerprint値が知りたい場合h、ssh-keygenコマンドに-lと-fを指定することで出力させることが可能です。最近のssh-keygenコマンドはSHA256の値を出力してくれるのですが、外部サービスに登録したキーを確認したい時など、場合によって...
Ansibleのコマンドをインストールして、サーバ定義を行いコマンドの実行を試してみる方法です。
## インストール
pythonのパッケージとしてインストールする
```language-bash
$ sudo pip install ansible
```
virtualenvを使ってインストール
...
CentOS 7.xのサーバを構築し、一般ユーザにパスワードなしでsudoできるようする方法です。
## wheelグループに所属するユーザはパスワードなしでsudoできるようにする
rootユーザでvisudoコマンドを実行し、/etc/sudoerのファイルを編集します
``...
AWSやgcpなどで開発用のサーバを立てている場合、費用を抑えるために夜中の間はシャットダウンさせておきたい場合があります。
このような場合、AWSだとサーバレスのlambdaサービスと組み合わせる事例をよく見かけますが、もっと簡単に自動シャットダウ...
```language-bash
# 4GBファイルのswapファイルを作成する
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo sh -c 'chmod 600 /swapfile; mkswap /swapfile; swapon /swapfile; free'
```
linuxやmacのコマンドラインから、日付を取得したい場合dateコマンドを使うと便利です。
## YYYYMMDDHH24MISS形式で取得する
下記のコマンドで、年月日時分秒の値が取得できます。
```language-bash
date +'%Y%m%d%H%M%S'
20180616141949
```
...
下記のコマンドでDBに存在する全テーブルのcountを取得できます
```language-bash
mysql --defaults-file=.my.cnf -e "select concat('select count(*) as cnt, ''', table_name, ''' as name from ', table_name, ' UNION ALL') from information_s...
sedでは`sed -e "s/before/after/g"`のように記載すると全ての行に対して文字列の置換を行うことがあります。
ですが、時にはファイルの最終行のみ置換したいなど処理範囲を指定したい場合があります。
このような場合はsedのアドレス指定の機能を使...
株式会社コロワイドの株主になると、株主優待として店舗で利用できるポイントを受け取ることができます。
現在、保有している残りポイントはWebサイトの「https://www.colowide.com/STOCKUSER/login」からログインすると、以下のように確認することがで...
sshコマンドは、オプションの後にコマンドを指定することでsshの接続先に対して指定したコマンドやシェルスクリプトを実行できます。
ですが、呼び出したシェルスクリプト内で、さらにsshコマンドを実行すると下記のエラーが出力されます。
```languag...
Linuxのシェルスクリプトで処理を自動化する時、初期パスワードをランダムな値でセットしたい場合があります。
このような場合、Linuxで用意されている/dev/urandomを利用すると便利です。
## /dev/urandomを利用したコマンドの例
以下のコマン...
Linuxのコンパイル処理などで自分でMakefileを書いた時、`make clean`コマンドを実行すると、以下のようにNo such file or directoryエラーになることがあります。
```language-bash
$ make clean
rm *.o
rm: cannot remove '*.o': No such file or di...
Linuxでbashスクリプトを作っていると、非対話でファイルに内容を追記したい場合があります。
echoコマンドと">>"リダイレクトを使うことで、ファイルの末尾に1行内容を追記できるのですが、複数行追記したい場合はechoコマンドが連続し読みづらくなり...
VagrantでMySQLを起動させて3306のポートフォワーディングを行っているときに、ホストOSから接続するとHost 'gateway' is not allowedエラーが出ることがあります。
(環境によっては'gateway'ではなく、'_gateway'になる場合もあります)
エラーの内容
...
下記の内容でVagrantfileを作成して、'vagrant up'コマンドを実行すれば、MySQLサーバが構築できます。
```language-ruby
Vagrant.configure("2") do |config|
config.vm.box = "bento/centos-7.3"
config.vm.box_check_update = false
confi...
CentOSでyumの設定を変更しようとしてyum-config-managerコマンドを実行すると、command not foundエラーになることがあります。
```language-bash
$ yum-config-manager
bash: yum-config-manager: command not found
```
これは、yumのユー...
Dockerを使用していて、docker runを実行すると下記のエラーが発生することがあります。
```language-bash
> docker run
Failed to set up the root directory for shared mount propagation: Operation not permitted
```
この場合、docker ...
Vagrantで開発環境を作る際、諸般の事情でrootユーザがパスワード認証にによるログインを行えるようにしたい場合があります。
このような場合、Vagrantfileでrootのパスワードを自動セットさせるためには、以下のようにprovisionスクリプトを作成すれば...
Linuxでシェルスクリプトを書いているときに、存在しているファイルから空行を取り除きたい時があります。
この場合、以下のようにsedコマンドを使えば、改行を取り除いた結果を標準出力へ出すことができます。
```language-bash
sed '/^$/d' /path/t...
Redmineのインストールを行っていて、下記のエラーが出たので備忘録として書いておきます。
エラーが出たコマンド
```language-bash
$ bundle install --without development test rmagick --path vendor/bundle
[!] There was an error parsing `...
Linuxでシェルスクリプトを作っていて、変数に格納された値でURLをsedで置換したい場合があります。sedだと,sコマンドが置換なので以下のような感じで指定することが多いです。
```language-bash
#!/bin/bash
BASE_URL=http://www.example.com/
sed ...
Linuxでファイルシステムのマウント状態を確認するためのコマンドに、"mount"コマンドというものがあります。
このmountですが、単純に実行すると以下のような形で、カラム位置がそろっておらず非常に読み取りづらいです。
```language-bash
$ mount
...
loglotateコマンドを使ってログの切り替えを行うとき、以下のようにパーミッションのエラーが出る場合があります。
```language-bash
error: skipping "/var/log/foobar.log" because parent directory has insecure permissions
(It's world writable...
Linuxのサーバへsshログインした時に、下記のエラーが出る場合があります。
```language-bash
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot c...
CentOS7の環境にPHP7をインストールする場合、以下のようなコマンドを実行するかと思います。
```language-bash
sudo yum install epel-release -y
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum install --en...
WebサーバのログにPHPMyAdminがインストールされているかスキャンしている不正なアクセスがあったのでメモ代わりに残しておきます。
以下のようにありがちなパスを片っ端にスキャンされているので、パスワードを掛けておくのは当然ですが、/phpMyAdmin...
Ubuntu Linuxで、初めて`crontab -e`コマンドを実行すると、以下のようにエディタの選択プロンプトが表示されます
```language-bash
> crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-edito...
Linuxではlogrotateコマンドでログの切り替えを行うことができますが、ログ切り替えの最小単位は1時間周期(hourly)です。
今回は、logrotateコマンドで、15分おきや1分おきなど、1時間より短い時間でのログ切り替えを行う方法を説明します。
## 作...
Windows環境で、bash for windowsやGit bashなどのbash環境を使っているとき、findコマンドでファイル検索しようとすると、以下のエラーが表示される場合があります。
``` language-bash
$ find ./ -print
FIND: 無効なスイッチです
```
これは、...
Ansibleで小さなファイルを大量にcopyタスクを使ってコピーする場合、処理に非常に時間がかかる場合があります。この場合、copyの代わりにsynchronizeのタスクに変更すると劇的に処理が早くなる場合があります。
変更前:
```language-yaml
- name: co...
sshでパスフレーズを未設定なキーファイルを.ssh/id_rsaにおいたにもかかわらず、以下のようにパスフレーズを聞かれる場合があります。
```language-bash
> ssh 192.160.1.2
Enter passphrase for key '/home/username/.ssh/id_rsa':
```
この症...
LinuxでメモリやCPUを多く消費していて、パフォーマンスに影響を及ぼしているプロセスを調べたいときに便利なコマンドを2つ紹介します。
```language-bash
# メモリの使用量が多い順にプロセスを表示
ps aux | sort -nrk +4 | head
# CPUの使用量が...
クラウドサーバなどリモート環境で実行されているLinuxサーバの再起動などを行った場合、いつ再起動が終わったかを知らせてほしい場合があります。
このような場合、リモートサーバがpingを許可していれば下記のコマンドで確認することができます。
``...
AWSのクラウド環境をコマンドラインから操作するために、awsコマンドというものがあります。
検索系のコマンドの場合、jsonで形式で出力させたうえでjqコマンドで必要な情報のみ抽出することが多いのですが、jqコマンドを初めて使う場合、使い方が分か...
Linuxのcron機能で、5分ごとにスクリプトを実行したい場合は、大抵の環境で下記の指定が可能です。
```language-bash
*/5 * * * *
```
ただ、上記の場合だと、開始が0分になります。
開始が0分からではなく、m分のオフセットを掛けたのち、n分おき...
Linuxではmanコマンドを利用することでコマンドのヘルプを見ることができますが、用意されているのはコマンドのヘルプだけではありません。
例えば、下記のように`man ascii`コマンドを実行することで、アスキーコード表を素早く確認する事ができます。...