SAMPLE GALLERY

メモのページ

個別のホルダー・ファイルなどの容量をGUIで調べる
詳細・見た目でも調べられるので便利
Baodabl
(Disk Usage Analyzer)

メモ

バージョンの確認
cat /etc/os-release
カーネルバージョン・アーキテクチャを調べる
uname -a

エディタはATOMで決まり
ちょこっとgeditで編集。追加pluginをインストール
sudo apt-get install gedit-plugins
キーマクロのプラグインをサイトからDLする
解凍し、READMEを読んでmake installを実行
ツール->'Start macro rec.'、終了は'End ~'
マクロの実行はF4か'ctrl+alt+m'
LSL(lsl.lang):ここを参考に導入

RictyDiminished というフォントを利用すると,全角スペースが「◯」を点線で表示できるので間違いを防げる
Ricty Diminished - GitHubからダウンロード

Ubuntuのインストール後の設定

[ちょっとした事の内容]

ファイル名の一括変更

特定のファイルを削除する
find ./ -name '*.log~' | xargs rm
Thunar ファイルマネージャー

ソフトウェアセンターからインストール
GUI操作で簡単に名前の変更及び連番もできる

rename
参考 虎の備忘録 一括変換 1 虎の備忘録 一括変換 2
使い方
renmae 's/文字列/置換文字列/' file
rename 's/.htm/.html/' *
全ファイルを対象に.htm拡張子を.htmlに変更
rename 's/.htm/.html/' *
.htm拡張子を.htmlに変更
rename 's/.htm//' *
.htm拡張子を削除
rename 's/^/top_/' *.jpg
.txt拡張子の後ろに.oldを追加
rename 's/ /_/g' *.txt
すべての空白に"_"を挿入する
rename 'y/A-Z/a-z/' *.txt
大文字を小文字にする
's/-/-/e' 's/-/-/g'
e:perlの関数を利用  g:先頭から繰り返し置換する
文字列を変換したい場合には
s 、 例:'s/.htm/.html/'
文字を変換したい場合には
y 、 例:'y/A-Z/a-z/'


文字列を含むファイルを再帰的検索
grep オプション
-r : 再帰的にgrepコマンドを実行する
-n : 行番号を出力する
-w : 文字列全体にマッチする場合
-l : (option)これをつければファイル名だけを出力(マッチした部分は省く)
-e 文字列 : 検索条件を指定する
grep -rnw ディレクトリ名 -e "文字列"

文字コードの変更

文字コードは大まかにShift-JIS、EUC-JP、JIS、UTF-8、UTF-16LE、UTF-16BEなどがあります。ubuntuの日本語はUTF−8を使用しています。windowsでもUTF−8でも表示されますが文字化けするときもあります。

fileコマンドを使って表示する
使い方
file -b ファイル名
EUC
ISO-8859
Shift-JIS
Non-ISO extended-ASCII
JIS(1バイトコード)
ASCII
UTF-8
UTF-8

nkfコマンドを使って表示、実行する
改行コードは変換されません。
改行をLFにする(UNIX系)
-d,-Lu
改行をCRLFにする(Windows系)
-c,-Lw
インストール
sudo apt-get install nkf
文字コードを知る
nkf -g filename
文字コードオプション
w=UTF-8、 s=SHIFT-JIS、 e=EUC
SHIFT-JISに変換
nkf -s test.txt > sjis.txt
SHIFT-JISに変換上書き
nkf -s --overwrite test.txt
文字コードの表示
find . -name "*.txt" | xargs nkf --guess
UTF-8 に変換
find . -name '*.txt' | xargs nkf --overwrite -wd
EUC-JP に変換
find . -name '*.txt' | xargs nkf --overwrite -e

フォントのインストール

'LibreOffice'向けテンプレート「郵便はがき」
ubuntuに毛筆フォントをインストールする
衡山毛筆フォント KouzanGyousho.zip
青柳衡山フォントT AoyagiKouzanT.zip
衡山毛筆フォント行書 KouzanMouhitufont.zip
青柳隷書しも aoyagireisyosimo.ttf_2_01.zip
フォントビューワーで表示・確認

フォントのインストール
インストール場所は
ホーム→.local→Share→fonts
再起動

はがき宛名書き
年賀状作成
LibreOffice向けテンプレート「郵便はがき」
LibreOfficeでハガキの宛名を縦書き印刷する(スクリプト有り)

置換 sed

複数のファイルの中身の文字列を検索
find [検索対象フォルダのパス] -type f -print | xargs grep '[検索したい文字列]'

基本的な使い方
sed -オプション 's/置換前対象文字列/置換後文字列/g' 元ファイル.txt > 保存.txt
sedのsコマンドは、sの次に書いた文字を区切りとして認識します。アスタリスクでもOK
参考サイト


