日常开发工作快照(一)

1、C、C++挂载libxml.so动态库参数:`xml2-config --cflags --libs`

2、linux终端设置内核参数:sysctl -w kernel.shmmax=xxx; sysctl -w kernel.shmall=xxx;

3、sort排序:

    sort file1 > file2;

    排重排序:sort -u file1 > file2;

    提取重复留存一份:sort file1 | uniq -d > file2;

    丢弃全部重复数据:sort file1 | uniq -u > file2;

4、linux终端设置coredump:ulimit -c unlimited,(进程中务必关闭信号处理)

5、java本地化:gcj --main=含有main方法类名称 file1.java file2.java filen.java 库文件

    a、gcj -C file.java

    b、gcj -c file1.class 库.jar -o 目标文件.o

    c、gcj --main=类 -o 执行文件 目标文件.o

6、linux管理员账户密码修改:GRUB引导界面按e键选择一项,再按e键进入编辑状态后在行尾输入“/ single”,按b键引导成功后passwd root修改密码。

7、crontab编辑:crontab -e进入编辑状态,定时服务运行失败多是动态库路径加载失败导致,可在脚本中添加export LD_LIBRARY_PATH=/usr/local/lib之类语言。

8、查看进程动态库加载状态:ldd 执行文件,Not found表示库路径加载失败需要手动配置。

9、mysql提示host is not allowed to connect to this mysql server错误:对mysql进行授权操作GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

10、linux设置字符集:locale -a,在.bash_profile文件中加入export LANG=en_US

11、linux修改消息队列内核参数:

    a、/proc/sys/kernel目录下msgmax定义单个消息最大值默认8192,msgmnb定义消息队列最大保存至默认16384,msgmni定义可创建消息队列总数。

    b、echo 新值 > /proc/sys/kernel/文件名修改

    c、编辑/etc/sysctl.conf文件添加kernel.msgmax=新值;kernel.msgmnb=新值重启系统

12、g++报错undefined reference to '-Unwind Resume':编译时添加参数-WL, -Bdynamic -lgcc_s

13、linux服务器代理设置:

    a、编辑/etc/squid/squid.conf文件http_port 3128为http_port 本机地址:3128 transparent

    b、找到visible_hostname行下增加visibel_hostname 本机地址

    c、检查DNS设置/etc/resolv.conf文件nameserver DNS服务器地址

    d、service squid start启动代理服务

14、gdb调试锁定线程:set scheduler-locking off|on|step

15、添加动态库路径:

    a、打开/etc/ld.so.conf文件或在/etc/ld.so.conf.d路径下创建conf扩展文件

    b、写入动态库绝对路径如/usr/hadoop/c++/linux-i386 ...

    c、sudo /sbin/ldconfig -v

16、samba安装

    a、yum install samba

    b、useradd 用户名

    c、smbpasswd 密码或smbpasswd -a 用户名

    d、service samba start

    配置或关闭SElinux:setenforce 0

17、dmesg和addr2line定位异常:

    a、dmsg打印错误数据如GtDemo[48997] trap divide error ip:41cdf1 sp:7f0a80da4410 error:0 in GtDemo[4000000+2900]

    b、使用addr2line -e GtDemo 41cdf1打印报错文件行号

    c、使用readelf -w GtDemo打印DWARF格式数据如special opcode 146:advance Address by 10 to 0x4004fe and line by 1 to 5

18、抓取VLAN报文分析:tcpdump -i eth0 vlan and dst port 80 -w 文件名,其中vlan可以是vlan100或vlan200等参数

19、vim编辑器golang语法高亮:

    a、确认go/misc路径下存在vim路径且存在go.vim文件

    b、配置GOROOT环境变量并按照《go语言编程》第八章开发工具第三小节188页创建脚本

20、go语言编译方法:

    a、go run 文件名.go(直接运行)

    b、go build 文件名.go(生成可执行文件非main包不生成)

    c、go install 文件名.go(main包生成执行文件其余在pkg下生成静态文件)

21、gdb调试golang:

    a、go build -gcflags "-N -l "文件名.go进行编译关闭内联优化

    b、gdb 可执行文件,开始调试gdb需7.1及以上版本,list需l main.main方式调用

22、mongodb启动:/usr/local/mongodb-3.2.8/bin/mongod --storageEngine mmapv1 --logpath /usr/local/mongodb-3.2.8/db.log --fork

23、hive建表与数据导入:

    a、hive --service cli与远程hiveserver连接

    b、show databases查看数据库,show tables查看表

    c、create table 表名 (字段名 类型, ...... )row format delimited fields terminated by '\t';

    d、load data local input '/home/data.log' overwrite into table 表名;

24、myeclipse远程调试:

    a、远程服务启动附加参数-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9999

    b、参数后附加-cp 路径/工程名.jar等信息

    c、开发环境中点击debug选择debug configurations选择myeclipse externally launched server左上角new launch configuration新建远程调试配置

    d、connection properties中填入host和port连接信息

    e、在source标签中add添加java project工程勾选后开始调试

25、kafka报错Failed to send messages after 3:打开server.properties文件,找到host.name配置将localhost修改为本机地址并重启kafka服务。

26、redis乱码:./redis-cli --raw

27、mongodb数据库备份:

    a、./mongodump -h 127.0.0.1:27017 -d库名称 -o输出路径

    b、./mongorestore -好27.0.0.1:27017 -d库名称 备份路径

28、java操作mysql中文乱码:

    a、/etc/my.conf文件[mysqld]块中添加default-character-set=utf8保存重启

    b、jdbc连接附加参数?useUnicode=true&characterEncoding=utf8

    c、建库建表设置字符集为utf8,colltation选择utf8_unicode_c

29、mongodb创建索引:

    a、db.表名.ensureIndex({"字段名":1}),1代表升序,-1代表降序

    b、db.表名.ensureIndex({"字段名":1},{unique:true}),不能插入唯一索引项上已经存在的记录

    c、db.表名.ensureIndex({"字段名":1},{unique:true,dropDups:true})

    d、db.表名.dropIndex({"字段名":1})删除已经创建的索引

30、mysql本地登录中文乱码:

    a、show variables like 'character_set_%';查看字符集

    b、set character_set_results='utf8';设置字符集

上一篇:日常开发工作快照(二)


下一篇:如何让历史记录不记录敏感命令