MAC通过SSH使用PEM文件登录

2016-2-4 杜世伟 Mac

1.命令如下
ssh -i key.pem 
ssh -i key.pem root@IP
如果出现报错说明这个问题是文件的权限太大了,需要给小点 

sudo chmod 600 key.pem 

然后再执行ssh -i key.pem root@IP


2.可以使用ssh-add 添加key文件

ssh-add -k key.pem  


3.正常登录堡垒机
ssh root@IP

阅读全文>>

标签: linux Mac ssh pem

评论(0) 浏览(11506)

Linux du命令查看文件夹大小并按降序排列

2016-2-3 杜世伟 Linux

1. df -lh

2. du -s /usr/* | sort -rn

这是按字节排序

3. du -sh /usr/* | sort -rn

这是按兆(M)来排序

4.选出排在前面的10个

du -s /usr/* | sort -rn | head

5.选出排在后面的10个

du -s /usr/* | sort -rn | tail
du -h –-max-depth=0 user
du -sh –-max-depth=2 | more

总结du常用命令

阅读全文>>

标签: linux du

评论(0) 浏览(14923)

linux ps 详解

2016-2-1 杜世伟 Linux

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.
注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

阅读全文>>

标签: linux ps

评论(0) 浏览(16751)

Linux程序编译问题cc1: warnings being treated as errors

2016-1-29 杜世伟 Linux

AM_CFLAGS = -Wall -g $(MATCHBOX_PANEL_CFLAGS) \
        -I$(top_srcdir) -I$(top_builddir) -Werror 

把上面的 -Werror去掉,不把warnning当作error处理

阅读全文>>

标签: linux warnings

评论(0) 浏览(4546)

10个你应该学习使用的PHP特性

2016-1-25 杜世伟 Php

本文主要总结了10个PHP特性,这些PHP特性对于PHP开发者来说都是应该学习和使用的,译文如下:

1)标量类型声明(PHP7)

PHP是一种松散类型的编程语言,因此没有提供任何指定输入参数类型和返回值类型的方法。 PHP7通过以下语法改变了这个现象:

function add(int $x, int $y) : int
{
    return $x + $y;
}

echo add(1, 2);
有效类型为:类/接口名称,self,array(数组),callable(回调类型),bool(布尔型),float(浮点型),int(整型)和string(字符串)。

2)?? — 空接合操作符(PHP7)

空接合操作符虽然小,但非常好用,是PHP7中新增加的。?? — 只要操作符的左边存在且不为空,就返回左边,否则就返回操作符的右边:

阅读全文>>

标签: PHP json_encode php7

评论(0) 浏览(11823)

mysql explain 性能优化神器

2016-1-18 杜世伟 Mysql

mysql 在 explain的帮助下,您就知道什么时候该给表添加索引,以使用索引来查找记录从而让select 运行更快。如果由于不恰当使用索引而引起一些问题的话,可以运行 analyze table来更新该表的统计信息,例如键的基数,它能帮您在优化方面做出更好的选择。


763020-20160417142105895-121211600.png

1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。

2)、select_type列常见的有:
A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个
B:primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的select_type即为primary。且只有一个
C:union:union连接的两个select查询,第一个查询是dervied派生表,除了第一个表外,第二个以后的表select_type都是union
D:dependent union:与union一样,出现在union 或union all语句中,但是这个查询要受到外部查询的影响
E:union result:包含union的结果集,在union和union all语句中,因为它不需要参与查询,所以id字段为null
F:subquery:除了from字句中包含的子查询外,其他地方出现的子查询都可能是subquery
G:dependent subquery:与dependent union类似,表示这个subquery的查询要受到外部表查询的影响
H:derived:from字句中出现的子查询,也叫做派生表,其他数据库中可能叫做内联视图或嵌套select

阅读全文>>

标签: mysq explain

评论(0) 浏览(12265)

Linux下的五种IO模型

2016-1-14 杜世伟 Linux

Linux下的五种IO模型
概念说明

用户空间与内核空间

现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。

进程切换

为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。

阅读全文>>

标签: linux select io epoll poll

评论(0) 浏览(11163)

GCC:undefined reference to ‘sqrt’

2016-1-13 杜世伟 C

undefined reference to `sqrt'
代码中是我是引入math.h类库的,提示没有找到!该问题为实际上没有链接math库,编译时需要加上 -lm 参数(链接math库)
通过执行 gcc -lm test02.c -o test02即可

阅读全文>>

标签: gcc sqrt

评论(0) 浏览(3782)

lua.c:80:31: fatal error: readline/readline.h: No such file or directory

2015-12-23 杜世伟 Lua

Centos Lua环境安装

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz

tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
#make linux test
cd src && make linux
make[1]: Entering directory `/data/lua/lua-5.3.0/src'
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: Entering directory `/data/lua/lua-5.3.0/src'
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lapi.o lapi.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lcode.o lcode.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lctype.o lctype.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldebug.o ldebug.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldo.o ldo.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldump.o ldump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lfunc.o lfunc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lgc.o lgc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o llex.o llex.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lmem.o lmem.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lobject.o lobject.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lopcodes.o lopcodes.c

阅读全文>>

标签: lua centos readline

评论(0) 浏览(18430)

七个你必须重视的 Git 使用技巧

2015-11-30 杜世伟 git

与其他技术相比,Git应该拯救了更多开发人员的饭碗。只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误。
尽管这么说,Git的命令行界面可是出了名的难掌握。接下来,就给大家介绍7个小技巧,最大限度发挥Git的作用。
通常,大部分时间我们都只会用到add、commit、branch和push/pull这些命令。大部分人熟悉这套只往一个方向运转的工作流。你们有没有想过,如果自己往仓库中添加了错误的文件,或是将代码提交到了错误的分支,而且提交信息还写错了的话,自己怎样才能取消之前的操作?如果你也是按照上面漫画中所描绘的一样操作的(即删除本地项目文件夹,再重新下载仓库),那么你就有必要了解下面这些Git使用技巧了。

1. 修改错误的提交信息(commit message)

提交信息很长时间内会一直保留在你的代码库(code base)中,所以你肯定希望通过这个信息正确地了解代码修改情况。 下面这个命令可以让你编辑最近一次的提交信息,但是你必须确保没有对当前的代码库(working copy)做修改,否则这些修改也会随之一起提交。

$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”

假如你已经将代码提交(git commit)推送(git push)到了远程分支,那么你需要通过下面的命令强制推送这次的代码提交。

阅读全文>>

标签: git push commit

评论(0) 浏览(1801)

Powered by emlog 沪ICP备2023034538号-1