2014年工作中用到的命令

1.远程mongodb访问语句

mongo -u root -p password ip:port/dbname

2.查询多层内嵌文档

db.collection.find("p.c.name":val);

3.过滤查询数据后导出到本地,导出文件在bin文件夹下

mongoexport -h ip -d dbname -c collection -q "{'p.c.name':'val'}" -o wm.cvs

4.关闭mongodb数据库

   方法1

./mongod --shutdown -f /etc/mongo.conf

方法2

pkill mongod

[root@localhost bin]# ps  -o  pid,command ax| grep  mongod | awk  '!/awk/ && !/grep/ {print  $1}'
1915
[root@localhost bin]# ps aux | grep mongo
root      1915  0.2  1.8 465872 36120 ?        Sl   01:07   0:03 /usr/local/mongodb/bin/mongod -f /etc/mongo.conf
root      1926  0.0  0.7 610720 14436 pts/2    Sl+  01:07   0:00 ./mongo 10.1.172.27:27017
root      1939  0.0  0.0 103236   852 pts/1    S+   01:34   0:00 grep mongo

[root@localhost bin]# ps  aux  | grep  mongod | grep  -v "grep" |awk -F" " '{print $2}'
1915
然后 kill 1915

kill -2  pid

方法3 进入mongo shell :运行 

db.shuidownServer()

5.mongodb启动报错

Starting mongod: Wed May 29 16:32:31.518 
Wed May 29 16:32:31.518 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Wed May 29 16:32:31.518 
about to fork child process, waiting until server is ready for connections.
forked process: 17684
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100

处理方法:

rm  -f  /data/mongod.lock
./mongod --repair
然后重启mongodb。

6.设置mongodb自动启动,将如下命令添加到/etc/rc.local

/usr/local/mongodb/bin/mongod -f /etc/mongo.conf --fork


7.查看防火墙,可能导致远程不能登录mongodb

[root@localhost bin]# /etc/init.d/iptables status
关闭

[root@localhost bin]# /etc/init.d/iptables stop

git方面


working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。


1.查看对比

git status


2.获取最新版本

git pull

3.新增一个文件

git add /doc

4.提交

git commit doc/interface/vast.md -m "doc - vast mod"

5.提交到远端

git push


6.全目录循环更新

git pull --submodules用来显示命令提示

git pull --recurse-submodules

7.对比差异

git diff:是查看working tree与index file的差别的。
git diff --cached:是查看index file与commit的差别的。
git diff HEAD:是查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息)


8.log查看


git log  查看 当前分支的 提交历史

在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看

默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。看到了吗,每次更新都有一个 SHA-1 校验和、作者的名字 和 电子邮件地址、提交时间,最后缩进一个段落显示提交说明。

git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。

我们常用 -p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:

$ git log -p -2

此外,还有许多摘要选项可以用,比如 --stat,仅简要的显示 文件 增改行数统计,每个提交都列出了修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计。

$ git log --stat
--author 仅显示指定作者相关的提交。

$ git log  --author=wm
查找 wm提交的 版本;

9.撤销本地更改

git checkout xxx

10.分支管理

通过git clone获取的远端git库,只包含了远端git库的当前工作分支。

如果想获取其它分支信息,需要使用”git branch –r” 来查看, 如果需要将远程的其它分支代码也获取过来,可以使用命令:

git checkout -b 本地分支名 远程分支名

其中,远程分支名为git branch –r所列出的分支名, 一般是诸如“origin/分支名”的样子。如果本地分支名已经存在, 则不需要“-b”参数。


git查看分支

[wm@adx ~/miad]$ git branch -r
  origin/HEAD -> origin/master
  origin/dev
  origin/master


git切换分支(第一次没有本地分支时使用)

[wm@adx ~/miad]$ git checkout -b dev origin/dev
M	mevent
Previous HEAD position was 1ac1a43... OTT=100
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
[wm@adx ~/miad]$ git branch
* dev
  master

git切换分支

[wm@adx ~/miad/walk]$ git checkout dev

git查看归属分支

[wm@adx ~/miad/walk]$ git branch
* dev
  master


git提交到分支

[wm@adx ~/miad/walk]$ git push origin dev

git从http到ssh,防止提交时身份认证输入

Administrator@S8UUZHAMA4G7PPW ~/my_vim_ide
$ git remote set-url origin git@github.com:wmengbeyond/my_vim_ide.git 



windows下vhost修改

C:\Windows\System32\drivers\etc\hosts
10.1.172.10	x.da.hunantv.com

