LinuxにPostgreSQLをインストールする方法

May 26,2020 11:55 PM
Category:[PostgreSQL]
Tag:[PostgreSQL]
Permalink

LinuxにPostgreSQLをインストールする方法を紹介します。

ここではyumではなく、rpmパッケージを使います。

ネットでいろいろ調べましたが、yumで一発でインストールする方法はないようです。

CentOSのサイトの、

https://buildlogs.centos.org/c7.1708.u.i386/postgresql/20171208163247/9.2.23-3.el7_4.x86_64/

にある、下記の3つのパッケージをダウンロードして、Linuxサーバにアップロードします。

postgresql-9.2.23-3.el7_4.x86_64.rpm
postgresql-libs-9.2.23-3.el7_4.x86_64.rpm
postgresql-server-9.2.23-3.el7_4.x86_64.rpm

今回ダウンロードしたバージョンは9.2.23ですが、お使いのLinuxに合うバージョンを選んでください。

次にrpmコマンドでインストールします。

# rpm -ivh postgresql-9.2.23-3.el7_4.x86_64.rpm postgresql-libs-9.2.23-3.el7_4.x86_64.rpm postgresql-server-9.2.23-3.el7_4.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:postgresql-libs-9.2.23-3.el7_4   ################################# [ 33%]
   2:postgresql-9.2.23-3.el7_4        ################################# [ 67%]
   3:postgresql-server-9.2.23-3.el7_4 ################################# [100%]

これでインストールされました。

余談ですが、いきなりpsqlコマンドで接続すると下記のエラーに遭遇します。

# psql
psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません
ローカルにサーバが稼動していますか?
Unixドメインソケット"/var/run/postgresql/.s.PGSQL.5432"で通信を受け付けていますか?

initdbコマンドで初期化します。

# service postgresql initdb
Hint: the preferred way to do this is now "postgresql-setup initdb"
Initializing database ... OK

サービスをスタートします。

# service postgresql start
Redirecting to /bin/systemctl start postgresql.service

サービスをスタートできたか、確認します。

# service postgresql status
Redirecting to /bin/systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since 木 2020-05-21 10:32:31 JST; 7s ago
  Process: 26454 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 26448 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 26457 (postgres)
   CGroup: /system.slice/postgresql.service
           tq26457 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
           tq26458 postgres: logger process
           tq26460 postgres: checkpointer process
           tq26461 postgres: writer process
           tq26462 postgres: wal writer process
           tq26463 postgres: autovacuum launcher process
           mq26464 postgres: stats collector process
  
 5月 21 10:32:30 test systemd[1]: Starting PostgreSQL database server...
 5月 21 10:32:31 test systemd[1]: Started PostgreSQL database server.
Comments [0] | Trackbacks [0]

4xCameraMakerを使って一人で多重録音する方法

May 17,2020 11:55 PM
Category:[iPhone]
Tag:[4xCameraMaker, iPhone, Roland]
Permalink

4xCameraMakerを使って一人で多重録音する方法を紹介します。

ここでは2分割した動画をサンプルに説明します。

1.はじめに

Rolandが公開しているiPhoneアプリ「4XCameraMaker」は「4XCamera」より高機能で、

  • 最大4台のiPhoneをシンクロ可能
  • 親機となるiPhoneを使って各iPhoneの映像を同時撮影
  • 各種編集機能

などの特徴があります。

一人で多重録音することも可能らしいですが、ネットで具体的な操作方法が公開されていないので、本エントリーでまとめてみました。

2項で基本操作、3項以降でFAQっぽく説明します。

2.一人で多重録音する

手順をざっと説明しておきます。

  1. 1つめの動画を撮影
  2. 2つめの動画を撮影
  3. 編集画面で2つの動画を選択して配置

同期の取り方などは3項以降で説明します。

では説明です。

初回起動期の説明画面をスキップすると録画画面になるので、赤いボタンをタップして適当な動画を撮影します。

撮影開始すると、1秒おきに画面の枠が赤色になります。これは同期をとるためのガイドのようですが今回は使いません。

