月度归档:2011年09月

ubuntu开关机命令

1、关机命令 shutdown

好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。

1)shutdown –help

可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。

2) shutdown -h now 现在立即关机

3)shutdown -r now 现在立即重启

4)shutdown -r +3 三分钟后重启

5)shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机

6)shutdown -r 20:23 在20:23时将重启计算机

7)shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

2、中断命令

1)执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

2)kill 程序编码

当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905

我们可以使用kill 4905来中止重启命令

3ps aux | grep 程序编号

我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。

例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令

halt—-最简单的关机命令
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。

init
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

3、注销系统的logout命令

Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:

[root@localhost root]#logout

Red Hat Linuxrelease 9(Shike)

Kernel 2.4.20.8 on an i686

Login: ← 回到登陆的画面

VirtualBox下配置Linux Ubuntu Server 10.04 – 整合apache2 tomcat7

首先安装ubuntu server,一路安装下来很容易。(apache查看版本号: apache2ctl -v)

1、安装openSSH,由于在安装过程中没有选择任何网络服务,这里手动安装。

直接 sudo apt-get install openssh-server,客服端 sudo apt-get install openssh-client 。一般客户端自带,不用再安装,执行 ssh 命令就知道了。

可以通过编辑 /etc/ssh/sshd_config 文件来配置 OpenSSH
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

vi /etc/ssh/sshd_config

配置完成后重起:
sudo /etc/init.d/ssh restart

确认sshserver是否启动,执行ps -e |grep ssh

如果只有ssh-agent或什么也没看到,那ssh-server还没有启动,如果看到sshd那说明ssh-server已经启动了。

连接SSH服务: ssh username:password@host-domain

Continue reading VirtualBox下配置Linux Ubuntu Server 10.04 – 整合apache2 tomcat7

Google JavaScript 编码规范指南

来源于: http://www.chuan.shanghuo.net/wordpress/?page_id=233

Google官方文档地址(English): http://code.google.com/p/google-styleguide/

淘宝总结的: http://docs.kissyui.com/

Google JavaScript 编码规范指南

 

修订版: 2.9

Aaron Whyte 

Bob Jervis

Dan Pupius

Eric Arvidsson

Fritz Schneider

Robby Walker

每个条目都有概述信息, 点击

查看详细的内容.

你也可以点击下面的按钮

 

展开全部

重要注意事项

显示被隐藏的内容

link 

 

这份指南中, 可以点击旁边的按钮来显示更多的细节.

Hooray! 这里是更多详细的内容, 你也可以点击最上面的”显示/隐藏全部按钮”来切换显示更多内容.

Continue reading Google JavaScript 编码规范指南

Ubuntu解压打包命令全集

来源于: http://remindme.blogbus.com/logs/25006959.html
.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

———————————————

.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

———————————————

.bz2

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

———————————————

.bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

压缩:未知

———————————————

.Z

解压:uncompress FileName.Z

压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

———————————————

.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

———————————————

.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

rar请到:http://www.rarsoft.com/download.htm 下载!

解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

[root@www2 tmp]# cp rar_static /usr/bin/rar

———————————————

.lha

解压:lha -e FileName.lha

压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!

>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

[root@www2 tmp]# cp lha /usr/bin/

———————————————

.rpm

解包:rpm2cpio FileName.rpm | cpio -div

———————————————

.deb

解包:ar p FileName.deb data.tar.gz | tar zxf –

———————————————

.tar .tgz .tar.gz .tar.Z
.tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh
.lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

解压:sEx x FileName.*

压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

sEx请到: http://sourceforge.net/projects/sex下载!

解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

[root@www2 tmp]# cp sEx /usr/bin/

解压后编译:

sudo ./configure

make

make install

当然,编译的时候必须要以root 用户,而解压的时候不一定,普通用户就何以。以上是常用的命令,一下是不常用的命令,在这里提下,给兄弟们一个映象,到时候能看懂就可以了。
方法二:

sudo ./configure –prefix=/路径

make ; make install 

方法三:

sudo ./configure –enable-static-link \

–prefix=$XXX/static –with-curses &&

make &&

make install

命令解释

–enable-static-link: 这个配置命令使bash被静态链接。

–prefix=$XXX/static:这个配置命令把Bash的所有文件安装到$XXX/static目录下,这个目录在chroot环境下或在最终的XXX系统中将成为 /static 目录。(XXX为用户)

–with-curses: 将bash链接到某一个库,正如LFS系统将它指向static这一个库。

其实静态链接的bash并不一定要链接到libncurses (也可以暂时链接到静态的termcap )但在LFS中不能这样做(关于LFS的方法可访问相关网站,此问题不在这一范围内)。

每行最后的&&用处很大,它使后一个命令仅在前一个命令返回值为0(表示正确执行)的情况下才执行。在所有的命令都是拷贝
&粘贴的情况下,我们必须保证如果./configure出错,make就不执行,同样地,如果 make 出错,make
install就不执行,诸如此类。

以上方法三是构建LFS(linux from scratch 从网上直接下载源代码,从头编写程序的方式)系统并编译软件的重要方法之一,事实上Linux系统包括在Unix系统中在cmd的上是共通的。

腾讯微博应用平台认证400 Bad Request: Unsupported parameter及linux修订时间命令

