タグ・アーカイブ: コマンド解説

とっくにあけきりましてオメデトウ御座います。 (っ´∀`)っ ゃー でございます。
久々に記事書こうとしたら、このblogのIDとパスワードをセットで忘れてしまいまして本当に焦りました。なので次の方法で思い出したわけで、まあ、次忘れたときのためにメモろうかと。

1) MySQLにログインする

$ mysql -h -u -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 226404
Server version: 5.0.77 Source distribution

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

2) Movable Typeのデータベースに入る

mysql> use ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

3) mt_authorのテーブルをselectする

mysql> select author_email,author_name,author_nickname,author_password,author_hint from mt_author;
+------------------------+-------------+-------------------------+-----------------+--------------+
| author_email           | author_name | author_nickname         | author_password | author_hint  |
+------------------------+-------------+-------------------------+-----------------+--------------+
| hoge@example.com       | hoge        | (っ´∀`)っ ゃー       | OXeT67r/BsJDf   | 再設定~~   |
+------------------------+-------------+-------------------------+-----------------+--------------+

少なくとも、自分が author_email に設定されたメールを読める環境であれば、 author_hint に設定された再設定用キーワードをブラウザから入力してやれば、リセットされたパスワードをメールで受け取ることができます。さすがに auther_password では生PWは表示されないので、今回は例示用にselectしてみたけど、見るだけ虚しいので別に表示しなくてよいですw

author_name はログイン時に入力するIDのことで、 author_nickname は記事投稿時に表示される自分の名前です。ここで大事なのは author_nickname ですが、ほんとにこれ自分のIDなの?と確認するためにも、ニックネームは表示したほうがよいかも。

scpコマンドで、ホスト間で通信経路を暗号化してファイル転送を行うことができます。単一のファイルを転送する場合には、特にオプションをつけなくても大丈夫です。ディレクトリ単位で転送する場合には、「-r」オプションをつけます。

【1】ホストexample1からホストexample2へ「testfile」というファイルを転送する

[oresama@example1 ~]$ mkdir tmp    ← 一時的なディレクトリを作成
[oresama@example1 ~]$ touch tmp/testfile    ← 一時ディレクトリの中にテストファイルを作成

[oresama@example1 ~]$ scp tmp/testfile oresama@192.168.0.20:/home/oresama    ← scpコマンド実行
The authenticity of host '192.168.0.20 (192.168.0.20)' can't be established.
RSA key fingerprint is d9:ab:04:b5:b2:cf:55:c6:5e:dd:4a:b6:fb:2c:ad:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.20' (RSA) to the list of known hosts.
oresama@192.168.0.20's password:
testfile                                                      100%    0     0.0KB/s   00:00

[oresama@example2 ~]$ ll    ← ファイル転送前には何もファイルがない
total 0
[oresama@example2 ~]$ ll    ← テストファイルが転送されてきた
total 0
-rw-r--r--  1 oresama oresama 0 Nov  2 13:37 testfile

以上の手順で、単純に1つのファイルを転送することができました。しかし、これをファイルの数ぶん繰り返すのは骨の折れる作業ですし、ディレクトリ構造を保つことはできません。次に、ディレクトリごとゴッソリscpで転送する手順を解説します。

【2】ホストexample1からホストexample2へ「tmp」というディレクトリを転送する

まず、転送前の状態から確認します。

[oresama@example1 ~]$ ll
total 4
drwxr-xr-x  2 oresama oresama 4096 Nov  2 13:36 tmp

[oresama@example2 ~]$ ll
total 0
-rw-r--r--  1 oresama oresama 0 Nov  2 13:37 testfile

example1にはtmpディレクトリがあって、example2には、先ほど転送したtestfileがあります。転送後はexample2にtmpディレクトリとtestfileができあがるということになります。それではディレクトリごと転送してみましょう。

[oresama@example1 ~]$ scp -r tmp oresama@192.168.0.20:/home/oresama/
oresama@192.168.0.20's password:
testfile                                                      100%    0     0.0KB/s   00:00

example2で確認します。

[oresama@example2 ~]$ ll
total 4
-rw-r--r--  1 oresama oresama    0 Nov  2 13:37 testfile
drwxr-xr-x  2 oresama oresama 4096 Nov  2 14:22 tmp

これで、ディレクトリの転送ができるようになりました。ここまでが、自ホストから相手ホストへファイルやディレクトリを転送する手順になります。しかし、これだけではすべての場合において有効というわけではなく、例えばexample1がパスワード認証で、example2が公開鍵認証という場合、example1は example2へログインするための秘密鍵を持っていなければ上記の手段は使えません。こういう場合、example2でscpコマンドを実行し、example1へファイルやディレクトリを取りに行くようにしてやれば大丈夫です。

【3】 ホストexample2で、ホストexample1から「testfile」ファイルをもらってくる

まず、ここでは【1】と【2】で転送されたファイルやディレクトリを削除します。そしてtestfileをもらってきます。

[oresama@example2 ~]$ scp oresama@192.168.0.10:/home/oresama/tmp/testfile ./
The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.
RSA key fingerprint is b4:91:ef:16:da:36:41:72:e8:fc:b8:a3:9f:fa:0b:94.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.10' (RSA) to the list of known hosts.
oresama@192.168.0.10's password:
testfile                                                      100%    0     0.0KB/s   00:00

[oresama@example2 ~]$ ll
total 0
-rw-r--r--  1 oresama oresama 0 Nov  2 14:32 testfile

【4】 ホストexample2で、ホストexample1から「tmp」ディレクトリをもらってくる

[oresama@example2 ~]$ scp -r oresama@192.168.0.10:/home/oresama/tmp/ ./
oresama@192.168.0.10's password:
testfile                                                      100%    0     0.0KB/s   00:00

[oresama@example2 ~]$ ll
total 4
-rw-r--r--  1 oresama oresama    0 Nov  2 14:32 testfile
drwxr-xr-x  2 oresama oresama 4096 Nov  2 14:33 tmp

ここまでのおさらい

scp [オプション] [転送元] [転送先] で実行する。

【1】 scp [自分のところにあるファイル] [相手先ホスト:/(ディレクトリ名)/・・・]
【2】 scp -r [自分のところにあるディレクトリ] [相手先ホスト:/(ディレクトリ名)/・・・]
【3】 scp [相手先ホスト:/(ディレクトリ名)/・・・/ファイル名] [自分のところのディレクトリ名]
【4】 scp -r [相手先ホスト:/(ディレクトリ名)/・・・/] [自分のところのディレクトリ名]

なお、転送先に同じファイルが存在する場合、上書きされます。なお、転送先でファイルのタイムスタンプを変更したくない(転送元と同じタイムスタンプを保持したい)場合は、「-p」オプションをつけて転送します。

ね、簡単でしょ?