撮影を停止します。この動画は「TAKE-1」として保存されます。「TAKE-1」をタップ。

TAKE選択画面が表示されるので「TAKE-2」をタップ。

TAKE2の動画を撮影します。

TAKE-2をタップ

TAKE-1をタップしてTAKE-1の動画に戻ります。

TAKE-1に戻ったので(撮影画面に戻るだけで撮影した動画は表示されない)、左上の編集画面のアイコンをタップ。

「録画した動画で新規編集」をタップ。

編集画面に切り替わります。上半分に選択したTAKEの動画、下半分の画面に各TAKEの動画が表示されます。左上の+マークのアイコンをクリック。

TAKE-2の画面を選択。さきほどの手順ではTAKE-1に一旦切り戻しましたが、TAKE-2のままここでTAKE-1動画を選択してもOKです。

右下の「選択」をクリック。

TAKE-2が下の画面に追加されました。

真ん中左にある編集アイコンをクリック。

日マークのアイコンをクリック。このアイコンは2分割する動画を選択するためのものです。ちなみに左右にスライドするといろいろなアイコンが表示されます。

TAKE-2の「0:00:00」あたりをタップ。「0:00:00」あたりをタップしないとずれた位置で配置されるようです。また、先にタップしたTAKEが分割画面の上に表示されます。追加した編集を削除したい場合はこのアイコンを長押しします。

TAKE-2に日マークがつきます。続いてTAKE-1の「0:00:00」あたりをタップ。

これで2分割する動画が選択されました。TAKE下のアイコンが日アイコンに切り替わります(各時刻で使ったアイコンがこの位置に表示される模様)。動画はiPhoneの動画同様、いつものアルバムに保存されます。

右上の↑のアイコンをクリック。

「動画保存」をタップ。

これで動画として保存されました。

3.各TAKEを撮り直ししたい場合

「TAKE-x」をタップして、TAKE選択画面で取り直したいTAKE番号を選択。

4.TAKEを削除したい場合

TAKE選択画面で削除したいTAKEに移動後、再度TAKE選択画面で同じTAKE名をタップして「テイク-xを消去する」をタップ。

5.TAKEごとの同期をとる

編集画面で上部の同期用アイコンをタップ。

これで下半分の画面で各TAKEをドラッグすれば位置を調整できます。全体をずらいたいときはTAKE以外の背景をドラッグします。

6.その他操作方法を知りたい

?アイコンをタップすれば、各アイコンの説明が表示されます。

Comments [0] | Trackbacks [0]

VirtualBoxのウィンドウリサイズに合わせて仮想マシンをリサイズする方法

May 14,2020 11:55 PM
Category:[VirtualBOX]
Tag:[CentOS, VirtualBOX, Windows]
Permalink

VirtualBoxのウィンドウリサイズに合わせて仮想マシンをリサイズする方法を紹介します。

1.問題点

VirtualBoxのウィンドウリサイズに合わせて仮想マシンをリサイズされません。

これがデフォルトの状態です。

VirtualBoxのウィンドウをリサイズしても仮想マシン側のウィンドウがリサイズされていないことが分かります。

ということで、VirtualBoxのウィンドウリサイズに合わせて仮想マシンをリサイズする方法を紹介します。

2.対処方法

Virtualboxウィンドウのリサイズに応じて、仮想マシン画面のサイズを自動的にリサイズさせるために、Guest AdditionsをゲストOSにインストールする必要があります。

その手順は下記のとおりで、「デバイス」→「Guest Additions CDイメージの挿入」をクリック。

「"VBox_GAs_6.1.4"には自動的に起動することを意図したソフトウェアが含まれています。実行してみますか?」とダイアログが表示されるので「実行する」を選択。

管理者パスワードを要求されるので、入力後「認証する」をクリック。

処理が終わると、「Press Return to close this window...」と表示されるので、[Enter] キーをクリック。