开发微博应用,本地测试ok,但是在服务器上始终第一次Oauth授权请求返回 400 Bad Request: Unsupported parameter,弄的很郁闷,后来去微博应用平台的论坛搜了下 400,出现了一个可能的答案

服务器时间与标准时间不同步,快了或慢了都可能出现这个问题。

于是上服务器看了下时间(date命令),与标准时间快了12分钟,使用

如果是校对时间,一般用ntpdate来对时

sudo ntpdate 210.72.145.44

这个是国家授时中心的时间服务器的地址,不怎么好记
一般是用time.windows.com, ntp.ubuntu.com

sudo date -s HH:SS

sudo date -s MM/DD/YY

sudo date -s hh:mm

赶紧试了下,果然解决问题。囧!

——————————————————————————————————————

服务器果然经常性时间加快,今天又快了10分钟,出现认证错误,于是搜索自动同步,用到计划任务.

计划任务设置方法另见:Linux下的计划任务设置

sudo crontab -e #编辑计划任务
#打开的文件中添加一行:
0 0 * * * /usr/sbin/ntpdate ntp.ubuntu.com;/sbin/hwclock -w
#即每天0点同步一次时间,Ctrl+o保存,Ctrl+x选择no退出
service cron restart

Ubuntu MongoDB start faild

本地服务器直接拔了电源,然后再去重启mongodb的时候就不行了。

:~$ sudo service mongodb start
mongodb start/running, process 1990

看着回显似乎ok,然后

:~$ mongo
MongoDB shell version: 1.8.3
connecting to: test
Tue Sep 20 09:38:51 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:79
exception: connect failed

再然后:

:~$ ps -def | grep mongod
gaoren    2046  1824  0 09:43 pts/0    00:00:00 grep --color=auto mongod

网上都没说回显是什么,偶看着觉得还正常,但是pid=2046 在只运行这个命令 ps -def 的情况下没有看见。

这不是很囧吗。后来在国外一个社区得到了提示,想起来非法关闭服务器,有一个lock文件需要清理掉才行,于是看了下mongodb.log日志, 在最后:

Tue Sep 20 09:31:38 [initandlisten] User Assertion: 12596:old lock file
Tue Sep 20 09:31:38 [initandlisten] exception in initAndListen std::exception: old lock file, terminating
Tue Sep 20 09:31:38 dbexit:
Tue Sep 20 09:31:38 [initandlisten] shutdown: going to close listening sockets...
Tue Sep 20 09:31:38 [initandlisten] shutdown: going to flush diaglog...
Tue Sep 20 09:31:38 [initandlisten] shutdown: going to close sockets...
Tue Sep 20 09:31:38 [initandlisten] shutdown: waiting for fs preallocator...
Tue Sep 20 09:31:38 [initandlisten] shutdown: closing all files...
Tue Sep 20 09:31:38 closeAllFiles() finished
Tue Sep 20 09:31:38 dbexit: really exiting now

果然是因为old lock file的存在导致无法启动,启动的时候居然也不报错,囧,不经常非正常关闭服务器的话,还真是想不到会是这个原因,搞了好久。

最后 sudo rm /var/lib/mongodb/mongod.lock 就行了。

Vim括号自动补全

来源于:

在 Vim 中实现括号自动补全

将下面的代码加入到 ~/.vimrc 中,重启 Vim,即可:

:inoremap ( ()<ESC>i
 :inoremap ) <c-r>=ClosePair(')')<CR>
 :inoremap { {}<ESC>i
 :inoremap } <c-r>=ClosePair('}')<CR>
 :inoremap [ []<ESC>i
 :inoremap ] <c-r>=ClosePair(']')<CR>
 :inoremap < <><ESC>i
 :inoremap > <c-r>=ClosePair('>')<CR>

 function ClosePair(char)
   if getline('.')[col('.') - 1] == a:char
     return "\<Right>"
   else
     return a:char
   endif
 endf

我用到的vim插件记录

插件vba格式的安装方法是 用vim打开这个vba文件,然后执行

:so %

就开始安装。

HTML5语法高亮及自动补全:http://www.vim.org/scripts/script.php?script_id=3236

自动缩进的$vim/vimfiles/indent/html.vim文件 中需要添加以下标签定义,不然没有缩进


call <SID>HtmlIndentPush(‘p’)
call <SID>HtmlIndentPush(‘li’)
call <SID>HtmlIndentPush(‘dt’)
call <SID>HtmlIndentPush(‘dd’)

快速从模板建立文件:  http://www.gracecode.com/archives/2414/

自动触发提示,而不需要按组合键:  http://www.vim.org/scripts/script.php?script_id=1879

使用该插件 定制PHP的全能提示触发命令
php 中 一般是会在 “$”, “->”, “::” 后需要出现自动补全,在 .vimrc 中加入以下代码:
if !exists(‘g:AutoComplPop_Behavior’)
let g:AutoComplPop_Behavior = {}
let g:AutoComplPop_Behavior[‘php’] = []
call add(g:AutoComplPop_Behavior[‘php’], {
\ ‘command’ : “\<C-x>\<C-o>”,
\ ‘pattern’ : printf(‘\(->\|::\|\$\)\k\{%d,}$’, 0),
\ ‘repeat’ : 0,
\})
endif

这样就可以了。