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';设置字符集