「仮想光ディスク C:\Program Files\Oracle\Virtualbox\VBoxGuestAdditions.isoをマシンxxxに挿入できません。」というエラーが表示される場合は、「「VBoxGuestAdditions.isoをマシンxxxに挿入できません。」の対処」をご覧ください。

Comments [0] | Trackbacks [0]

動画の音声に別録りの音声を合成・同期させる方法

May 5,2020 11:55 PM
Category:[Premiere Pro]
Tag:[Adobe, PremierePro]
Permalink

動画の音声に別録りの音声を同期させる方法を紹介します。

1.問題点

動画を撮りましたが音声の品質がよくないので、別録りした音声を動画に使いたいのですが、合成や同期させる方法がわかりません。

ということで、動画の音声に別録りの音声を同期させる方法を紹介します。

2.動画の音声に別録りの音声を同期させる

動画の音声に別録りの音声を同期させるには、Adobe Premiere Proを使用します。

いろいろやり方があるようですが、ここではそのひとつを紹介ます。

まず、新規プロジェクトを作成します。

(クリックで拡大、以下同様)

合成したい動画ファイルおよび、音声ファイルを左下のプロジェクトパネルにドラッグ&ドロップ。

音声ファイルをタイムラインパネルにドラッグ&ドロップ。

続いて、動画ファイルをタイムラインパネルにドラッグ&ドロップ。キャプチャのように、映像と音声のタイムラインが分離して配置されるようにドロップしてください。

Shiftキーを押しながら動画と音声のタイムラインを両方選択。選択すると白い枠が表示されます。


選択したタイムラインを右クリックして「同期」を選択。

「オーディオ」を選択して「OK」をクリック。

これで映像側の音声と別録りした音声が同期されました。

3.動画の音声を削除

次に動画の音声を削除します。動画のタイムラインを選択状態にします。

動画のタイムラインを右クリックして、「リンク削除」を選択。これで映像と音声を独立して操作できるようになります。

音声のタイムラインを選択。

右クリックして「消去」を選択。

これで動画側の音声が消えます。

4.不要部分の削除

これで映像と別録りの音声のみになりました。最後に動画からはみ出した音声などを削除します。

別録り音声のタイムラインを選択。

左端をポイントするとマウスマークが赤くなるので、その状態で映像の左端に合わせるようにドラッグします。

このような感じになります。

右端も同じ要領で映像の右端に合わせます。

このような感じになります。

5.ファイル保存

「ファイル」→「書き出し」→「メディア」をクリック。

YouTube用であれば、形式を「H.264」、プリセットを「YouTube~」にして、一番下の「書き出し」をクリック。

これで動画ファイルが出力されます。

Comments [0] | Trackbacks [0]

iPhoneやAndroidスマホをPCのウェブカメラにする方法

May 3,2020 11:55 PM
Category:[iPhone]
Tag:[Android, iPhone, iVCam]
Permalink

iPhoneやAndroidスマホをPCのウェブカメラにする方法を紹介します。

1.問題点

オンライン飲み会など、長時間のビデオ通話ではPCの画面を使った方が快適です。

が、PC付属のウェブカメラは画質がよくありませんし、そもそもPCにカメラがついてない場合もあります。

ということで、iPhoneやAndroidスマホについている高画質なカメラを、PCのウェブカメラとして利用する方法を紹介します。

PCにウェブカメラがついていない場合も確認済なので利用可能です。

2.概要

ここでは「iVCam」という、スマホをウェブカメラ化するアプリを利用します。

手順が少し長くなるので、先にざっと説明しておきます。ここではLINEグループのビデオ通話を例にしていますがzoomでもほぼ同じ手順です。

iVCamアプリをスマホとPCの両方にインストール
スマホとPCを同じWiFiに接続しておくか、PCとスマホをUSBで接続
PCとスマホのアプリを起動すればスマホのカメラがPCのウェブカメラとして接続
LINEのグループ通話を起動
LINEの設定でウェブカメラをPCのウェブカメラからiVCamのカメラに切り替え(PCにウェブカメラが付いてない場合はiVCamのカメラで起動)

