viのundo/redo
undoの場合: u
redoの場合: ctrl + r
お知らせ
忘れていましたが、現在ブログはこちらで書いております
sshのログインを自動化する方法
Macだとこうしたら楽だった
aya-air:~ aya$ ssh-keygen -t rsa
これで既に.ssh/id_rsa_key-only.pub と.ssh/id_rsa_key-onlyが出来ている物とする
Terminalを開いて
aya-air:~ aya$ ssh-add .ssh/id_rsa_key-only
Identity added: .ssh/id_rsa_key-only (.ssh/id_rsa_key-only)
この後.ssh/id_rsa.pubがサーバ側に置かれて秘密鍵のみで入れるサーバにsshしてみる
aya-air:~ aya$ ssh key-only.popowa.com
Linux ip-XXX-XXX-XXX-XXX 2.6.32-305-ec2 #9-Ubuntu SMP Thu Apr 15 04:14:01 UTC 2010 i686 GNU/Linux
Ubuntu 10.04.3 LTS
入れます。
MySQL内でurlencodeする方法
MySQLの関数としてデータをURLENCODEしてくれるのはないかなーと探していた所、こんなブログポストが。
urlencode();
DELIMITER ;
DROP FUNCTION IF EXISTS urlencode;
DELIMITER |
CREATE FUNCTION urlencode (s VARCHAR(4096)) RETURNS VARCHAR(4096)
DETERMINISTIC
CONTAINS SQL
BEGIN
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;
DECLARE s2 VARCHAR(4096) DEFAULT '';IF ISNULL(s) THEN
RETURN NULL;
ELSE
SET s2 = '';
WHILE pointer <= length(s) DO
SET c = MID(s,pointer,1);
IF c = ' ' THEN
SET c = '+';
ELSEIF NOT (ASCII(c) BETWEEN 48 AND 57 OR
ASCII(c) BETWEEN 65 AND 90 OR
ASCII(c) BETWEEN 97 AND 122) THEN
SET c = concat("%",LPAD(CONV(ASCII(c),10,16),2,0));
END IF;
SET s2 = CONCAT(s2,c);
SET pointer = pointer + 1;
END while;
END IF;
RETURN s2;
END;
DELIMITER ;
urldecode();
DROP FUNCTION IF EXISTS urldecode;
DELIMITER |
CREATE FUNCTION urldecode (s VARCHAR(4096)) RETURNS VARCHAR(4096)
DETERMINISTIC
CONTAINS SQL
BEGIN
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;
DECLARE h CHAR(2);
DECLARE h1 CHAR(1);
DECLARE h2 CHAR(1);
DECLARE s2 VARCHAR(4096) DEFAULT '';IF ISNULL(s) THEN
RETURN NULL;
ELSE
SET s2 = '';
WHILE pointer <= LENGTH(s) DO
SET c = MID(s,pointer,1);
IF c = '+' THEN
SET c = ' ';
ELSEIF c = '%' AND pointer + 2 <= LENGTH(s) THEN
SET h1 = LOWER(MID(s,pointer+1,1));
SET h2 = LOWER(MID(s,pointer+2,1));
IF (h1 BETWEEN '0' AND '9' OR h1 BETWEEN 'a' AND 'f')
AND
(h2 BETWEEN '0' AND '9' OR h2 BETWEEN 'a' AND 'f')
THEN
SET h = CONCAT(h1,h2);
SET pointer = pointer + 2;
SET c = CHAR(CONV(h,16,10));
END IF;
END IF;
SET s2 = CONCAT(s2,c);
SET pointer = pointer + 1;
END while;
END IF;
RETURN s2;
END;
DELIMITER ;
Functionとしては動いたので、実際に正しいかどうかの検証をする
crontab編集モードにしたときJoe's own editor v3.7 というエディターだった時
Crontabを編集しようと思って
crontab -e
としたら
Joe's own editor v3.7 というエディタが立ち上がった。Ubuntuでは有名らしいけど、初めて見ました。
入力は簡単だけど、保存の方法が分からない。
調べたら^K Xらしいです。
マックだとControl + K+X
です。
http://joe-editor.sourceforge.net/manpage.html
tar: Error exit delayed from previous errors
メモ
tar: Error exit delayed from previous errors
はパーミションの問題か、ディスクの容量の問題