- 查看TTC数据:
./ttcd_test -t ../conf/table.conf -k 30658-1 -o get -i 10.6.222.48 -p 9213
- gdb coredump
在/usr/local/c2csvc/svc下面运行:
gdb /usr/local/c2csvc/bin/cont_server /data/coredump/backup/core_cont_server
t ../../common/ContentTTC.cpp:720
要能够生成core dump文件,首先要使用ulimit解除一些文件系统使用的限制:
ulimit -S -c unlimited > /dev/null 2>&1
然后直接发送
kill -SIGABRT pid
就可以产生core dump文件。
core dump文件存在的位置由/proc/sys/kernel/core_pattern内容决定。
layout src
s
- 查看服务是否通,配置是否生效
/usr/local/c2cconfig/tools/conf_view_all a1a0 cmd
/usr/local/c2cconfig/tools/conf_view_all 9113 cmd
- 看路由信息
traceroute IP
查看IP用户名:
host -i ip
- 对网络上的数据包进行截获的包分析工具。
sudo /usr/sbin/tcpdump host 192.168.200.219
sudo /usr/sbin/tcpdump -i eth1 port 80 -n
tcpdump -i eth1
sudo /usr/sbin/tcpdump host 192.168.200.219 -w ./t2.cap
tcpdump -i eth0 -s 0 host 172.16.31.63
tcpdump [tcp] -t -s 0 -w ./blob.cap
6 strace常用来跟踪进程执行时的系统调用和所接收的信号
strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
strace cat /dev/null -p pid
跟踪指定的进程pid.
查看LINUX进程内存占用情况
top查看so文件的函数使用
objdump -tT libCavium4J.so |grep generateKey
nm -D libCavium4J.so |grep generateKey
-
9.
nslookup IP
telnet ip 80
netstat -tnlp
crontab 是用来让使用者在固定时间或固定间隔执行程序之用
crontab -l //查看当前用户下的cron任务
crontab -e //编辑当前用户的定时任务g++
g++ -DSOAP_DEBUG -g -I/data/home/caozhiqiang/workspace/jd/jdtouch_stl/gsoap -I/home/caozhiqiang/include -E -c /data/home/caozhiqiang/workspace/jd/jdtouch_stl/gsoap/stdsoap2.cpp > t.cpp
- 统计使用最多的命令
MY:history | awk '{print $2}' | sort | uniq -c | sort -nr | head -n 10
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr | nl | head -n10
14.增加新用户
1)vim /etc/sudoers sudo ALL=(ALL:ALL) ALL
2)cat /etc/group 查看sudo的group id
3)useradd -g groupid/groupname -m username -p password -s /bin/bash: useradd -g sudo -m caoz1 -p 768210as -s /bin/bash
4)passwd username
15.
pstree -alp
16.schroot
schroot -l
schroot -c squeeze64
dpkg -l | grep libc
16.linux安装Java
apt-get install openjdk-7-jdk
17.linux命令行快捷键
1.ctrl+l 清空
2.ctrl+h 删除左边一个字符
3.ctrl+d 删除右边一个字符
4.Ctrl+u 删除左边所有字符(剪切)
5.Ctrl+k 删除右边所有字符(剪切)
6.alt+d 删除右边一个单词(剪切)
7.alt+bs 删除左边一个单词(剪切)
8.Ctrl+w 删除左边一个单词(剪切)
9.Ctrl+y 粘贴
10.Ctrl+b 向左移动一个字符
11.Ctrl+f 向右移动一个字符
12.alt+b 向左移动一个单词
13.alt+f 向左移动一个单词
18.关闭终端时使程序保持执行
nohup 命令 &
19.服务器上传下载文件命令(secureCRT)
rz, sz.
- 查看硬件信息:
lshw
lspci -v
udevadm info --query=all --path=/sys/devices/pci0000\:00/0000\:00\:00.0/
ethtool primary
ip addr
ipmitool fru
lscpu
lsof
- find命令
find . -name *rb | xargs grep "request"
根据文件类型查找文件
find . -type
f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
根据文件权限查找文件
find . -perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
22 修改hostname
/etc/hostname //——- ubuntu64
/etc/hosts // ——–127.0.0.1 ubuntu64
echo ubuntu64 > /proc/sys/kernel/hostname
g++编译
-E 生成.i预处理文件
-S 生成.s汇编文件
-c 生成.o二进制文件
-o 生成可执行文件IO压力测试
time dd if=/dev/zero bs=1M count=2048 of=direct_2Ggit add ssh public key
ssh-keygen -t rsa -C "[email protected]"
cat id_rsa.pub
25.shell脚本写多行到文件
cat << EOF >> ~/.bashrc
function kubectl(){
id=\`docker ps -q -f=ancestor=10.213.42.254:10500/root/hyperkube:v1.4.5 -n=1\`
docker exec $id /kubectl \$@
}
EOF
26.免密码登录
ssh-keygen -t rsa
scp .ssh/id_rsa.pub root@10.15.137.231:~/.ssh/id_pub1
cat id_pub1 >> authorized_keys
27.centos修改时区
timedatectl set-timezone Asia/Shanghai
timedatectl list-timezones
设置日期:"timedatectl set-time YYYY-MM-DD"
设置时间:"timedatectl set-time HH:MM:SS"
28.字符串比较大小
if [[ $hyperkube_version < "v1.6" ]] ; then
cp /root/kube_package/kubectl_14 /usr/bin/kubectl
else
cp /root/kube_package/kubectl_16 /usr/bin/kubectl
fi
29.sed替换
sed -i "s/server: 10.15.140.240:11080/server:\ $master_ip:$master_port/g" /root/kubeconfig
or
ed -i 's,server: 10.15.140.240:11080,'"server:\ $master_ip:$master_port"',g' /root/kubeconfig
or
LINE=`sed -n -r '/^ server:\ ' /root/kubeconfig | head -n 1`
sed -i "${LINE}d" /root/kubeconfig
sed -i "${LINE} i server:\ $master_ip:$master_port" /root/kubeconfig
30.shell脚本for循环
遍历(For循环法):
for var in ${arr[@]};
do
echo $var
done
遍历(带数组下标):
for i in "${!arr[@]}";
do
printf "%s\t%s\n" "$i" "${arr[$i]}"
done
遍历(While循环法):
i=0
while [ $i -lt ${#array[@]} ]
do
echo ${ array[$i] }
let i++
done
删除数组元素
unset arr[$i]
分割字符串(用,)
arr=(${ret_schedule//,/ })
31.系统调用流程
1.调用库函数,将系统调用号,参数压入寄存器中
2.执行trap指令引发软中断进入内核态(执行int $0x80指令)执行系统调用处理程序.
3.内核态系统调用处理程序取出系统调用号, 从系统调用表中查找到对应的系统调用函数
4.执行并返回,库函数检查执行情况返回相应的值