WiFiでの接続ではスマホのバッテリー消費が大きいので、USB接続がおすすめです。

また、スマホをウェブカメラにするので、ミニ三脚を用意しておくといいでしょう。

ということで、以下、詳細な手順です。

3.インストール

PCでiVCamのサイトにアクセスして、ソフトをダウンロード。Windowsの場合は下の赤枠のアイコンをクリックします。

ダウンロードしたインストーラーを起動して、表示された手順にしたがってインストールします。画面だけ並べておきます。

言語の選択

インストール先の設定(そのままでOK)

プログラムグループの設定(そのままでOK)

追加タスクの選択(そのままでOK、必要に応じてチェックを外す)

インストール準備完了(そのままでOK)

セットアップウィザード完了

セキュリティの警告(「アクセスを許可する」をクリック)

同様に、スマホにもiVCamアプリをインストールします(手順は省略)。

4.接続

両方のインストールが完了したら、PCとスマホを同じWiFiまたはUSBで接続します。

5.起動

PCのiVCamとスマホのiVCamをそれぞれ起動(起動順序はなし)すると、先に起動した方に下のような接続画面が表示されます。

(クリックで拡大)

PCとスマホの両方が起動されると、ウェブカメラの映像に切り替わります。

この状態では、LINEグループ通話やzoomなどのウェブカメラとしてまだ動作していませんが、そのまま放っておいてください。

6.LINEグループ通話やzoomの設定

注:PCにウェブカメラがない場合、LINEグループ通話やzoomの起動でiVCamの映像が適用されていると思うので、本項の設定は不要です。

さて、iVCamを起動した状態でLINEのグループ通話を開始すると、PCのウェブカメラの映像が表示されると思います。

カメラを切り替えるには、グループ通話画面左上の設定アイコンをクリックして設定画面を開き、「通話」→「カメラ設定」で「e2eSoft iVCam」を選択します。

(クリックで拡大)

これでLINEグループ通話にiVCamの映像が適用されます。

7.その他

iVCamのスマホ側の画面には映像反転など、さまざまなオプションが用意されているので、いろいろ試してみるとよいでしょう。

Comments [0] | Trackbacks [0]

レビューツール

May 1,2020 12:03 AM
Category:[ツール]
Tag:[Review, Tool]
Permalink

レビューツールを公開します。

1.主な機能

  • ウェブブラウザ+CGIを利用したレビューツールです。
  • レビューコメントの投稿・回答・回答確認・修正・修正確認の各フェーズに対応。一覧画面ではステータスを色で識別可能です。
  • リコメント機能もあり、きめ細かいやりとりが可能です。
  • コメントはファイル形式で保存するので、データベースの設定は不要。
  • コメントのCSV形式での一括インポート・エクスポートが可能。

複数のプロジェクトで使われている、実績のあるツールです。

一昔前のUIですがわかりやすいデザインになっており、インストールと簡単な設定ですぐに利用可能です。

一覧のイメージは下記です。

(クリックで拡大)

レビューコメントのサンプルは下記です。

(クリックで拡大)

2.マニュアル等

詳細についてはレビューツールのページをご覧ください。

レビューツール

Comments [0] | Trackbacks [0]

Windows10のエクスプローラーでアイコンから縮小画像に変更する方法

April 22,2020 11:55 PM
Category:[Windows]
Tag:[Windows10]
Permalink

Windows10のエクスプローラーでアイコンから縮小画像に変更する方法を紹介します。

1.問題点

Windows10のエクスプローラーでフォルダを開いたところ、画像ファイルがアイコン表示になってしまい、縮小画像表示になりません。

(クリックで拡大、以下同様)

ということで、Windows10のエクスプローラーでアイコンから縮小画像に変更する方法を紹介します。

2.エクスプローラーで縮小画像に変更する(方法1)

エクスプローラーで画像を表示するには、「表示」→「オプション」をクリック。

オプション画面が開くので、「表示」タブの→「常にアイコンを表示し、縮小版は表示しない」をチェックして「OK」をクリック。