用户组操作

将一个用户添加到用户组中,千万不能直接用: 
usermod -G groupA 

这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。 
应该用 加上 -a 选项: 
usermod -a -G groupA user

nginx方面


1.启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2.重新加载conf

/usr/local/nginx/sbin/nginx -s reload


linux命令


1.查找文件

find -name 'sitemap.*'


2.以合并(-u)的方式对比差异

diff -u Makefile  ../run/Makefile

3.显示history日期
export HISTTIMEFORMAT='%F %T '

mevent方面

1.mbase的操作

cd mevent/mbase/
make install
cd mtl/

viki方面

1基本操作

killall viki
kill -9 viki
spawn-fcgi -F 1 -d /var/www/wm-miad/run/ -f /var/www/wm-miad/run/viki -s /var/run/wm-viki.socket  -u www
spawn-fcgi -F 1 -d /var/www/miad/run/ -f "/var/www/miad/run/viki /var/www/miad/config.hdf" -s /var/run/viki.socket -u www
spawn-fcgi -F 1 -d /var/www/wm-miad/run/ -f "/var/www/wm-miad/run/viki /home/wm/miad/config.hdf" -s /var/run/wm-viki.socket  -u www

远端拷贝

scp /home/wm/hb root@192.168.1.16:/home/wm/

mevent方面

/usr/local/miad/mevent/server/daemon/hb short 1001 /etc/mevent/server.hdf >> /tmp/cron_meventhb.log
cat /tmp/cron_meventhb.log 
crontab -e 
cat /tmp/cron_meventhb.log 
[root@localhost daemon]# echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern 
[root@localhost daemon]# cd /
[root@localhost /]# mkdir corefile
[root@localhost /]# chmod 777 corefile/

/usr/local/miad/mevent/server/daemon/mevent -c /etc/mevent/server.hdf



vim操作

1.显示tab制表符结尾空格

1、显示 TAB 键

文件中有 TAB 键的时候,你是看不见的。要把它显示出来:

:set list

mkdir -p $DIR_BIN$
mkdir -p /var/log/moon/${SITE_NAME}/$
mkdir -p /etc/mevent$
if ! grep '/usr/local/lib' /etc/ld.so.conf > /dev/null 2>&1$
then$
    echo "/usr/local/lib" >> /etc/ld.so.conf$
    ldconfig$
fi$
EOF$
    fi$
$
    if [ $CONFIG -eq 1 ]; then$
        echo "config file ..."$
        rsync ${DIR_CFG}/server_online.hdf root@$i:/etc/mevent/server.hdf$
^I^Irsync ${DIR_CFG}/client_online.hdf root@$i:/etc/mevent/client.hdf$    fi$
$   
    if [ $BINARY -eq 1 ]; then$
        echo "binary ..."$
        rsync -rl /usr/local/lib root@$i:/usr/local/$
        rsync ${DIR_BIN}mevent root@$i:${DIR_BIN}mevent$
        rsync ${DIR_BIN}hb root@$i:${DIR_BIN}hb$
        rsync ${DIR_BIN}../test/syscmd root@$i:${DIR_BIN}syscmd$
    fi$ 
$   
    if [ $RESTART -eq 1 ]; then$
:set list  


现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。 
这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。 
使用 ‘listchars’ 选项:

:set listchars=tab:>-,trail:-

现在,TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"。

mkdir -p $DIR_BIN
mkdir -p /var/log/moon/${SITE_NAME}/
mkdir -p /etc/mevent
if ! grep '/usr/local/lib' /etc/ld.so.conf > /dev/null 2>&1
then
    echo "/usr/local/lib" >> /etc/ld.so.conf
    ldconfig
fi
EOF
    fi

    if [ $CONFIG -eq 1 ]; then
        echo "config file ..."
        rsync ${DIR_CFG}/server_online.hdf root@$i:/etc/mevent/server.hdf
>------->-------rsync ${DIR_CFG}/client_online.hdf root@$i:/etc/mevent/client.hdf   
    fi
    
    if [ $BINARY -eq 1 ]; then
        echo "binary ..."
        rsync -rl /usr/local/lib root@$i:/usr/local/
        rsync ${DIR_BIN}mevent root@$i:${DIR_BIN}mevent
        rsync ${DIR_BIN}hb root@$i:${DIR_BIN}hb
        rsync ${DIR_BIN}../test/syscmd root@$i:${DIR_BIN}syscmd
    fi
    
:set listchars=tab:>-,trail:-   




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值