人気記事

広告

記事検索

MOVION.netについて

WEB技術に関することや、気になるWEBサイトなどについて個人的なメモを残すためのブログです。

その他運営サイト

かかわっているサイト

2008年11月20日(木)

[Linux]シェルでの入力操作(Ctrl-U,Ctrl-W)など

よく使うシェルでの入力操作。

入力 説明
Ctrl-B or ←キー カーソルを左に1文字移動
Ctrl-F or →キー カーソルを右1に文字移動
Ctrl-P or ↑キー 一つ前の(historyにある)入力コマンドを表示
Ctrl-N or ↓キー 一つ後の(historyにある)入力コマンドを表示
Ctrl-H or バックスペース カーソルの左の1文字を削除
Ctrl-A カーソルを行頭に移動
Ctrl-E カーソルを行末に移動
Ctrl-W カーソル位置の単語(前のスペースまで)を削除
Ctrl-K カーソル位置から行末までの文字列を削除
Ctrl-U 行頭からカーソル位置までの文字列を削除
Ctrl-Y 直前に削除した文字列を貼り付け
Ctrl-L スクリーン再描画(スクリーンを綺麗に)
Ctrl-S コマンド入力ストップ ※1
Ctrl-Q コマンド入力スタート ※1

※1 よくは使わないけど・・・、うぉコマンド入力が出来なくなったってときに(笑

2008年10月31日(金)

SubvrersionリポジトリとTracプロジェクト作成スクリプト(適当)

UbuntuにSubversionとtracのインストール
の続きです。

手動実行をただ単に書きならべただけですが、シェルスクリプトにしてみました。
もっとちゃんと工夫すれば、まともに使えるモノになるかも。

vi /usr/local/bin/make-svn-project.sh

  1. #!/bin/sh
  2.  
  3. #parameter settings
  4. REPO_NAME=$1
  5. ADMIN_USER=akira
  6. SVN_FILE_OWNER=akira
  7. SVN_FILE_GROUP=akira
  8. SVN_PATH=/var/svn
  9. TRAC_PATH=/var/www/trac
  10. #TRAC_TEMPLATES=/usr/share/trac/templates
  11. TRAC_TEMPLATES=/usr/share/trac-ja-resource/templates
  12. SVN_PASSWORD=/var/svn/passwd
  13.  
  14. #create svn repository
  15. /usr/bin/svnadmin create $SVN_PATH/$REPO_NAME
  16. chown -R $SVN_FILE_OWNER:$SVN_FILE_GROUP $SVN_PATH/$REPO_NAME
  17.  
  18. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/trunk -m "make trunk dir"
  19. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/branches -m "make branches dir"
  20. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/tags -m "make tags dir"
  21.  
  22. #copy svn password file
  23. cp $SVN_PASSWORD $SVN_PATH/$REPO_NAME/conf/
  24.  
  25. #create trac
  26. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME initenv $REPO_NAME sqlite:db/trac.db svn $SVN_PATH/$REPO_NAME $TRAC_TEMPLATES
  27. chown -R www-data:www-data $TRAC_PATH/$REPO_NAME
  28.  
  29. #revoke on anoymous
  30. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME permission remove anonymous  REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY
  31.  
  32. #grant on admin user
  33. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME permission add $ADMIN_USER BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW REPORT_ADMIN REPORT_CREATE REPORT_DELETE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW ROADMAP_ADMIN ROADMAP_VIEW SEARCH_VIEW TICKET_ADMIN TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW
  34.  
  35. #restart apache
  36. /etc/init.d/apache2 restart

chmod 700 /usr/local/bin/make-svn-project.sh

でもって、削除スクリプトは以下。ディレクトリごと削除してるだけです。むしろこれは実行権限与えてない方がよいかも・・・。

vi /usr/local/bin/remove-svn-project.sh

  1. #!/bin/sh
  2.  
  3. #parameter settings
  4. REPO_NAME=$1
  5. ADMIN_USER=akira
  6. SVN_FILE_OWNER=akira
  7. SVN_FILE_GROUP=akira
  8. SVN_PATH=/var/svn
  9. TRAC_PATH=/var/www/trac
  10. #TRAC_TEMPLATES=/usr/share/trac/templates
  11. TRAC_TEMPLATES=/usr/share/trac-ja-resource/templates
  12.  
  13. #remove svn repository
  14. rm -rf $SVN_PATH/$REPO_NAME
  15.  
  16. #remove trac
  17. rm -rf $TRAC_PATH/$REPO_NAME
  18.  
  19. #restart apache
  20. /etc/init.d/apache2 restart

あ、使い方は、
make-svn-project.sh プロジェクト名(兼リポジトリ名)
です。

2008年07月5日(土)

POPによるDDNS(mydns)のIPアドレス通知

参考
mydns IP アドレス自動更新

上記参考サイトの設定とほとんど一緒ですが(まんま参考にさせていただいたのですが)、とりあえず設定内容を記載。
(OSはUbuntu8.0.4)

sudo -s
vi /usr/local/bin/mydns-update.sh

  1. #!/bin/sh
  2.  
  3. USER="mydns*****"
  4. PASS="********"
  5.  
  6. telnet mail.mydns.jp 110 > /dev/null 2>&1 <<EOF
  7. USER $USER
  8. PASS $PASS
  9. QUIT
  10. EOF

スクリプトを書いて、パーミッションを変更。

  1. chmod 700 /usr/local/bin/mydns-update.sh

5分おきに実行するように、cronで設定。
crontab -e

  1. */5 * * * * /usr/local/bin/mydns-update.sh

以上

Ubuntu, bash, Linux | 2008年07月5日(土) | コメント(0) | トラックバック(0)
2008年04月8日(火)

拡張子がcgiのファイルの改行コードとパーミッションを一括で変更するbash

どんな状況で使うんだって感じですが、もしかしたら同じものを求めてる人がいるかも?!

  1. #/bin/sh
  2.  
  3. EXEC_DIR=/var/www/public_html/
  4.  
  5. echo "change line feed code to LF";
  6. for filename in `find $EXEC_DIR -name "*.cgi"`;
  7. do
  8.   cp $filename $filename.bak
  9.   nkf -ed $filename > $filename.lf;
  10.   mv $filename.lf $filename;
  11.   rm $filename.bak
  12.   echo $filename;
  13. done;
  14.  
  15. echo "chmod cgi files";
  16. find $EXEC_DIR -name "*.cgi" | xargs chmod 755

※nkfを利用してます。
※OSによっては動かないかも。
EXEC_DIRで任意のディレクトリを指定しといてください。

eclipseってファイルごとに改行コード指定できないんでしょうか・・・。

Perl, bash, Linux | 2008年04月8日(火) | コメント(0) | トラックバック(0)