3.エクスプローラーで縮小画像に変更する((方法2)

Cドライブを選択して、「ドライブツール」をクリック。

「クリーンアップ」をクリック。

「縮小表示」にチェックを入れて(他の項目はチェックを外す)、「OK」をクリック。

確認のダイアログが表示されるので、「ファイルの削除」をクリック。

4.エクスプローラーで縮小画像に変更する(方法3)

上記の方法でもアイコン表示が縮小表示に変わらない場合があります。

情報がないのですが、どうも古い日付のファイルまたはフォルダについてアイコン表示になるようです。

よって、新しいフォルダを作成し、そこに過去の画像ファイルをコピーすると表示されるようです。

なお、レジストリを編集して画像ファイルを常に縮小表示させる方法もあるようです(下記)。

5.参考サイト

Comments [0] | Trackbacks [0]

Windows10のエクスプローラーに表示された×印を消す方法

April 17,2020 11:55 PM
Category:[Windows]
Tag:[Windows10]
Permalink

Windows10のエクスプローラーに表示された×印を消す方法を紹介します。

1.問題点

Windows10のエクスプローラーに赤色の×印が大量に表示されています。

(クリックで拡大、以下同様)

フォルダだけでなく、ファイルにも×印が大量に表示されています。

ということでWindows10のエクスプローラーに表示された×印を消す方法を紹介します。

2.エクスプローラーに表示された×印を消す

タスクバーの「OneDrive」のアイコン(雲型)を右クリック。

「設定」をクリック。

「アカウント」タブの「このPCのリンク解除」をクリック(次回この画面を開いたときに「このPCのリンク解除」は表示されていますが、リンクは解除されているようです)。

「このPC上のアカウントのリンクを解除しますか?」というダイアログが表示されるので、「アカウントのリンク解除」をクリック。

再度、タスクバーの「OneDrive」のアイコン(雲型)を右クリックして「設定」をクリックし、「設定」タブの「WindowsにサインインしたときにOneDriveを自動的に開始する]のチェックを外し、「OK」をクリック。

本来であればここまでの手順で×印のアイコンが消えるようですが、冒頭に申し上げたようにOneDriveにサインインしていなかったので、OneDriveへのサインインや再起動を繰り返している間に消えました。

Comments [0] | Trackbacks [0]

Windows 10でシンボリックリンクを作成する

April 16,2020 11:55 PM
Category:[Windows]
Tag:[Windows10]
Permalink

Windows 10でシンボリックリンクを作成する方法を紹介します。

1.はじめに

Cドライブにインストールした\Strawberry\perlのパスを\usrにリンクを貼りたいのですが、方法が分かりません。

ネットで調べると「Windows PowerShellを使用する」と書いてるのを見かけますが、mklinkコマンドが認識されないようです。

(クリックで拡大、以下同様)

ということで、Windows 10でシンボリックリンクを作成する方法を紹介します。

2.シンボリックリンクを作成する

シンボリックリンクを作成するには、「Windowsシステムツール」→「コマンドプロンプト」右クリックして、さらに「その他」→「管理者として実行」をクリックし、管理者権限でコマンドプロンプトを実行します。

あとはmklinkコマンドを実行すればOKです。

フォーマットは次の通りです。

mklink -d <新しく作るディレクトリ> <元のディレクトリ>

実行結果は下記の通りです。

コマンドプロンプトを管理者権限で実行しないと、下記のように「この操作を実行するための十分な特権がありません。」というエラーになります。

Comments [0] | Trackbacks [0]

「VBoxGuestAdditions.isoをマシンxxxに挿入できません。」の対処

April 13,2020 11:55 PM
Category:[VirtualBOX]
Tag:[CentOS, VirtualBOX, Windows]
Permalink

「VBoxGuestAdditions.isoをマシンxxxに挿入できません。」の対処方法を紹介します。

1.問題点

Virtualboxウィンドウのリサイズに応じて、仮想マシン画面のサイズを自動的にリサイズさせたいときなど、Guest AdditionsをゲストOSにインストールする必要があります。

