CLI

FFmpegで実際使うと便利だが脳みそに焼き付いてくれないオプションメモ

コマンドラインで利用できる動画編集ツールFFmpegですが、十数年来の付き合いだというのに、たまにしか使わないもんだからオプションが脳みそに定着してくれませんw いざ使うとめっちゃ便利なんですよ。でもそこまでたどり着けないw

今回は年貢の納め時と思ってオプションの一覧を自分用にまとめることにします。

ちなみに構成を考えながら動画編集する場合には、素直にAdobe PremiereやFinalCutなどのGUIの編集ソフトを使った方が早いです。FFmpegはあくまで定形処理を行う場合に活躍してくれるものと言えます。
続きを読む

[Linux] 連番付きで出力する – nl

nlコマンドを利用すると、出力結果の各行の先頭に連番を付けることができます。

$ nl -w 1 -n ln file.txt
1   Apple
2   Orange
3   Banana

要は行番号ですね。デフォルトでは連番の後ろにはタブが挿入されます。
続きを読む

[Linux] Terminalを閉じてもバックグラウンドの処理を実行し続ける – nohup

Linuxでシステム運用をしていると、数時間〜数日間に及ぶバッチ処理を実行することがあります。手動でプログラムを起動する場合にディスプレイの前にずっと付きっきりでは過労死まっしぐらです。またうっかりTerminalを閉じてしまうと大惨事になってしまうため通常はバックグラウンドで実行します。

その際の具体的なコマンドは以下の通り。

$ nohup (コマンド) & 

コマンドの最後に&を付けるだけでバックグラウンドで実行してくれます。ただこれだけだとTerminalを閉じてしばらくすると自動的にプログラムも終了してしまいます。そこでコマンドの冒頭に nohup を付けることで強制終了を防ぐことができます。

標準出力に表示されるはずだった内容はカレントディレクトリに nohup.out というファイル名で記録されます。

またコマンドの実行が終了すると以下のような通知が来ます。

$ nohup sleep 10 & 
[1]+  終了                  sleep 10

続きを読む

[Linux] 一定間隔でコマンドを実行する – watch

小ネタです。
特定のコマンドを一定間隔で自動的に実行したい場合は watch コマンドを使用します。

例えば以下のコマンドでwc -l foo.txtが10秒置きに実行されます。

$ watch -n 10 wc -l foo.txt

画面がwatchコマンド専用モードに切り替わります。終了したい場合はCtrl+cなどを入力します。
続きを読む

[Linux] 指定した大きさのファイルを作成する – dd

小ネタです。

LinuxやmacOS上で特定サイズのファイルを作成するにはddコマンドを利用します。以下のコマンドを実行すると中身がすべてゼロの1kbyteのファイルを生成できます。

$ dd bs=1024 count=1 if=/dev/zero of=file1
$ ls -l  
total 8
-rw-r--r--  1 katsube  staff  1024  2  4 17:53 file1 

odコマンドでバイナリファイルとして表示すると、以下のようにすべて0が記録されていることを確認できます。

$ od test1                                
0000000    000000  000000  000000  000000  000000  000000  000000  000000
*
0002000

続きを読む

自分のグローバルIPを確認するコマンド「showip」

手前味噌ですが、自分のグローバルIPをコマンド一発で確認できる「showip」をついカッとなって作成しました。VPNやプロキシ経由で接続中に自分のIPがほんとに変わったか確認したかったのです。

$ showip
203.0.113.1

内部の処理的にはIPアドレスを表示してくれるWebサービスにリクエストを投げその結果を表示しているという非常にシンプルな物です。

対応しているサービスは以下の通り(デフォルトはAWS)。

service_cddefaultURL
awshttps://checkip.amazonaws.com
googlehttps://domains.google.com/checkip
ifconfigiohttps://ifconfig.io/ip
ifconfigmehttps://ifconfig.me/ip
ipaddrshowhttp://ipaddr.show/

続きを読む

Linux入門「はじめてのコマンドライン」- Part.5

※この記事は専門学校の講義用に作成されたものです

今回はLinuxを利用する上で避けては通れない「パーミション」について取り上げます。

今後Linux上でプログラミングを行ったり、サーバ運用をする場合には必ずこのパーミションを意識して行う必要が出てくるためです。もしいい加減なパーミションの設定をしていると、コマンドを間違えて実行した際の被害の拡大を招くだけではなく、悪意のある第三者に攻撃の糸口を与えてしまいかねません。

パッと見は地味ですが非常に重要な項目と言えます。
続きを読む

Linux入門「はじめてのコマンドライン」- Part.2

※この記事は専門学校の講義用に作成されたものです

前回はLinuxでの基本的なコマンドラインの操作方法、ファイルやディレクトリの扱い方について練習しました。今回はディレクトリ(フォルダ)の「移動方法」について学習します。
続きを読む

Linux入門「はじめてのコマンドライン」- Part.1

※この記事は専門学校の講義用に作成されたものです

LinuxにはWindowsやmacOSと同じ様にGUIを利用した操作ができる「XWindow」という仕組みもありますが、遠隔地にあるサーバを操作する場合には「コマンド」を入力して実行する方法が一般的です。

今回は初めてコマンドを操作する方を対象に、基本的な操作方法を取り上げます。

続きを読む

NeDBのデータファイルをCLIから操作する

Node.jsなどからローカルファイルを簡易的なデータベースとして利用できるNeDBですが、ちょっとデータを編集するのに毎回コードを書くのも面倒。そこでCLIから利用できる「nedb-repl」を使うと非常に楽ちんに操作できます。


続きを読む

[Linux] ディレクトリをツリー状に表示する – tree

今回は以下のようにディレクトリやファイルをツリー状に表示してくれるtreeコマンドです。

$ tree .
.
├── LICENSE.txt
├── README.md
├── bin
│   └── gpwd.js
├── coverage
│   ├── clover.xml
│   ├── coverage-final.json
│   └── lcov.info
├── index.js
├── package-lock.json
├── package.json
└── test
    └── genPassword.test.js

続きを読む