-i オプション 上書き保存をする

sed -i 's/str1/str2/g' test.txt 全部を置換
sed -i 's*str1*str2*g' test.txt コレでも置換します
sed -i 's/str1/str2/2' test.txt 各行の2個目を置換します
sed -i 's/str1.*//' test.txt str1という文字列から行末までを削除
csv形式のファイルならcutコマンドを使用。この項目の最下段に記述が有ります
sed -i '4s test_line' test.txt 4行目に'test_line'行を追加
sed -i '/hoge/i test_line' test1.txt キーワードhogeの前の行に'test_line'行を追加
sed -i '/hoge/a test_line' test1.txt キーワードhogeの後の行に'test_line'行を追加
sed -i '/hoge/d' test.txt キーワードhogeを持つ行を削除
sed -i.bak 's/str1/str2/g' *.conf バックアップ(.bak)を取る

サブディレクトリも含めて一括置換 find

{}の場所には検索したファイル名が入る。; はコマンドの終了を表すが、シェルに「;」を解釈させず、find へ「;」を渡すためにエスケープしてある
find . -name '*.php' -exec sed -i 's/str1/str2/g' {} \;
find . -name '*.php' -exec sed -i 's*str1*str2*g' {} \;
キーワードhogeの前の行に'test_line'行を追加
find . -name '*.html' -exec sed -i '/hoge/i test_line' {} \;
キーワードhogeの後の行に'test_line'行を追加
find . -name '*.html' -exec sed -i '/hoge/a test_line' {} \;
キーワードhogeを含む行、削除
find . -name '*.html' -exec sed -i '/hoge/d' {} \;

例えば「htmlファイルに1行追加する」
下記の行の前に1行挿入する
---------- 文字列が使われていないか検索で確認 ----------
find [検索対象フォルダのパス] -type f -print | xargs grep '[検索したい文字列]'
------------------------
<li><a href="setting.html">インストール後にやること</a></li>
挿入する行
<li><a href="ddns.html">ダイナミックDNS他</a></li>

文字列にタグ・スペースがあるので一度、絶対に無い文字列1行を挿入する -> awer-asdf
find . -type f -print | xargs grep 'awer-asdf' (文字列の確認)
find . -name '*.html' -exec sed -i '/>インストール後にやること</i awer-asdf' {} \;
「awer-asdf」を置換する(区切り文字を’/’から’*’に変更)
find . -name '*.html' -exec sed -i 's*awer-asdf*<li><a href="ddns.html">ダイナミックDNS他</a></li>*g' {} \;


参考までに、先日使ったコマンで'cut'が有ります。標準出力で画面に出し コピーをしGIMPで加工。漢字と読みを書き留めた枝折を作りました
cutコマンドを使ってcsvファイルからあるフィールドを抜き出して表示させることが出来る
1番目のフィールドと3番目のフィールドを抜き出す。区切り文字はカンマ'-d ,' (cut -f 1,3 -d , test.csv)
anki用に加工する時calkで3フィールドに分けて作りカンマ区切りでCSVファイル(read01.csv)にします
2個目のカンマを<br>に変換します。このファイルはankiで使います
sed -i 's/,/<br>/2' read01.csv
<br>から文末まで削除をします。test.txtで出力。2フィールドにします
sed 's/<br>.*//' read01.csv > test.txt
cutコマンドを使って各フィールドを抽出します(test1.txt,test2.txt)
cut -f 1 -d , test.txt > test1.txt
cut -f 2 -d , test.txt > test2.txt
GINPに渡して加工。画像ファイルにして印刷・加工で枝折にします

画像サイズ変更・メタデーターの削除

ImageMagickのインストール
sudo apt-get install imagemagick
convert [ options ... ] input_file output_file
このコマンドを使うときはほとんど縮小と種類の変換だけ使うと思う

種類の変換はアウトプットファイルの拡張子だけ変えればOK
convert test.png test.jpg
一括変換をするならImageMagickの中に入っている mogrify
tagファイルを一括で上書きpngファイルにします
mogrify -format png *.tag
リサイズ(-resize) 倍率(ここでは50%) mogrify -resize 50% *.jpg 横幅サイズ256 mogrify -resize 256x *.jpg 高さサイズ256 mogrify -resize x256 *.jpg
連番があるといいね
横を200pxに合わせて連番自動縮小
convert -resize 200 *.jpg img-%02d.jpg

50%自動縮小で連番
convert -resize 50% *.jpg img-%02d.jpg

強制で連番500x300pxにする
convert -resize 500x300! *.jpg img-%02d.jpg

サムネイル、メタ情報は削除されている
convert -thumbnail 100x75 *.jpg small-%03d.jpg

空のファイル作成
convert -shadow 100% test.jpg empty.jpg