その手順は下記のとおりで、「デバイス」→「Guest Additions CDイメージの挿入」をクリック。

(クリックで拡大、以下同様)

これでGuest Additionsが読み込まれるはずですが、「仮想光ディスク C:\Program Files\Oracle\Virtualbox\VBoxGuestAdditions.isoをマシンxxxに挿入できません。」というエラーが表示されます。

ファイルは該当のフォルダに存在しますが、対処方法が分かりません。

ということで、「VBoxGuestAdditions.isoをマシンxxxに挿入できません。」の対処方法を紹介します。

ここではうまく動作したときの手順で紹介します。

2.対処方法

ゲストOSの電源をオフして、Virtual Boxマネージャの「設定」をクリック。

「ストレージ」をクリック。

コントローラーIDEの「光学ドライブの追加」アイコンをクリック。

「Not Attached」にある「VBoxGuestAdditions.iso」をクリックして「選択」をクリック。

これで「VBoxGuestAdditions.iso」が追加されました。

この後ゲストOSを起動して、冒頭の操作を試したのですが同じエラーになったため、ゲストOS起動中の状態で、コントローラーIDEの「VBoxGuestAdditions.iso」をクリックして、右側のアイコンをクリックし、「仮想ドライブからディスクを除去」を選択。

これで表示が「空」になり、この状態で「デバイス」→「Guest Additions CDイメージの挿入」をクリックしたところ、エラーが出ずに正常な動作になりました。

Comments [0] | Trackbacks [0]

ThinkPad X390購入

April 11,2020 11:55 PM
Category:[PC]
Tag:[Lenovo, ThinkPad]
Permalink

ThinkPad X390を購入しました。

ThinkPad X390

これまで使っていたノートPCはThinkPad X61という、2007年に発売された機種です。

メモリ増設やSSD換装、Windows Vistaから7へのアップグレードなどを行い、使い続けてきました。

正確に何年に購入したのか不明ですが、10年以上使っていたことは間違いありません。ちなみに動画編集など重い処理を行わなければX61でもまだまだいけると思います。

今回購入したX390を選んだ理由は、トラックポイントを使いたいためと、X1 Carbonより横幅が狭く、コンパクトだったためです。

最近のノートPCはトラックパッドが主流ですが、キーに指を置いたまま親指でトラックパッドを操作するのに慣れません。

トラックパッドが使いこなせればMacbook Proも視野にいれてたのですが、今回は残念ながら見送りました。

スペックは下記のとおりです。

  • Intel Core i7-10510U(1.80GHz, 8MB)
  • Windows 10 Home 64bit - 日本語版
  • 16GB PC4-21300 DDR4 (オンボード)
  • 1TB ソリッドステートドライブ (M.2 2280, PCIe-NVMe) OPAL対応
  • 13.3型FHD液晶 (1920x1080 IPS 300nit) 光沢なし
  • カーボンファイバー
  • 内蔵グラフィックス
  • IR & 720p HDカメラ(マイクロフォン付)
  • インテル Wireless-AC 9560 (2x2) + Bluetooth
  • WWAN対応
  • Fibocom L850-GL LTE CAT9
  • RJ45拡張コネクター
  • NFC
  • 指紋センサーあり、NFCあり (ブラック)
  • 日本語キーボード(バックライト付) ブラック
  • TPMあり(TCG V2.0準拠,ハードウェアチップ搭載)
  • BIOS Absolute有効
  • スマートカードリーダー
  • 6セル リチウムイオンポリマー内蔵バッテリー (48Wh)

カスタマイズモデルで、OSがWindows 10 Proでない点以外、一番良いスペックを選択したので、構成価格は40万オーバーです。

が、Lenevo公式サイトでは頻繁に割引セールをしていて、クーポンコード利用することで20万ちょっとで済みました。

ということで、開封の儀です。

外箱はこんな感じです。

ThinkPad X390

付属品はACバッテリーとUSB Type-C→LANポートケーブル、説明書です。

