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

April 22,2021 11:55 PM
Category:[Linux]
Tag:[Linux, nkf]
Permalink

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

1.はじめに

nkfは「Network Kanji Filter」の略で、ターミナル上で文字コード変換やURIエンコード等が行える便利ツールです。

2.nkfのインストール

公式サイトの「Download」より、nkfの最新版のアーカイブをダウンロード(2021年4月時点の最新版はnkf-2.1.5.tar.gz)。

https://osdn.net/projects/nkf/

アーカイブをLinuxサーバにアップロード。

ターミナルでログインし(以下rootユーザー)、アーカイブを展開します。

[root@www123i ~]$ tar -zxvf nkf-2.1.5.tar.gz
nkf-2.1.5/
nkf-2.1.5/nkf32.h
nkf-2.1.5/.gitignore
nkf-2.1.5/Makefile
nkf-2.1.5/nkf.1
nkf-2.1.5/INSTALL
 :
nkf-2.1.5/NKF.mod/Makefile.PL
nkf-2.1.5/NKF.mod/README
nkf-2.1.5/NKF.mod/MANIFEST
nkf-2.1.5/man/make_doc.sh
nkf-2.1.5/man/nkf.1.pm
nkf-2.1.5/man/nkf.1j.pm

アーカイブしたディレクトリに移動

[root@www123 ~]$ cd nkf-2.1.5

"make"を実行。

[root@www123 nkf-2.1.5]# make
cc -g -O2 -Wall -pedantic -c nkf.c
cc -g -O2 -Wall -pedantic -c utf8tbl.c
cc -g -O2 -Wall -pedantic  -o nkf nkf.o utf8tbl.o

"make install"を実行。

[root@www123 nkf-2.1.5]# make install
mkdir /usr/local/bin
mkdir: cannot create directory `/usr/local/bin': File exists
make: [install-main] Error 1 (ignored)
cp -f nkf /usr/local/bin/
mkdir /usr/local/man
mkdir /usr/local/man/man1
cp -f nkf.1 /usr/local/man/man1/
mkdir /usr/local/man/ja
mkdir /usr/local/man/ja/man1
cp -f nkf.1j /usr/local/man/ja/man1/nkf.1

これでインストール完了です。

3.テスト

URIエンコードのテストを行います。

[root@www123 nkf-2.1.5]# echo 'テスト' | nkf -WwMQ | tr = %
%E3%83%86%E3%82%B9%E3%83%88
Comments [0] | Trackbacks [0]

新しく作ったサイトをGoogleに検索してもらう方法

April 19,2021 11:55 PM
Category:[Google検索]
Tag:[Google]
Permalink

新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

これまでにサイトはいくつか登録したことがありますが、久しぶりの登録で手順を忘れてしまったので、最新の登録方法を備忘録で残しておきます。

1.問題点

ドメインを取得して新しいサイトを作りました。

ただ、作っただけではGoogle検索の検索対象になりません。

が、どうすればGoogle検索の検索対象になるのか分かりません。

ということで、新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

2.新しく作ったサイトをGoogleに検索してもらう

新しく作ったサイトをGoogleに検索してもらうには、「Google Search Console」を利用します。

ここではGoogleアカウントを持っていて「Google Search Console」が利用できる状態で説明を進めます。

「Google Search Console」の左上のメニューをクリックして「プロパティを追加」をクリック。

プロパティを追加

「URLプレフィックス」に、登録したいドメインを設定します。

登録したいドメインを設定

「続行」をクリック。

続行

HMTLファイルをダウンロードします。

登録したいドメインを設定

ダウンロードしたHTMLファイルを登録したいドメインにアップロードします。

アップロード後、「確認」をクリック。

確認

「所有権を証明しました」と表示されれば設定完了です。

所有権を証明しました

登録後、すぐにはクロールされませんので、1日程度待ちましょう。

Comments [0] | Trackbacks [0]

bashでbackspaceが動作しない場合の対処

April 11,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashでbackspaceが動作しない場合の対処方法を紹介します。

1.問題点

入力した文字を表示するという、簡単なスクリプト(test.sh)を作ってみました。

#!/bin/bash
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

このスクリプトで入力した文字をbackspaceで削除しようとすると、"^H"が表示されます。

# ./test.sh
>abc^H^H^H

ということで、bashでbackspaceが動作しない場合の対処方法を紹介します。

2.原因

まず、"stty -a"を入力して、端末設定を表示(抜粋)します。

# stty -a
speed 38400 baud; rows 24; columns 98; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;

1文字消去のキーバインドは、

erase = ^?;

となっていますが、bashのbackspaceは"^H"が割り当てられています。

このため、backspaceを押下しても、割り当てられたキーが存在しないため、1文字消去ではなく、"^H"がそのまま表示されると思われます。

3.対処

スクリプト実行時にsttyコマンドを実施して、eraseのキーバインドをbackspaceに変更します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

追加するのは、

stty erase '^H'

の部分で、"^H"はシングルクォーテーションで括ります。

あるいはそのままの文字を入力したい場合、クォートせずに、Ctrl-v → Ctrl-hを入力します。

3.元のキーバインドに戻す

スクリプト内で設定したキーバインドは、終了後のターミナルに伝播されませんが、何らかの原因で戻らない場合、スクリプトの最後に、

stty sane

あるいは、

stty erase '^?'

を入力します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done
 
stty sane

'^?'を直接入力したい場合は、クォートせずに、Ctrl-v → Ctrl-8を入力します。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages