Blog

  • debian svn | svn的安装使用 | nginx版本库

    本文主要是进行nginx的一个web程序版本控制

    1、安装Subversion

    apt-get install subversion-tools subversion

    2、建立存储仓库

    sudo mkdir /var/svnroot
    cd /var/svnroot

    生成一个叫”nginxsub”的项目

    sudo svnadmin create nginxsub

    在nginxsub这个库下面的conf文件夹里有三个配置文件

    authz-----权限文件
    passwd------用户和密码
    svnserve.conf-----此project的配置文件

    详细设置svnserve.conf:

    sudo vim /var/svnroot/nginxsub/conf/svnserve.conf
    anon-access = read
    auth-access = write
    password-db = passwd

    anon-access和 auth-access 分别指定匿名和有权限用户的权限,默认给匿名用户只读的权限,如果想拒绝匿名用户的访问,只需把 read 改成none 就能达到目的。记得只除去注释的话,要把单词顶格写,不要留下空格。
    password-db 后的 passwd 则为定义用户名及密码的文件路径,这个文件默认跟 snvserve.conf在同一个目录。

    修改passwd文件,添加用户名=密码对,如:user = imyy

    sudo vim /var/svnroot/nginxsub/conf/passwd

    修改authz文件,特别说明修改不顺检出时会出现Authorization failed,主要涉及:
    1.用户和组的授权,这个里面用户和组和系统里的没有一毛钱关系
    2.对库的整个目录的授权和对子目录的授权,

    示例写的很清楚:

    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r

    这样我们可简单写为

    [/]
    xx00 =rw

    这些更改都是即时生效
    3、导入版本库
    把 /web 下的内容导入到版本号中:

    sudo svn import -m "第一次导入" /web file:///var/svnroot/nginxsub

    4、启动服务器
    svn 服务器可以用两种方法架设:
    使用 svn 自带的 svnserve 实用程序和利用 Apache 架设。
    1)使用 svnserve 搭建 svn 服务器。
    启动svn服务器:(服务器积极拒绝的时候,一般是这个问题)

    sudo /usr/bin/svnserve -d -r /var/svnroot/

    测试服务器:

    sudo svn checkout svn://219.230.144.219/nginxsub
    A inlocals/index.html
    A inlocals/index.php
    取出版本 1。

    修改index.html,提交修改:

    svn commit  --username ARG      --password ARG
    正在发送 index.html
    传输文件数据 .
    提交后的版本为 2。

    可以尝试重命名文件:

    svn rename index.php test.php

    新增一个文件:

    svn add index.php

    移动 index.php 到 blog/app 下:

    svn move index.php blog/app

    注意:
    我提交时提示
    svn: 不能打开文件“/var/www/inlocals/.svn/lock”: Permission denied
    此处是权限问题,执行

    sudo chmod -Rf 777 /var/svnroot/inlocals/

    可以顺利提交,但是为了安全起见,可以为svn专门建立一个用户组。

  • debian登陆信息的修改

    首先查看当前都写了什么

    # cat /etc/motd
    Linux qs-tester 2.6.32-5-686 #1 SMP Mon Jan 16 16:04:25 UTC 2012 i686
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.

    上面有内核建立的时间和一些声明。其实它的作用是通知或说明事项,在用户登录之后显示。

    现在修改它

    vim /etc/motd

    如将内容变为,PS:如果用tty支持中文,也可以写入中文

    ##jpuyy-downloader##
    ^_^
    洗洗更健康

    退出重新登录,就能看到上面写的了。

    同样的还有/etc/issue,它的显示是在登录之前,起提示作用。

    当前显示的是

    Debian GNU/Linux 6.0 \n \l

    \n意为当前主机的网络名称
    \l意为当前终端的编号

    更多参数可参考:http://www.cyberciti.biz/faq/howto-change-login-message/

  • 我的shell脚本注释块 | 事半功倍

    写bash脚本时,每次把下面脚本加进去

    #!/bin/bash
    #for use:
    #author: jpuyy date  [email protected]
    #modified by xx at date
    #version:
    #history:
    #relate on:
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH

    这里最后一句使用export,使得执行后,各变量和操作结束,从而不会传回到父进程中。

    也就是系统会分配bash来让我们执行这个脚本,这也是一般情况下我们想要的效果。

    如果想让变量和操作在结束后留在系统里,要用source命令

    常见的是

    source ~/.bashrc

    整理一下其他文件头部注释块:

    python开头代码

    #!/usr/bin/env python
    #for use:
    #author: jpuyy date  jpuyy.com [email protected]
    #modified by xx at date
    #version:
    #history:
    #relate on:

    :)EOT

  • mysql 命令 | sql语句 | sql语法

    0、登陆:

    mysql -u root -p

    指定用utf8来连接数据库,大部分时候就不会显示乱码

    mysql -u root -p --default-character-set=utf8

    1、显示数据库列表。

     show databases;

    2、显示库中的数据表:

     use mysql;
     show tables;

    3、显示数据表的结构:

     describe 表名;

    4、建库:

     create database 库名;
    create database if not exists 库名 default charset utf8 collate utf8_general_ci;

    5、建表:

     use 库名;
     create table 表名 (字段设定列表);

    6、删库和删表:

     drop database 库名;
     drop table 表名;

    7、将表中记录清空:

     delete from 表名;

    8、显示表中的记录:

     select * from 表名

    9、update语法

    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    当有多个列名称要修改的时候用","分隔。

    例:把radius某用户设为禁止

    UPDATE  `radusergroup` SET `groupname`='daloRADIUS-Disabled-Users'  WHERE `username` in ('xxyy ','uuxx');

    10、刷新权限:

    flush privileges;­

    11、改变数据库databaseA的字符集为utf8

    ALTER DATABASE `databaseA` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

    退出:

    mysql>quit

    12、limit命令

    取出前5条数据

    SELECT * FROM `user_data` LIMIT 5

    取出第5, 6条数据

    SELECT * FROM `user_data` limit 3,1

    13、like命令

    查找以189开头的条目

    SELECT * from shoujihao WHERE number LIKE '189%';

    14、shell下执行sql语句

    mysql -u root -p database -e "select User, Host From user"

    在mysql命令行内执行系统命令

    mysql> system less /home/jpuyy/.vimrc

    删除一个用户

    drop user 'yyy'@'localhost';

    14. SELECT DISTINCT筛选唯一的列,如

    SELECT DISTINCT vend_id FROM products;

    会返回去重的结果

    15. 创建唯一键

    ALTER TABLE host add UNIQUE (object_id);
    16. 一些函数

    select count(column_name) 计数
    select sum(column_name) 总计
    select avg(column_name) 平均数
    select max(column_name) 最大
    select min(column_name) 最小
    

    16. 每个分组大于1

    select genre, sum(cost) from Movies Group By genre Having count(*)>1; 
  • google chrome键盘和鼠标快捷键

    标签页和窗口快捷键

    Ctrl+N 打开新窗口。
    Ctrl+T 打开新标签页。
    Ctrl+Shift+N 在隐身模式下打开新窗口。
    按 Ctrl+O,然后选择文件。 在 Google Chrome 浏览器中打开计算机中的文件。
    按住 Ctrl 键的同时点击链接。或用鼠标中键(或鼠标滚轮)点击链接。 从后台在新标签页中打开链接。
    按住 Ctrl+Shift 的同时点击链接。或按住 Shift 键的同时用鼠标中键(或鼠标滚轮)点击链接。 在新标签页中打开链接并切换到刚打开的标签页。
    按住 Shift 键的同时点击链接。 在新窗口中打开链接。
    Ctrl+Shift+T 重新打开上次关闭的标签页。Google Chrome 浏览器可记住最近关闭的 10 个标签页。
    将链接拖到标签页中。 在标签页中打开链接。
    将链接拖到标签栏的空白区域。 在新标签页中打开链接。
    将标签页拖出标签栏。 在新窗口中打开标签页。
    将标签页从标签栏拖到现有窗口中。 在现有窗口中打开标签页。
    拖动标签页时按 Esc 键。 将标签页恢复到原先的位置。
    Ctrl+1 到 Ctrl+8 切换到标签栏中指定位置编号所对应的标签页。
    Ctrl+9 切换到最后一个标签页。
    Ctrl+Tab 或 Ctrl+PgDown 切换到下一个标签页。
    Ctrl+Shift+Tab 或 Ctrl+PgUp 切换到上一个标签页。
    Alt+F4 关闭当前窗口。
    Ctrl+W 或 Ctrl+F4 关闭当前标签页或弹出窗口。
    用鼠标中键(或鼠标滚轮)点击标签页。 关闭所点击的标签页。
    右键点击或者点击并按住浏览器工具栏中的“后退”或“前进”箭头。 在新标签页中显示浏览历史记录。
    按 Backspace 键,或同时按 Alt 和向左箭头键。 转到当前标签页的上一页浏览历史记录。
    按 Shift+Backspace,或同时按 Alt 和向右箭头键。 转到当前标签页的下一页浏览历史记录。
    按住 Ctrl 键的同时点击工具栏中的后退箭头、前进箭头或转到按钮。或用鼠标中键(或鼠标滚轮)点击任一按钮。 从后台在新标签页中打开按钮所对应的目标网页。
    双击标签栏的空白区域。 最大化或最小化窗口。
    Alt+Home 在当前窗口打开主页。

    Google Chrome 浏览器功能快捷键

    Alt+F 或 Alt+E 打开“工具”菜单,用该菜单可自定义和控制 Google Chrome 浏览器中的设置。
    Ctrl+Shift+B 打开和关闭书签栏。
    Ctrl+H 打开“历史记录”页面。
    Ctrl+J 打开“下载内容”页面。
    Shift+Esc 打开任务管理器。
    Shift+Alt+T 将焦点设置在浏览器工具栏中的第一个工具上。然后就能用以下快捷键在工具栏中移动:

    • 按 Tab、Shift+Tab、Home、End、向右箭头向左箭头,可在工具栏中将焦点移到各个选项上。
    • 空格键或 Enter 可激活工具栏按钮,包括网页操作和浏览器操作。
    • 按 Shift+F10 可打开相关右键菜单(例如,“后退”按钮关联的浏览历史记录)。
    • 按 Esc 可将焦点从工具栏移回到网页上。
    F6 或 Shift+F6 将焦点切换到下一个键盘可访问的窗格。这些窗格包括:

    • 地址栏
    • 书签栏(若显示)
    • 主要的网络内容(包括任何信息栏)
    • 下载内容栏(若显示)
    Ctrl+Shift+J 打开开发人员工具。
    Ctrl+Shift+Delete 打开“清除浏览数据”对话框。
    F1 在新标签页中打开帮助中心(首选方式)。

    地址栏快捷键

    键入搜索字词,然后按 Enter 键。 使用默认搜索引擎进行搜索。
    键入搜索引擎关键字,按空格键,然后键入搜索字词,再按 Enter键。 使用与关键字相关联的搜索引擎进行搜索。
    首先键入搜索引擎网址,然后在系统提示时按 Tab 键,键入搜索字词,再按 Enter 键。 使用与网址相关联的搜索引擎进行搜索。
    Ctrl+Enter 在地址栏的输入内容前后分别加上 www. 和 .com,并打开得到的网址。
    键入网址,然后按 Alt+Enter 在新标签页中打开网址。
    或 Ctrl+L 或 Alt+D 突出显示网址。
    Ctrl+K 或 Ctrl+E 将“?”中输入“?”。在问号后键入搜索字词可用默认搜索引擎执行搜索。
    同时按 Ctrl 和向左箭头键。 在地址栏中将光标移到上一个关键字词
    同时按 Ctrl 和向右箭头键。 在地址栏中将光标移到下一个关键字词
    Ctrl+Backspace 在地址栏中删除光标前的字词
    用键盘上的方向键从地址栏下拉菜单中选择一个条目,然后按Shift+Delete 从浏览历史记录中删除所选条目(如果可以)。
    用鼠标中键(或鼠标滚轮)点击地址栏下拉菜单中的一个条目。 从后台在新标签页中打开该条目。
    显示地址栏下拉菜单时按 Page Up 或 Page Down 选中下拉菜单中的第一个或最后一个条目。


    网页快捷键


    Ctrl+P 打印当前网页。
    Ctrl+S 保存当前网页。
    F5 或 Ctrl+R 重新载入当前网页。
    Esc 停止载入当前网页。
    Ctrl+F 打开查找栏。
    Ctrl+G 或 F3 在查找栏中查找下一条与输入内容相匹配的内容。
    Ctrl+Shift+GShift+F3 或 Shift+Enter 在查找栏中查找上一条与输入内容相匹配的内容。
    点击鼠标中键(或鼠标滚轮)。 激活自动滚动模式。当您移动鼠标时,网页会根据鼠标的移动方向自动滚动。
    Ctrl+F5 或 Shift+F5 重新载入当前网页,忽略缓存的内容。
    按住 Alt 键,然后点击链接。 下载链接目标。
    Ctrl+U 打开当前网页的源代码。
    将链接拖到书签栏中 将链接保存为书签。
    Ctrl+D 将当前网页保存为书签。
    Ctrl+Shift+D 将所有打开的网页以书签的形式保存在新文件夹中。
    F11 在全屏模式下打开网页。再按一次 F11 可退出全屏模式。
    Ctrl++,或者按住 Ctrl 键并且向上滚动鼠标滚轮。 放大网页上的所有内容。
    Ctrl+,或者按住 Ctrl 键并且向下滚动鼠标滚轮。 缩小网页上的所有内容。
    Ctrl+0 将网页上的所有内容都恢复到正常大小。
    空格键 向下滚动网页。
    Home 转至网页顶部。
    End 转至网页底部。
    按住 Shift 键的同时滚动鼠标滚轮。 在网页上横向滚动。

    文本快捷键

    Ctrl+C 将突出显示的内容复制到剪贴板中。
    Ctrl+V 或 Shift+Insert 从剪贴板中粘贴内容。
    Ctrl+Shift+V 从剪贴板中粘贴内容(不带格式)。
    Ctrl+X 或 Shift+Delete 删除突出显示的内容并将其复制到剪贴板中。


    chrome 浏览器插件

    * Tab to window
    * vimium
    * xTab

  • WordPress 常用的快捷键

    WordPress 后台的在线可视化编辑器使用的是 TinyMCE,所以在 WordPress 后台编辑的时候,和 TinyMCE 一样也有键盘快捷键,掌握这些快捷键可以让我们在 WordPress 后台编辑文章的时候事半功倍,下面是我们常用的快捷键:

    粗体: Alt+SHIFT+b
    斜体: Alt+SHIFT+i

    添加链接: Alt+SHIFT+a

    引用: Alt+SHIFT+q
    代码: Alt+SHIFT+c

    添加 <!–more–>: Alt+SHIFT+t

    无序列表 (ul): Alt+SHIFT+u
    有序列表 (ol): Alt+SHIFT+o
    列表元素 (li): Alt+SHIFT+l

    高级编辑器: Alt+SHIFT+v
    编辑 HTML: Alt+SHIFT+e

    发布日志: Alt+SHIFT+p

    填入修订文本: Alt+SHIFT+s
    删除文本: Alt+SHIFT+d

    缩进: Alt+SHIFT+w

    回退: Alt+SHIFT+u
    重做: Alt+SHIFT+y

    居左: Alt+SHIFT+f
    居中: Alt+SHIFT+c
    居右: Alt+SHIFT+r