Gentoo」カテゴリーアーカイブ

Gentoo Linuxおよび他のディストリビューションを含むLinux全般についてのカテゴリーです。

SystemRescue(Linux)でsshdとかSambaを使う方法

USBメモリーで動作するLinuxディストリビューション「SystemRescue」でSSHとSambaのサーバーを起動する手順についての解説。

SSH

sshdはデフォルトで起動しています。
ただ、パスワードが設定されていないのでpasswdを使って設定する必要があります。

# passwd root
New password:
Retype new password:
passwd: password updated successfully

これでrootでログインして使えるようになります。

sshd_configの変更をした場合など、sshdを再起動したい場合は下記コマンドで再起動してください。

# /etc/init.d/sshd restart

Samba

Sambaはデフォルトでは起動していません。
とりあえずゲストユーザーで読み書きできるようにするには以下のような感じで設定をします。

# mkdir /mnt/samba
# chown nobody:nogroup /mnt/samba
# chmod 777 -R /mnt/samba
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf
# vi /etc/samba/smb.conf
# /etc/init.d/samba start

smb.confの書き方については以前の記事(sambaの使い方メモ)が参考になるかと思います。

Gitの差分をMeldで表示する方法

Gitの差分をMeldで表示したい場合は、.gitconfig

[diff]
  guitool = meld

[difftool "meld"]
  cmd = meld $LOCAL $REMOTE

を追加して、git diffの代わりにgit difftool -dのコマンドを実行してみると表示できるようになります。

マージもMeldでできるみたいですがまだ試したことがないので、こちらは機会があれば記事を更新しようと思います。

リンク

Meld
https://meldmerge.org/

sedの基本的な使い方

sedはstream editorの略で入力テキストをフィルタリング・テキスト変換するツールです。いろいろ複雑なこともできますが、ここではsedを使った簡単な文字列置換を紹介してみようと思います。

基本的な使い方

基本的な使い方は次のような感じです。

$ echo "input" | sed "s/pattern/replacement/"

"input"で入力した文字列のうちpatternに該当する部分がreplacementに置き換えられて表示されます。

テキストファイルの文字列を置換したい場合は次のような感じで使います。

$ sed "s/pattern/replacement/" input.txt

※結果を保存したい場合は> output.txtでリダイレクトしてください。

簡単な置換のサンプル

簡単な置換の例として、一番先頭にある小文字のtを大文字のTに置き換えてみます。

$ echo "stream editor for filtering and transforming text" | sed 's/t/T/'
sTream editor for filtering and transforming text

tは複数ありますが、何も指定しない場合は一番最初にマッチした部分のみが置き換えられます。今回の場合はstreamのtが該当します。

すべてのtを大文字に置き換えたい場合は"s/pattern/replacement/g"のようにgを追加してください。

$ echo "stream editor for filtering and transforming text" | sed 's/t/T/g'
sTream ediTor for filTering and Transforming TexT

正規表現を使った置換のサンプル

正規表現の詳細は省略しますがsedでも正規表現を使った置換ができます。

簡単な例として、スペース後のワードを-で分割して表示してみたいと思います。

$ echo "stream editor for filtering and transforming text" | sed -r "s/ (.)([^ ]*)/ \1-\2/g"
stream e-ditor f-or f-iltering a-nd t-ransforming t-ext

ポイントとしては\n (nは1から9の数字)を使って()でグループ化したn番目の文字列を参照できるという点です。

ちなみに、マッチした文字列全体を参照したい場合は&が使えます。

$ echo "stream editor for filtering and transforming text" | sed -r "s/ (.)([^ ]*)/ \1-&/g"
stream e- editor f- for f- filtering a- and t- transforming t- text