ThinkPad X390

カスタマイズでカーボン(通常はポリフェニレンサルファイド)のトップカバーを選択しました。見た目は変わりませんし値段は高くなりましたが、これで数百グラム軽くなることを考えれば安いものです。

ThinkPad X390

カバーを開けたところ。黒ボディに赤のトラックポイントがひときわ目立ってます。

ThinkPad X390

横幅がX1 Carbonより数センチ短いのでキーボードの右側のいくつかのキーがやや狭くなっています。

ThinkPad X390

初期設定後のデスクトップ画面です。

ThinkPad X390

ディスプレイカバーをカーボンに変更したことで本体はかなり軽く感じます。

X61の横幅がかなり狭かったので、キーボードが広く感じますがそのうち慣れるでしょう。

これから旧PCからデータを転送したり、ソフトを再インストールしたり、色々作業を行っていくうちに感想が変わってくるかもしれませんが、ひとまず大変満足です。

Comments [0] | Trackbacks [0]

コマンド実行結果を標準出力とファイルの両方に出力する方法

April 7,2020 11:55 PM
Category:[Linux]
Tag:[Linux]
Permalink

Linuxでコマンド実行結果を標準出力とファイルの両方に出力する方法を紹介します。

1.問題点

"ls -l"を実行するとファイル情報が標準出力で表示されます。

# ls -l
合計 12
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 aaa
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 bbb
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 ccc

この結果を標準出力だけでなく、ファイルにも掃き出したいのですが方法が分かりません。

なお、事前にscriptコマンドは実行できないものとします。

またファイルにはコマンド実行結果以外の情報は含めないものとします。

ということで、コマンド実行結果を標準出力とファイルの両方に出力する方法を紹介します。

2.コマンド実行結果を標準出力とファイルの両方に出力する

コマンド実行結果を標準出力とファイルの両方に出力するには、次のコマンドを実行します。

# script -q -c "ls -l" /dev/null | tee result.txt

3.解説

scriptコマンドのオプションの意味は次の通りです。

  • -q:終了メッセージをなくす
  • -c コマンド:指定したコマンドだけをログに残す

このオプションを使えば、

# script -q -c "ls -l"

でも問題ないように思われますが、このコマンドを実行すると、typescriptファイルは、

スクリプトは 2020年02月13日 18時39分34秒
 に開始しました合計 12
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 aaa
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 bbb
-rw-r--r--. 1 root root 8  2月 13 17:40 2020 ccc
-rw-r--r--. 1 root root 0  2月 13 18:39 2020 typescript

となり、「スクリプトは~に開始しました」という余分なメッセージが含まれてしまいます。

これを回避するために、

# script -q -c "ls -l" /dev/null 

とし、結果をデフォルトのファイルに書き込まないようにします。

そして、teeは標準入力から読んだ内容を標準出力とファイルに書き出すコマンドで、scriptコマンドの結果をパイプでteeに渡すことで実現します。

# script -q -c "ls -l" /dev/null | tee result.txt

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

vimで開くファイルをコマンドラインで編集する方法

March 31,2020 11:55 PM
Category:[Linux]
Tag:[Linux, vim]
Permalink

vimで開くファイルをコマンドラインで編集する方法を紹介します。

1.はじめに

vimは実行できるけど画面上で編集できないという環境なのですが、編集する方法が分かりません。

ということで、vimで開くファイルをコマンドラインで編集する方法を紹介します。

2.vimで開くファイルをコマンドラインで編集する

vimで開くファイルをコマンドラインで編集するには、"-c"オプションを使用します。

フォーマット

vim -c {Command} -c {Command} ... File

または

vim +{Command} +{Command} ... File

"+"または"-c"は、最初のファイルが読み込まれた後に{command}を実行するオプションです。"+"または"-c"は、最大10個まで使用できます。

{Command}はExコマンドとして解釈されます。{Command}にスペースが含まれている場合はダブルクォーテーションで囲む必要があります(使用するシェルに依存)。