メタ情報の削除
sudo apt-get install jhead

撮影日情報をもとにファイル名を変更する
jhead -nf%Y-%m-%d-%H%M%S img_0000.jpg

jpegのExif情報を削除する
jhead -purejpg *.jpg
jhead -purejpg */*
jhead -h (help)

screenコマンド

インストール
sudo apt-get install screen
こんなことができる
端末でscreenで新しい画面ができる
仕事をしている最中にctrl+A -> Dキーで元の画面に戻る
最初の画面でscreen -rでさっき仕事した画面が表示されます
最初の画面を閉じてもscreenで仕事をしている作業は継続されています
screenでの画面は複数作れます
画面(ウインドウ)には番号が0番から順に割り当てられます
操作

screen 新しいウィンドウを開く
ctrl+a c
screen 一覧表示
ctrl+a w
screen PID付き一覧表示
screen -ls
screen 指定ウインドウを開く
screen -r PID(ps ax:表示される先頭の値)
次のウインドウを開く
ctrl+a n
戻ってウィンドウを開く
ctrl+a p
j,kキーで移動、選択ウインドウを開く
ctrl+a "
現在のウィンドウを閉じる(消滅)
ctrl+a k
screenウィンドウを離れる
ctrl+a d

PulseAudio equalizer イコライザー

PulseAudioのイコライザーを有効にするためには
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install pulseaudio-equalizer

equalizer sink と dbus-protocol モジュールをロードする
pactl load-module module-equalizer-sink
pactl load-module module-dbus-protocol

起動時に イコライザーと dbus モジュールをロードする
sudo nano /etc/pulse/default.pa を開き、以下の行を追記します

### Load the integrated pulseaudio equalizer and dbus module
load-module module-equalizer-sink
load-module module-dbus-protocol

再起動
サウンド設定で "FFT based equalizer" へ変更
イコライザーを表示させるには
ランチャー -> コンピューターの検索 -> "PulseAudio Equalizer"

OpenSSH : SSHPass を利用する

SSHPass を利用して、パスワード認証の際のパスワードの入力を自動化します
sudo apt -y install sshpass
sshpass -p PASSWORD ssh USERNAME@ADDRESS command 引数
もし初回接続の場合は StrictHostKeyChecking=no を指定かも?無くても大丈夫かも
sudo sshpass -p xxxxxx ssh -o StrictHostKeyChecking=no 192.198.1.9 hostname

sshpass -p xxxxxx ssh 192.168.1.9 -l hoge -p 1111
-p=パスワード -l=名前 -p=ポート番号

httpd を停止する
sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no -l root 192.168.1.9 /etc/init.d/httpd stop

シェルスクリプトからicecast2のクライアントicesを起動
#!/bin/sh
sshpass -p xxxxxx ssh 192.168.1.9 -l hoge -p 1111 << EOF
./make_playlist.pl Jazz_1 (プレイリストを再構築するスクリプト)
ices ices.conf -B
exit
EOF

serverで音出し

ubuntu server 16.04 LTSで音出し

音を出力するためには、alsa serverが必要
音楽プレーヤー(mpg123)もインストール
sudo apt -y install alsa-base alsa-utils mpg123 pulseaudio

ログインするときに使うユーザをaudioグループに追加する。
sudo adduser kazu audio

再起動
sudo reboot

alsamixerのマスターコントロールを起動
sudo alsamixer
Mキーを押してミュートを外す(ここの環境ではONになっていた)

wavプレーヤー'aplay'でテストをしてみる
音源を検索
sudo find / -name *.wav
aplay /usr/share/sounds/alsa/Front_Center.wav
オプションの'-q'が無くても大丈夫でした

testホルダーのtest.mp3で音出しをしてみる
mpg123 "test/test.mp3"

原則mpg123は1周で終了する
オプション
'-C'で起動後、'h'キーをクリックで操作キーの一覧がでます
mpg123 -C *.mp3

終了は'q'キーで、他に'kill'で強制終了
端末のタイトルバーにタイトルを表示する'--title *.mp3'
シャフルは'--shuffle *.mp3'
プレイリストは '-@ xxxx.m3u' または '--list xxxx.m3u'
ランダム再生は'-z'
ランダム再生(ループ)は'-Z'

ネットラジオのストリームを聴く
mpg123 'URL'
自鯖で流している'icecast2'をそのPCで聴く
mpg123 'http://localhosut:111/stream'     音が途切れ途切れ
mpg123 'http://192.168.1.5:111/stream'    音が途切れ途切れ
mpg123 'http://kazu.xxx.xxxx:111/stream'   普通に聴こえる
*****************************
ログアウトしてもバックグラウンドで継続
'nohup'コマンドを使う、または'disown'コマンド
ここを参照
*****************************

inserted by FC2 system