vim "+set si" main.c

3.サンプル

次の内容をtest.txtで保存します。

foo
foo
foo

次のコマンドを実行します。

# vim -c '/foo' -c 's/foo/bar/' -c ':wq' test.txt

コマンドラインには何も表示されず、test.txtは次の内容になります。

bar
foo
foo

"-c"オプションで実行している内容は次の通りです。

  1. "foo"を検索(してその行に移動)
  2. ヒットした行の"foo"を"bar"に変換
  3. 終了

最後の終了を実行しない場合、vimが開いた状態で止まります。

一括置換したい場合は、

# vim -c ':%s/foo/bar/g' -c ':wq' test.txt

とすればOKです。

Comments [0] | Trackbacks [0]

多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法

March 17,2020 11:55 PM
Category:[Linux]
Tag:[Linux, ssh]
Permalink

多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法を紹介します。

1.問題点

リモートサーバ上にファイル(test.txt)があります。

ここでは「SSHポートフォワーディング(トンネリング)とは」のウェブサーバ(10.10.10.123)上にあるものとします。

このファイルをクライアントサーバから編集する場合、

# ssh 10.10.10.10
# ssh 10.10.10.123
# vi test.txt

とします。

が、クライアントサーバからウェブサーバのファイルを直接編集する方法が分かりません。

ということで、多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法を紹介します。

2.多段ssh接続が必要なサーバ上のファイルをvimで直接編集する

多段ssh接続が必要なサーバ上のファイルをvimで直接編集するには、まず、1つめの画面でポートフォワーディングを実施します。

# ssh -N -L 10000:10.10.10.123:22 10.10.10.10

ここまでは通常のsshポートフォワーディングと同じです。なお、ポート番号はsshの「22」を指定しておきます。

そして、2つめの画面でvimを起動します。

# vim scp://root@localhost:10000//home/foo/test.txt

これで、多段ssh接続が必要なサーバ上のファイルのvim画面が開きます。

3.解説

vimは次のように指定することで、リモートサーバのファイルを編集することができます。

# vim scp://<ユーザ>@<リモートサーバのIPアドレス>//<編集対象ファイル>

今回は、この「リモートサーバのIPアドレス」にsshポートフォワーディング情報「localhost:10000」を与えます。

# vim scp://<ユーザ>@localhost:10000//<編集対象ファイル>

この設定により、多段ssh接続せずにvimの起動が行えます。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Linuxシェルでコマンド実行結果を入れた変数の改行を出力する方法

March 4,2020 11:55 PM
Category:[Linux]
Tag:[Linux]
Permalink

Linuxシェルでコマンド実行結果を入れた変数の改行を出力する方法を紹介します。

1.問題点

次のようなシェルスクリプト(test.sh)を作りました。

#!/bin/bash
 
result=`ls -l`
echo $result

このスクリプトを実行すると、

# ./test.sh
合計 16 -rw-r--r--. 1 root root 8 2月 13 17:40 2020 aaa -rw-r--r--. 1 root root 8 2月 13 17:40 2020 bbb -rw-r--r--. 1 root root 8 2月 13 17:40 2020 ccc -rwxrwxr-x. 1 root root 41 2月 13 17:38 2020 test.sh

となり、改行が失われますが、対処方法が分かりません。

ということで、シェルでコマンド実行結果を入れた変数の改行を出力する方法を紹介します。

2.コマンド実行結果を入れた変数の改行を出力する

コマンド実行結果を入れた変数の改行を出力するには、echoするときの変数をダブルクォーテーションで括ればOKです。

#!/bin/bash
 
result=`ls -l`
echo "$result"

これで改行が反映されます。

# ./test.sh
合計 16
-rw-r--r--. 1 root root  8  2月 13 17:40 2020 aaa
-rw-r--r--. 1 root root  8  2月 13 17:40 2020 bbb
-rw-r--r--. 1 root root  8  2月 13 17:40 2020 ccc
-rwxrwxr-x. 1 root root 41  2月 13 17:38 2020 test.sh
Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages